|
11 / 2 / 1
Регистрация: 18.08.2012
Сообщений: 96
|
|
Консольное приложение29.01.2026, 10:24. Показов 2344. Ответов 28
Метки нет (Все метки)
Здравствуйте. Имеется программа в виде консольного приложения. Настройки программы прописаны в текстовом файле, в виде цифр в одной строке! (прикладываю файл, параметры это только первая строка). Прошу подсказать возможно ли сделать так, чтобы при запуске программы в консоли отображалось похожее меню? Примерно может как в старом коммандере, где был колонки разные. Последовательный ввод параметров можно сделать, но крайне неудобно в пользовательском плане.
Программированием почти не занимаюсь, поэтому даже не знаю как правильно называются такие вещи, прошу извинить. Если буду знать направление где искать, то дальше уже сам сделаю. Программа очень простая, формы нет и не хотелось бы ее городить. Спасибо
0
|
|
| 29.01.2026, 10:24 | |
|
Ответы с готовыми решениями:
28
Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает. Консольное приложение Консольное приложение в среде Delphi |
|
11 / 2 / 1
Регистрация: 18.08.2012
Сообщений: 96
|
|
| 30.01.2026, 10:27 [ТС] | |
|
Rayvenor, спасибо. Очень признателен! Для меня особенно важно, что Вы расписали все параметры, все условия, обработку ошибок, возможность расширения. А то делаешь сам впрямую, "по-деревянному", так что права на ошибку при использовании не будет.
0
|
|
|
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,114
|
||||||||||||
| 30.01.2026, 11:52 | ||||||||||||
|
называется в OS Windows Powershell. Powershell входит в состав Windows с 2009г (Windows 7), Верёвкину было тогда 30 лет и он вполне мог бы об этом знать, если бы не пил столько коньяка. Вот так выглядит смешное Пользовательское меню
Таким образом, пользователь может вводить то, что ему заблагорассудится, но у него перед глазами всегда торчит меню с подсказками и если он введет A и нажмет на <Enter>, исполнится функция А, если B<Enter>, то функция B итд. Если Q<Enter>, то подсказка просто примет привычный вид - меню перед глазами исчезнет. Удалятся из сессии и функции A(),B(),C(),D(),E(),Q(). Итак, назвав скрипт, показанный выше, usermenu.ps1 и определив там желаемые функции с желаемым именем, пользователь запускает его в текущей сессии вот так
PS: powershell не различает регистр операторов, служебных слов и переменных, поэтому беспокоится о том, вводить А или а или С или с не надо.
0
|
||||||||||||
|
11 / 2 / 1
Регистрация: 18.08.2012
Сообщений: 96
|
|
| 30.01.2026, 12:20 [ТС] | |
|
Приветствую. Рад, что получаю нормальные ответы, наверно не совсем ерунду спросил, т.к., повторюсь, программирую почти ничего.
Исходя и уведенного и исходя из предполагаемой возможности реализации, и сложности, хотел попросить еще разъяснить возможность следующего. Было бы неплохо, если бы при запуске консольного приложения сначала появлялся текст, содержащий список параметров. А ниже, под текстом появлялось бы приглашение ввести новые параметры. И после курсора подставлялась бы готовая строка. Нашлась даже похожая ветка с подстановкой строки в консоль послать текст в консольное приложение Это было бы идеально. Запускаешь приложение, появляется список параметров, под ним готовая строка как-бы действующих параметров, ее можно отредактировать и нажать энтер. Примерно как в файле Макет (приложен).
0
|
|
|
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,114
|
|||||||||||
| 30.01.2026, 13:02 | |||||||||||
|
Roman1,
есть несколько возможностей: 1) Ты как разработчик собственного приложения всё делаешь сам - сам у себя спрашиваешь, сам себе и и отвечаешь, но уже в качестве пользователя. 2) при запуске своего консольного из-под командной оболочки ( powershell, bash, cmd ) последняя предлагает тебе возможность передать параметры в строке запуска приложения
и использовать их по твоему усмотрению 3) То же, что и (2), но об'емные параметры ( например 10 000 значений ) есть возможность передавать программно по 'трубе' либо из оболочки, либо из любого другого консольного приложения. Добавлено через 9 минут PS: 'Труба' - программная парадигма, определяющая для консольного приложения поток для стандартного ввода, поток стандартного вывода, поток стандартного вывода ошибок. Любое консольное приложение после сборки обладает возможностью читать из стандартного ввода и писать в стандартный вывод. Синтаксически из-под ком. оболочки это может выглядеть так:
Добавлено через 3 минуты присоединение входных и выходных труб друг к другу - это задача командной оболочки. Добавлено через 3 минуты Трубопроводными возможностями обладают только консольные программы, 'окошечные' программы так 'не умеют'.
0
|
|||||||||||
|
Злостный нарушитель
10896 / 5830 / 1289
Регистрация: 12.03.2015
Сообщений: 26,900
|
|
| 30.01.2026, 13:53 | |
|
0
|
|
|
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,114
|
|
| 30.01.2026, 14:24 | |
|
наказания без вины не бывает, Шарапов.
0
|
|
|
Злостный нарушитель
10896 / 5830 / 1289
Регистрация: 12.03.2015
Сообщений: 26,900
|
|
| 30.01.2026, 15:55 | |
|
0
|
|
|
61 / 51 / 25
Регистрация: 17.12.2013
Сообщений: 258
|
|
| 26.02.2026, 05:53 | |
|
ИМХО, товарищь Володин выдал лучший ответ. Есть консольное приложение, умеет читать конфигфайл, умеет читать параметры командной строки. Для управления приложением этого достаточно. Можно наклепать батфайлов с разными параметрами. Можно прикрутить параметр командной строки с указанием конфигфайла и наклепать кучу конфигов. Вариантов масса. Гибкость чудесная. Зачем лепить текстовый редактор в консоли? Если именно это нужно - переделайте все приложение на окна. Так будет проще.
0
|
|
|
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,114
|
|
| 26.02.2026, 18:05 | |
|
0
|
|
| 26.02.2026, 18:05 | |
|
Консольное приложение
Не могу закрыть консольное приложение из Delphi Консольное приложение, описывающее ф-цию нахождения ср.арифм. отр.чисел. Исправление ошибок Можно ли создать консольное приложение и управлять им с помощью кнопок на форме? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|