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

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

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

Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а):но они видны только в дочерних процессах.

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

AskParam[.exe] [<params>] [<command to execute>]
Дык command to execute это дочерний процесс? Вот в нем я и хочу увидеть переменную var1

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

Сообщение MVV »

Это можно.

AskParam Beta 124

При вводе очередного параметра создаёт переменную окружения вида AskParam1, AskParam2 и т.д.

Увидеть их все можно, например, так:

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

AskParam.exe /p1 /p2 /p3 cmd.exe /k set ask
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV
Спасибо, то, что надо! :)

Теперь по интерфейсу:
Изображение
1 Края иконки рваные. Причем на панели задач иконка нормально смотрится.
2 Однострочный текст в /p мне кажется сильно ограничивает пользователя. Он не сможет изложить все нужное в одну строку.
3 Ширина по умолчанию великовата и сделать окно меньше у меня не получилось.
4 Квадратные углы кнопок на любителя.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

По иконке вопросы к Microsoft, я её беру в ресурсах системы.
Квадратные кнопки, потому что я не парюсь по поводу тем оформления и пользуюсь классической темой. Можешь положить рядом с файлом файл манифеста)
Ещё никто не жаловался, что одной строки мало.
А длину увеличивал специально, т.к. текст (пути) не умещался целиком. И не думаю, что при современных разрешениях экрана это много.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а):По иконке вопросы к Microsoft, я её беру в ресурсах системы.
1 Иконка тоже взята из системы, но края не рваные.

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

GUISetIcon('user32.dll', 2 + 100)
Изображение
MVV писал(а):длину увеличивал специально, т.к. текст (пути) не умещался целиком.
2 А по такому принципу сделать сложно? Тогда и окно можно поменьше иметь, и ширину списка достаточно большую.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Иконка тоже взята из системы, но края не рваные.
Я загружал через LoadIcon с параметром IDI_QUESTION, а там нельзя задавать размер. Через LoadImage можно загрузить оба размера.
А по такому принципу сделать сложно? Тогда и окно можно поменьше иметь, и ширину списка достаточно большую.
Это не облегчит редактирование длинного пути в поле ввода.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Однострочный текст в /p мне кажется сильно ограничивает пользователя.
Присоединяюсь. Мне очень не хватает возможности писать в несколько строк. Приходится лепить сокращения, которые потом плохо читаются.
Ещё никто не жаловался, что одной строки мало.
Не жаловался потому, что не решался, не хотел настроение портить: вон, в некоторых ветках посты по полгода висят без ответа – и думай-ломай голову по существу твой вопрос или мимо, читал его автор или нет, или проигнорировал.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Допилил пробную версию.

AskParam Beta 128

Ширину окна можно задать меньше начальной с помощью /v, но не менее 256. Также добавил возможность изменять высоту окна, как мышью, так и параметром /vширина:высота. Высоту ограничил двойным размером, если мало, говорите, прибавлю ещё. С автоматической подгонкой окна под размер приглашения возиться не буду, стандартные элементы окна такой информации не предоставляют.
Теперь приглашение многострочное, автоматом переносится по словам, \n в строке приглашения заменяется на разрыв строки.
И иконку теперь гружу явно из user32.dll, оба размера, так что должна смотреться красивенько.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

MVV
Для чего нужна х64 версия? Только на случай, когда требуется обойти редирект?
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV
Спасибо за подарок под елкой!
Проверил, вроде все обещанное утилита выполняет.

Есть еще небольшая хотелка...
Сейчас утилита:
1 переданную ей строку t\"%ProgramFiles%" раскрывает и отображает переменную как c:\Program Files
2 введенную в окно ввода строку %ProgramFiles% раскрывает и передает в переменную AskParam1 как c:\Program Files

В результате, передав утилите одну строку, я получаю назад другую и сравнивать эти строки меж собой, а также с имеющимся списком строк весьма затруднительно.

Хотелось бы:
1 пусть она не раскрывает переменные из t\ в поле ввода
2 пусть она не раскрывает переменные из окна ввода при передаче их в переменную AskParam1
3 пусть она передает строку запускаемому приложению как и ранее для сохранения обратной совместимости.
Win7 SP1 Ultimate x64, TC8.52a x64
GGS
Сообщения: 322
Зарегистрирован: Сб май 02, 2009 13:00

Сообщение GGS »

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

Сообщение MVV »

Skif_off,
На тот случай, когда из 64-битного тотала запускается 64-битное приложение, чтобы не было между ними 32-битной прослойки со своим окружением, в том числе и с редиректом.

gora,
Наоборот раскрытие было сделано специально, т.к. это было нужно людям. И потом, какой смысл их сохранять?

GGS,
Я вообще там центровку не выполняю, позиция окна (а это как раз координаты верхнего левого угла) просто не меняется. Попробую добавить перемещение окна при изменении размера.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

MVV писал(а): какой смысл их сохранять?
Вообще я это описал, ну да ладно, нет, так нет.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение MVV »

Flasher,
Многострочное поле ввода? Это уже сложнее, тем более, комбобокс не поддерживает такое.

gora,
Увидел, причина понятна. Добавлю флаг для отключения раскрытия переменных окружения в тексте запроса.
gora писал(а):2 введенную в окно ввода строку %ProgramFiles% раскрывает и передает в переменную AskParam1 как c:\Program Files
Это, кстати, неверно. В переменную AskParam1 записывается в точности то, что было введено в поле. А вот при подстановке в строку параметров запускаемой программы вместо %1 или %%AskParam1%% да, раскрывает, но там раскрытие выполняется для всей строки параметров целиком, и переделка повлияет на гибкость.

AskParam Beta 134

Добавил ключ /e- для отключения раскрытия переменных при отображении в поле ввода. Но на выходе раскрытие будет всё равно. Единственный вариант получить текст целиком - читать его вручную из переменной AskParam1.
Последний раз редактировалось MVV Сб янв 03, 2015 19:43, всего редактировалось 2 раза.
Ответить