На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Распаковка архива RAR
    Вроде всё указал правильно, но не вижу результата. Ошибки не получаю. Консольное окно распаковки закрывается, файла отчёта тоже не получаю. В чём проблема?

    ExpandedWrap disabled
      Dim lRet As Long, Pass As String, sTmp As String, FileName As String, FolderDef As String
      'E:\Temp\UnRAR.exe + test.rar
          FolderDef = "E:\Temp\"
          FileName = "UnRAR.exe"
      'параметры для UnRAR.exe
          sTmp = " e -p[" _
          & "pass" _
          & "]" & " test.rar >rep.txt" & Chr(0)
       
          lRet = ShellExecute(0, "open", FolderDef & FileName, sTmp, FolderDef & Chr(0), SW_SHOWNORMAL)
          If lRet <= 32 Then
           MsgBox "Ошибка выполнения теста!", vbCritical, NamePrg
           Exit Sub
          End If


    Добавлено
    И ещё: в пароле допускаются символы ASCII[33;122], явно вижу, что если в пароле будут символы "[", "]" то пароль возьмёт из команд. строки неверно, и далее разбор ком. строки пойдёт неверно. Как указать параметры в таком случае?
    Сообщение отредактировано: BlackSun -
      Цитата BlackSun @
      если в пароле будут символы "[", "]" то пароль возьмёт из команд. строки неверно, и далее разбор ком. строки пойдёт неверно. Как указать параметры в таком случае?

      Случайно не в кавычках? chr(34).
      Сообщение отредактировано: Mikle -
        кавычки тоже допустимы в пароле
          1) Укажи полные пути для архива и файла отчёта.
          2) Если нужно использовать перенаправление стандартного потока - запускай не "unrar.exe", а "cmd.exe" с параметром "/c unrar.exe ...".
            Укажи полный путь к test.rar и rep.txt файлам.
              Цитата BlackSun @
              И ещё: в пароле допускаются символы ASCII[33;122], явно вижу, что если в пароле будут символы "[", "]" то пароль возьмёт из команд. строки неверно, и далее разбор ком. строки пойдёт неверно. Как указать параметры в таком случае?

              Попробуй поставить backslash(\) перед скобками в теле пароля.
                Напрямую в Far написал, тоже не работает. Сменил пароль на "123". Что-то не то в формате команды, пишет неверный пароль:
                UnRAR.exe e -p[123] test.rar

                WinRAR скачал с оф. сайта, версия 5.70.

                Добавлено
                Хех, разобрался. Скобки не нужны:
                UnRAR.exe e -p123 test.rar

                Но я-то глянул помощь, а там:
                p[password] Set password

                и подумал, что скобки обозначают начало и конец пароля, а теперь сложный пароль вообще не понимает, протестил на примере 1`!@#$%^&*()-+=2. И как я понимаю, из отдельного файла с паролем пароль не может брать, например.

                Добавлено
                Цитата MIF @
                Попробуй поставить backslash(\) перед скобками в теле пароля.

                не сработало на 1\`\!\@\#\$\%\^\&\*\(\)\-\+\=2.

                Добавлено
                Цитата Mikle @
                Случайно не в кавычках?
                Сработало "1`!@#$%^&*()-+=2".
                Сообщение отредактировано: BlackSun -
                  Но в ShellExecute не работает "UnRAR.exe e -p123 test.rar >rep.txt"! А когда написал "UnRAR.exe e -p123 test.rar", заработало! ???
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0301 ]   [ 17 queries used ]   [ Generated: 20.04.24, 02:14 GMT ]