AskParam - диалог запроса параметров командной строки

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Многострочное поле ввода?
Да.

А что касается нераскрытия, то в чём проблема? Есть же учетверённый знак процента, описанный в первом посте.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher,
Ещё не понял, что значит "добавить число строк". Ограничение на число вводимых строк?
А что касается нераскрытия, то в чём проблема? Есть же учетверённый знак процента, описанный в первом посте.
Саму переменную надо раскрыть, а переменные внутри неё - не надо. Если пишешь %%AskParam1%%, получаешь C:\Program Files, если пишешь %%%%AskParam1%%%%, получаешь %%C:\Program Files%%, а надо получить %ProgramFiles%.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):Ограничение на число вводимых строк?
Не вводимых, а отображаемых (сомкнутых полей ввода, если так можно выразиться).
MVV писал(а):Саму переменную надо раскрыть
Разве?

И как можно ещё понять описанное?
MVV писал(а):А если этот символ % нужно передать запускаемому приложению, то нужно написать его 4 раза (тотал передаст половину символов %, а потом AskPAram еще в 2 раза сократит их число при анализе строки).
Последний раз редактировалось Flasher Сб янв 03, 2015 19:56, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а):Добавил ключ /e- для отключения раскрытия переменных при отображении в поле ввода
Не получается, переменные, при просмотре в поле ввода, раскрыты.
MVV писал(а):получить текст целиком - читать его вручную из переменной AskParam1
Скриптом переменная AskParam1 читается нормально, спасибо.

Окно справки стало очень широким.
Иконка от окна справки на панели задач, видимо, подставляется системой, а не из утилиты.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Разве?
Если ты о переменной AskParam1, то да.
Но я посмотрел сейчас ещё раз, действительно, %%AskParam1%% (или учетверённый вариант, если с кнопки) передаёт введённый текст без искажения (мне показалось, что переменные раскрываются рекурсивно).
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):мне показалось, что переменные раскрываются рекурсивно
Нет, конечно. Это уже сто лет в обед как известно. :wink:
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Может, кому-то и известно, но в описании функции ExpandEnvironmentStrings не сказано, как она обрабатывает переменные внутри переменных.
gora писал(а):Не получается, переменные, при просмотре в поле ввода, раскрыты.
Ты точно /e- указываешь до соответствующего /t?

Код: Выделить всё

... /e- /t"%ProgramFiles%" /e ...
gora писал(а):Скриптом переменная AskParam1 читается нормально, спасибо.
Это радует.
gora писал(а):Окно справки стало очень широким.
Иконка от окна справки на панели задач, видимо, подставляется системой, а не из утилиты.
За ширину я не отвечаю, это обычный MessageBox. И потом, у меня оно совсем не широкое, текст автоматически переносится по словам. А иконка берётся из ресурсов, её там просто нет, и не вижу в ней смысла.
Последний раз редактировалось MVV Сб янв 03, 2015 20:31, всего редактировалось 2 раза.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а):точно /e- указываешь до соответствующего /t?
Про это не было сказано, но попробовал и так, все равно раскрываются.

Код: Выделить всё

AskParam.exe /c"Запуск с параметрами (в окне консоли)" /c(1)Запустить /c(2)Отмена /q"^" /e- /t"%ProgramFiles%\IEPro" /t"%ProgramFiles%" /t"-InstallPath=^C:\Program Files\\IEPro^" /t"-InstallPath=^%ProgramFiles%\IEPro^" /t"/?" /t"/help" /t" " /t"-force -guiless" /t"-force -auto" /e /w /v350:163 /p"Имя файла:   AskParam.exe\n\nПараметры запуска:" C:\Users\gora\AppData\Local\Temp\_tmp\WriteLine.vbs
MVV писал(а):За ширину я не отвечаю, это обычный MessageBox
Но ведь переводы строки добавить в строку примера в справке Вы же можете, вот она и не будет в пол экрана окно разворачивать. ;)
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Про это не было сказано, но попробовал и так, все равно раскрываются.
А из какой среды выполняешь команду? А то когда я запускаю это из комстроки тотала или из консоли, AskParam получает уже раскрытую переменную, и закрыть её обратно при всём желании не в состоянии. :D
gora писал(а):Но ведь переводы строки добавить в строку примера в справке Вы же можете, вот она и не будет в пол экрана окно разворачивать. ;)
Не могу назвать это окно слишком широким. Пробелов в строке куча, система прекрасно справляется с переносом строк, Windows 7 делает такие окна заметно уже, чем Windows XP. Что же у тебя за система такая, если окно широкое?
И потом, может быть непонятно, что это одна строка. Мне очень неприятно смотреть на разрывы строк там, где их не должно быть, где ширина окна позволяет другую ширину текстовой строки, да и при копировании по Ctrl+C будут ненужные разрывы строк.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а):А из какой среды выполняешь команду?
Запускаю из VBS скрипта. Там переменные не открыты.
Строка кода в предыдущем посте взята из окна WSS.Popup запущенного из этого vbs скрипта и как видно переменные там не раскрыты.
MVV писал(а):Windows 7 делает такие окна куда уже
У меня win7
https://dl.dropboxusercontent.com/u/351 ... arhelp.png
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Попробуй выполнить из консоли или комстроки тотала:

Код: Выделить всё

AskParam.exe /t"%program""files%" /p /e- /t"%program""files%" /p cmd /k set ask
Лишние кавычки не дадут консоли/тоталу раскрыть переменные, но не помешают AskParam. В первом запросе у меня в поле отображается C:\Program Files (x86), а во втором, когда режим раскрытия отключён - %programfiles%. И на выходе всё чётко.
gora писал(а):У меня win7
https://dl.dropboxusercontent.com/u/351 ... arhelp.png
Забавно, интересно теперь, как система выбирает ширину окна. :D
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV писал(а):И иконку теперь гружу явно из user32.dll, оба размера, так что должна смотреться красивенько.
Смотрится ужасно, т.к. масштабируется из-за несоответствия формата. Советую поставить 125 в Single Icon из msctf.dll.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Flasher,
Иконки из user32.dll содержат размеры на любой вкус, так что не вижу смысла использовать нестандартную библиотеку. И потом, это где она у тебя масштабируется? Стандартные размеры иконок - 16х16 маленькие (заголовок окна и традиционные панели задач) и 32х32 большие (новомодные панели задач).
Советую поставить 125 в Single Icon из msctf.dll.
Вообще не вижу иконки с номером 125 в этой библиотеке. Их там всего штук 30. А папка Single Icon - это лишь сваленные в кучу отдельные части всех иконок, и по этим номерам никто к ним не обращается. Реальный номер твоей иконки - 13, а идентификатор ресурса - 400. Но чётче она выглядеть не станет, т.к. содержит те же размеры (даже меньше).
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а):Попробуй
Попробовал,результаты подтверждаю, но я не совсем понял к чему это!? Это предлагается как решение проблемы?
Мне такой вариант не подходит. У меня параметры /t формируются динамически из ini файла в котором могут быть строки как с переменными окружения, так и локальными переменными существующими в определенных программах. Там могут быть %1, %%T и т.п. ini файл тоже динамически меняется, а не заранее сформированный. Как предполагается различать все виды переменных и как расставлять эти спасительные кавычки? Скриптом? Нет, это не потяну.

Добавлено спустя 4 минуты:
MVV писал(а):Лишние кавычки не дадут консоли/тоталу раскрыть переменные,
У меня нет ни консоли, ни ТС, у меня vbs скрипт и в нем переменные не раскрываются.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

MVV
Ты ошибаешься. Размеры не меньше. В твоём варианте иконка, в Single Icon идущая под номерами 289-297, 2078-2081 (№ 24 идент. 0023), имеет всего 3 размера, а та, что я указал - 1496-1504 (№ 324 идент. 0210) имеет 4, включая эти 3.
Также есть подозрение, что твоя иконка берётся из 8-битного набора, а не 32-х. У предлагаемой мной в наличии только 32-х, поэтому больше шансов на более красивое исполнение. Ты покажи, что получится, а мы оценим.
Последний раз редактировалось Flasher Вс янв 04, 2015 01:26, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить