Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.01.2016, 18:51
Chrumov Chrumov вне форума
Прохожий
 
Регистрация: 10.05.2013
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Нужна помощь умных людей

Доброго времени суток. Допустим есть приложение, которое считывает написанную команду и выполняет ее. Проблема в том, что команды все время пополняются и вечно лазить и переделывать проект весьма трудоемко. В связи с этим вопрос, как сделать так, чтобы я отдельно писал команду не переделывая основную? Объясню подробнее (точнее так как я могу это сделать). Есть основное приложение , которое принимает команду и сравнивает ее с командами записанными в файле, т.е. допустим я ввел "выключить комаьютер", она ищет в текстовом файле эту строку и открывает вторичное приложение, которое уже выключает компьютер. Т.е. для каждой команды отдельное приложение и при добавлении команд надо будет только менять этот текстовый (или ini) файл. Есть ли другие пути все это сделать?
Работаю в Delphi 7.

Последний раз редактировалось Chrumov, 10.01.2016 в 18:55.
Ответить с цитированием
  #2  
Старый 10.01.2016, 19:01
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

ну по аналогии с Панелью Управления Windows сделать можно. в каталоге с программой есть библиотеки dll с расширением к примеру .cpl. программа сканирует все (файлы) библиотеки с этим расширением и вызывает из каждой из них функцию GetCommandName, которая возвращает имя исполняемой команды этой библиотекой. экспортируемая функция GetCommandName у всех библиотек имеет одинаковый тип WideString. программа запоминает соответствие имени библиотеки с командой. при выполнении команды программа будет знать из какой библиотеки вызывать функцию ExecuteCommand. как с быть параметрами мне лень дальше писать можно предусмотреть вариант заставить программу пересканировать список библиотек в случае добвления новой команды и соответственно новой библиотеки.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 10.01.2016, 19:09
Chrumov Chrumov вне форума
Прохожий
 
Регистрация: 10.05.2013
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

А не будут ли при этом долго обрабатываться команды? Важно чтоб программа не тупила над обработкой запроса, ибо в далее планирую писать команды голосом.
Ответить с цитированием
  #4  
Старый 10.01.2016, 19:10
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

от программиста зависит
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 10.01.2016, 19:17
Chrumov Chrumov вне форума
Прохожий
 
Регистрация: 10.05.2013
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Это верно. Спасибо, буду пробовать)
Буду рад если объясните мне как работать с Dll, ибо вообще не знаком с ними.

Последний раз редактировалось Chrumov, 10.01.2016 в 19:22.
Ответить с цитированием
  #6  
Старый 10.01.2016, 19:39
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

а какого рода команды будут? может все их возможно выполнить через rundll32.exe или IScriptControl...
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 10.01.2016, 20:41
Chrumov Chrumov вне форума
Прохожий
 
Регистрация: 10.05.2013
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Разные, от найди в гугле или включи аудиозапись, до включи свет в комнате (посредством usb реле).
Ответить с цитированием
  #8  
Старый 10.01.2016, 21:21
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

В принципе IScriptControl с этим справится.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Chrumov (10.01.2016)
  #9  
Старый 10.01.2016, 21:36
Chrumov Chrumov вне форума
Прохожий
 
Регистрация: 10.05.2013
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Вот, думаю то что надо, буду пробовать. Спасибо)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter