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

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

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

Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Выложил новую версию. Теперь можно изменять текст кнопок (хоть для каждого параметра), запрещать редактирование выпадающего списка и показывать подсказки для пунктов.

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

AskParam.exe /c"Выключение компьютера по таймеру" /t"Через 10 минут: 600" /u"Через час: 3600" /t"Через 2 часа: 7200" /c(1)"Быть" /c(2)"Не быть" /p(h)"Выключить компьютер через:" shutdown -s -t %%1
AskParam 1.0.4.98:
+ подопция (h) для параметра /p позволяет указывать подсказки к вариантам ответа
+ параметры /rd, /rl для переключения между редактируемым и нередактируемым списком (содержимое не переносится)
+ подопции (1) и (2) для параметра /c для изменения текста кнопок
* слегка увеличена ширина окна
wOxxOm
Сообщения: 30
Зарегистрирован: Вс фев 12, 2006 22:10

Сообщение wOxxOm »

Очень удобной фишкой был бы опциональный вывод всех параметров в одном окне (друг под другом) с переключением между элементами по Tab/Shift-Tab или даже с &-акселераторами.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Акселераторы работают автоматически, если в заголовках есть символ &. Но организация "всё в одном" совершенно не вписывается в текущую концепцию.
wOxxOm
Сообщения: 30
Зарегистрирован: Вс фев 12, 2006 22:10

Сообщение wOxxOm »

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

Сообщение MVV »

Сдвигать все элементы окна динамически в коде ещё менее удобно...
wOxxOm
Сообщения: 30
Зарегистрирован: Вс фев 12, 2006 22:10

Сообщение wOxxOm »

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

Сообщение MVV »

Да, надоело мне для каждого своего окна вручную этот код писать, что тут поделаешь. Как-нибудь напишу и для этого.


Добавлено в 23:30:

Добавил параметр /v для установки ширины, также ширину можно менять мышью.

Beta 108
wOxxOm
Сообщения: 30
Зарегистрирован: Вс фев 12, 2006 22:10

Сообщение wOxxOm »

Я туплю или таки нет возможности вернуться к предыдущему окошку в случае нескольких параметров?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

AskParam 1.0.6.112:
+ добавлена 64-битная версия
+ изменяемая ширина окна
+ начальная ширина окна задается ключом /v


Skif_off,
Спасибо, что написал мне про умершую ссылку, я и забыл, что так и не выложил финальную версию.


wOxxOm,
Такой возможности нет.
MishaEmS
Сообщения: 1
Зарегистрирован: Чт июн 26, 2014 09:50

Сообщение MishaEmS »

MVV
Подскажите, а можно ли сделать окно утилиты "поверх всех окон"?
Спасибо!
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Пока нельзя. Записал себе в todo, будет время, добавлю.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\AskParam.exe /c"Не работает" /p"Все равно" %ComSpec% /K for /f "delims=" %%# in
('type %WF) do findstr %%1 "%%%%#"

Что тут не так? Пишет, не удается найти файл ...tmp
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Тут сразу много что не так. У меня заработало такое:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Addons\AskParam\AskParam.exe /c"Не работает" /p"Все равно" %ComSpec%
/k "for /f "usebackq delims=" %%%%# in (`type "%WF"`) do findstr "%%1" "%%%%#""
cmd.exe



-1
Поясняю: usebackq включает режим обработки команд в косых кавычках, сами кавычки в скобках обязаны быть именно косыми ``, и их должно быть две. Плюс, саму команду после /k лучше в двойные кавычки заключить. Ну и все имена файлов лучше тоже в кавычки заключать. Наконец, число % не везде было правильным.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Заработало? "Не удается найти указанный файл"
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А у меня работает.
C:\Windows>findstr "Driver" "msdfmap.ini"

C:\Windows>findstr "Driver" "ODBC.INI"
┴рчр фрээ√ї MS Access=Microsoft Access Driver (*.mdb) (32 bit)
╘рщы√ Excel=Microsoft Excel Driver (*.xls) (32 bit)
╘рщы√ dBASE=Microsoft dBase Driver (*.dbf) (32 bit)
Driver32=C:\Windows\system32\odbcjt32.dll
Driver32=C:\Windows\system32\odbcjt32.dll
Driver32=C:\Windows\system32\odbcjt32.dll

C:\Windows>findstr "Driver" "Sandboxie.ini"

C:\Windows>findstr "Driver" "system.ini"

C:\Windows>
Но иногда почему-то появляется про файл.
А, ну конечно, ты же не указал для AskParam ключ /w, и получилась гонка: кто первый, тотал увидит, что AskParam закрылась, и удалит файл-список, или cmd.exe успеет его прочитать?
Укажи /w перед /c, самым первым параметром AskParam.
Ответить