View previous topic :: View next topic |
Author |
Message |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jul 08, 2015 19:44 Post subject: |
|
|
Дык у тебя же /q"^" всё портит.
Сначала ^ у тебя заменяются на ", а потом, естественно, "n не заменяются на разрывы строк. Если тебе /q не нужен, лучше вообще его не указывать. Приоритеты менять местами смысла не вижу (кавычки по-моему важнее), лучше поменять символ кавычки в окне справки на `. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
gora

Joined: 30 Dec 2004 Posts: 442 Location: Иваново
|
(Separately) Posted: Wed Jul 08, 2015 19:57 Post subject: |
|
|
MVV wrote: | Дык у тебя же /q"^" всё портит. |
Но в 134 не портит!
Ладно, потестить я потестил, "прокукарекал, а там хоть не рассветай".
Меня и 134 устраивает.  _________________ Win7 SP1 Ultimate x64, TC8.52a x64 |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
gora

Joined: 30 Dec 2004 Posts: 442 Location: Иваново
|
(Separately) Posted: Wed Jul 08, 2015 23:07 Post subject: |
|
|
MVV wrote: | Дык там же было \n |
Я все понял...
Но принцип обратной совместимости "не позволяет" делать в новой версии такие изменения, которые приводят к неработоспособности скрипта\программы вполне себе нормально работающего с предыдущей версией утилиты.
В любом случае о таких изменениях (если они были жизненно необходимы) нужно жирно писать в самом начале анонса новой версии.
ИМХО _________________ Win7 SP1 Ultimate x64, TC8.52a x64 |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
yozhik

Joined: 04 May 2014 Posts: 256 Location: Электросталь
|
(Separately) Posted: Wed Aug 12, 2015 18:05 Post subject: |
|
|
Справка по параметрам в первом посте старовата, много чего добавилось с тех пор (причём, имхо, существенного). Я сделал себе памятку по текущей версии. Труд ни на что не претендует, но, поскольку выполнен, пусть криво-косо, то может пригодиться кому-либо, пока не появится что-либо посерьёзней.
 Памятка по параметрам AskParam 1.0.6.146
AskParam
Текущая версия: 1.0.6.146 beta
Позволяет запрашивать параметры командной строки запускаемого приложения в графическом диалоговом окне и вставлять введенные строки в параметры в любом порядке и количестве. При запросе каждого параметра можно указать текст заголовка окна, сообщение и набор строк выпадающего списка значений. Переменные окружения в предлагаемых значениях раскрываются автоматически перед отображением запроса ввода параметра.
Переменные окружения раскрываются: перед отображением предлагаемого текста, в пути к запускаемой программе, в строке параметров, передаваемых этой программе, а также в заголовке окна и подсказках.
Параметры командной строки:
ФОРМИРОВАНИЕ ДИАЛОГА:
/c"Title" - заголовок окна (по умолчанию AskParam)
/c(1) - надпись на первой кнопке (по умолчанию OK)
/c(2) - надпись на второй кнопке (по умолчанию Cancel)
/t"String" - указание строк для выпадающего списка значений (может быть несколько)
/u"Selected" - то же, что и /t, только эта строка будет отображена (выделена) при открытии страницы диалога (может быть только одна)
/p"Prompt:" - надпись над выпадающим списком (т.н. «текст приглашения»). Может быть многострочным (см. параметры ^n и /v[n1][:n2]). Обозначает окончание описания каждой секции (страницы) диалога, т.е. параметры /c /t /u, относящиеся к данной секции, должны предшествовать параметру /p.
/p(h) - указывает, что текст от левого края до двоеточия в строке /t или /u будет рассматриваться как комментарий. Например, /t"Первый параметр: -val1" - в командную строку передаётся только -val1, остальное отсекается как комментарий.
/p(e) - указывает, что текст от левого края до двоеточия в строке /p будет рассматриваться как имя переменной, в которую будет помещено выбранное значение из строк /t или /u. Например, /t"-val1" /p(e)"var1: Выберите значение:" - значение -val1 будет помещено в переменную var1. По умолчанию все выбранные значения помещаются в переменные AskParam1, AskParam2 и т.д. по номеру секции (страницы) диалога.
/p(he) - параметры в /p можно комбинировать.
ОПЦИИ:
/a[-] - включает/выключает режим «Поверх всех окон» (по умолчанию выключен)
/e[-] - включает/выключает раскрытие переменных в строке ввода (по умолчанию включено)
/r[-] - включает/выключает очистку выпадающего списка после ввода очередного параметра (по умолчанию включена)
/r! - сброс выпадающего списка
/rd - стиль выпадающего списка: редактируемый (по умолчанию)
/rl - стиль выпадающего списка: нередактируемый
/h[-] - включает/выключает режим ввода пароля (звездочки). Пароль прописывается в строке /t. По умолчанию выключен.
/q"^" - задает символ, который будет заменён на двойную кавычку внутри строк /c, /t и /p.
/s{0-8} - задает режим запуска процесса (0 - скрытый, 1 - нормальный, 2 - свернутый, 3 - развернутый и т.д.)
/w - включает ожидание завершения процесса выполнения командной строки
/v[n1][:n2] - устанавливает ширину/высоту окна. n1 - ширина, n2 - высота. По умолчанию: ширина - 436, высота - 137 (на Windows 8.1). Минимальная ширина - 256.
МАКРОС:
^n - устанавливает перевод строки (Внимание! проверять на совместимость с символом, указанным в ключе /q)
Если в значениях параметров нет пробелов, то кавычки можно опускать. Например, /cTitle.
Параметры /c, /t, /u, /p, /r, /h, /q можно использовать любое число раз для запроса любого числа параметров. После параметров указывается строка для выполнения, в которой можно использовать переменные %1, %2 и т.д. для вставки текста, введенного пользователем в ответ на запрос соответствующего параметра. Максимальное число цифр номера параметра - 3. Если сразу после параметра нужно указать цифру, которую нужно передать запускаемому приложению, номер параметра нужно указывать трехзначным, добавив нулей слева, т.е. %001 вместо %1 (таким образом, если указать %0012, это будет означать вставку текста первого запрошенного параметра и цифры 2). Также можно использовать системные переменные окружения. Для вставки символа % нужно удвоить его.
При создании кнопок для панели инструментов TC необходимо учитывать: 1) для вставки в строку параметров символа % нужно его удвоить; 2) для передачи символа % запускаемому приложению нужно написать его 4 раза (TC передаст половину символов %, а потом AskParam еще в 2 раза сократит их число при анализе строки).
Пример использования (кнопка для выключения компьютера через заданный интервал времени):
Команда: AskParam.exe
Параметры: /c"Выключение компьютера по таймеру" /t"Через 10 минут: 600" /u"Через час: 3600" /t"Через 2 часа: 7200" /c(1)"Быть" /c(2)"Не быть" /p(h)"Выключить компьютер через:" shutdown -s -t %%1
История изменений:
2015-07-08 1.0.6.146
* макрос перевода строки \n заменён на ^n (циркумфлекс + латинская n) из соображений совместимости
2015-07-02 1.0.6.144
+ /p(e)"var: text" - задаёт имя переменной, в которую помещается выбранное значение; работает по аналогии с /p(h)
+ /p(he) - параметры в /p можно комбинировать. Например: AskParam /t"Моя любимая опция: Option1" /p(he)"my_opt: any Option" ...
2015-01-03 1.0.6.134
+ ширину окна можно задать меньше начальной с помощью /v, но не менее 256
+ изменяемая высота окна. Указывается в параметре /v после двоеочия (/vширина:высота). Высота ограничена двойным размером.
+ \n в строке приглашения заменяется на перевод строки
+ улучшено отображение иконки (теперь загружается явно из user32.dll)
+ ключ /e- отключает раскрытие переменных при отображении в поле ввода. На выходе переменные всё равно раскрываются.
2014-12-21 1.0.6.124
+ каждый параметр создаёт переменную вида AskParam1, AskParam2 и т.д., куда помещаются выбранные значения
2014-12-01 1.0.6.120
+ ключ /a управляет режимом поверх всех окон
* не все элементы окна изменяли размер
2014-05-03 1.0.6.112
+ добавлена 64-битная версия
+ изменяемая ширина окна
+ начальная ширина окна задается ключом /v
2013-11-11 1.0.4.98
+ подопция (h) для параметра /p позволяет указывать подсказки к вариантам ответа
+ параметры /rd, /rl для переключения между редактируемым и нередактируемым списком (содержимое не переносится)
+ подопции (1) и (2) для параметра /c для изменения текста кнопок
* слегка увеличена ширина окна
2013-03-08 1.0.3.86
+ параметр /r! для прямой очистки выпадающего списка
* горизонтальная прокрутка для выпадающего списка
* длина строки параметров увеличена до 32767 символов
2013-02-18 1.0.3.80
+ параметр /s{0-8} для запуска в свернутом, развернутом или скрытом виде
+ поле ввода заменено выпадающим списком
+ можно задавать несколько строк списка с помощью нескольких параметров /t
+ параметр /u работает как /t, но делает свою строку текущей
+ параметр /r- отключает очистку выпадающего списка после ввода каждого параметра
2012-04-12 1.0.2.61
+ параметр /h[-] для режима ввода паролей
2011-07-14 1.0.1.50
+ параметр /w для ожидания завершения процесса
2010-04-02 1.0.0.44
+ полная поддержка переменных окружения (например, %COMMANDER_PATH%)
2010-03-30 1.0.0.30
+ Юникод-версия
|
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Tue Jan 05, 2016 03:28 Post subject: |
|
|
MVV
А можно пример для
net use Z: https://webdav.ru <password> /user:<login> /persistent:yes
то есть, чтобы можно было ввести:
Букву
Адрес
Логин
Пароль |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Tue Jan 05, 2016 12:08 Post subject: |
|
|
Можно, но в нём нет абсолютно ничего выдающегося:
Code: | AskParam.exe /tZ /p"Буква:" /t"https://webdav.ru" /p"Адрес:" /p"Логин:" /h /p"Пароль:" net use %1: "%2" "%4" /user:%3 /persistent:yes |
При желании можно и для /persistent добавить комбобокс с выбором. Это можно сделать несколькими способами, выбрал более интересный:
Code: | AskParam.exe /tZ /p"Буква:" /t"https://webdav.ru" /p"Адрес:" /p"Логин:" /h /p"Пароль:" /rl /t"Да: /persistent:yes" /t"Нет: /persistent:no" /p(h)"Постоянное подключение?" net use %1: "%2" "%4" /user:%3 %5 |
Если это будет с кнопки в тотале, то либо всю строку надо загнать в поле команды, либо удвоить символы % в той её части, что будет вынесена в поле параметров. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 05, 2016 12:46 Post subject: |
|
|
Только весь список дисков как в cm_NetConnect не добавить (максимум - 10):
Code: | /c" Подключение сетевого диска" /rl /tZ: /tY: /tX: /tY: /tW: /tV: /tU: /tT: /tS: /tR: /tQ: /tP: /tO: /tN: /tM: /tL: /tK: /tJ: /tI: /tH: /tG: /tF: /tE: /tD: /pДиск: /rd /thttps://webdav.ru /pURL-адрес: /pЛогин: /h /pПароль: net use %1 %2 %4 /user:%3 /persistent:yes |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Tue Jan 05, 2016 14:21; edited 3 times in total |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 05, 2016 13:20 Post subject: |
|
|
Но даже свободных окажется, увы, больше.
А что даст перечисление? Как с ним работать? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 05, 2016 14:24 Post subject: |
|
|
Тьфу ты, я на ползунок-то не смотрю. Поправил.
MVV wrote: | Перечисление в режиме списка не даст выбрать занятую букву | Каким образом? Я только так смог:
Code: | '=============== Путь к AskParam ===============
AskParam = "%COMMANDER_PATH%\Utils\AskParam.exe"
'===============================================
S = " /tZ: /tY: /tX: /tY: /tW: /tV: /tU: /tT: /tS: /tR: /tQ: " & _
"/tP: /tO: /tN: /tM: /tL: /tK: /tJ: /tI: /tH: /tG: /tF: /tE: /tD:"
For Each D in CreateObject("Scripting.FileSystemObject").Drives
S = Replace(S, " /t" & D, "")
Next : CreateObject("WScript.Shell").Exec AskParam & " /v290 /s0 /c"" " &_
"Подключить сетевой диск"" /c(1)Принять /c(2)Отменить /rl" & S & " /pДиск: /rd /thttps:"&_
"//webdav.ru /pURL-адрес: /pЛогин: /h /pПароль: net use %1 %2 %4 /user:%3 /persistent:yes" |
И что-то я про режимы не понял. И там и там можно выбирать стрелками? Напиши примеры лучше. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Wed Jan 06, 2016 01:10 Post subject: |
|
|
Quote: | Каким образом? Я только так смог: |
Ну вроде мысль верна, я и подразумевал то, что ты можешь заранее зафиксировать набор, из которого можно сделать выбор, и запретить ввод иного значения. А каким алгоритмом формировать комстроку - уже дело десятое.
Quote: | И что-то я про режимы не понял. И там и там можно выбирать стрелками? Напиши примеры лучше. |
В стандартном комбобоксе можно стрелками перебирать значения выпадающего списка без его открытия (как в тоталовском диалоге по F7, например) независимо от режима (фиксированный список/редактируемый список). Собственно, независимо от того, поставишь ты /rl или /rd перед /pДиск:, ты сможешь набитые с помощью /t значения перебирать стрелками. А в случае /rl ещё сможешь, например, нажатием клавиши Y выбрать строку Y:. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|