|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Нужна помощь умных людей
Доброго времени суток. Допустим есть приложение, которое считывает написанную команду и выполняет ее. Проблема в том, что команды все время пополняются и вечно лазить и переделывать проект весьма трудоемко. В связи с этим вопрос, как сделать так, чтобы я отдельно писал команду не переделывая основную? Объясню подробнее (точнее так как я могу это сделать). Есть основное приложение , которое принимает команду и сравнивает ее с командами записанными в файле, т.е. допустим я ввел "выключить комаьютер", она ищет в текстовом файле эту строку и открывает вторичное приложение, которое уже выключает компьютер. Т.е. для каждой команды отдельное приложение и при добавлении команд надо будет только менять этот текстовый (или ini) файл. Есть ли другие пути все это сделать?
Работаю в Delphi 7. Последний раз редактировалось Chrumov, 10.01.2016 в 18:55. |
#2
|
||||
|
||||
ну по аналогии с Панелью Управления Windows сделать можно. в каталоге с программой есть библиотеки dll с расширением к примеру .cpl. программа сканирует все (файлы) библиотеки с этим расширением и вызывает из каждой из них функцию GetCommandName, которая возвращает имя исполняемой команды этой библиотекой. экспортируемая функция GetCommandName у всех библиотек имеет одинаковый тип WideString. программа запоминает соответствие имени библиотеки с командой. при выполнении команды программа будет знать из какой библиотеки вызывать функцию ExecuteCommand. как с быть параметрами мне лень дальше писать можно предусмотреть вариант заставить программу пересканировать список библиотек в случае добвления новой команды и соответственно новой библиотеки.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
А не будут ли при этом долго обрабатываться команды? Важно чтоб программа не тупила над обработкой запроса, ибо в далее планирую писать команды голосом.
|
#4
|
||||
|
||||
от программиста зависит
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Это верно. Спасибо, буду пробовать)
Буду рад если объясните мне как работать с Dll, ибо вообще не знаком с ними. Последний раз редактировалось Chrumov, 10.01.2016 в 19:22. |
#6
|
||||
|
||||
а какого рода команды будут? может все их возможно выполнить через rundll32.exe или IScriptControl...
Пишу программы за еду. __________________ |
#7
|
|||
|
|||
Разные, от найди в гугле или включи аудиозапись, до включи свет в комнате (посредством usb реле).
|
#8
|
||||
|
||||
В принципе IScriptControl с этим справится.
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Chrumov (10.01.2016)
|
#9
|
|||
|
|||
Вот, думаю то что надо, буду пробовать. Спасибо)
|