|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Экспертная система с БД MS Access
Добрый вечер все пользователям, заранее прошу прощения, если такая тема есть.
Я полный дуб и в Delphi и в Access, ни разу не работал с этими программами, но получилось так, что надо создать простенькую экспертную систему с помощью базы данных из MS Access. База данных у меня есть, она представляет собой табличку, состоящую из 3 столбцов: 1 - "Неисправность", 2 - "Причина неисправности", 3 - "Принимаемые меры". Вопрос в следующем, как в Delphi 7 организовать поиск "причины неисправности" и "принимаемой меры" через "неисправность". То есть пользователь данной экспертной системы выбирает одну из неисправностей, и у него на экране появляется причина этой неисправности и то какие меры необходимо принять. Объясните, хотя бы схематически, как это организовать? P.S. Не прошу сделать всю работу за меня, а просто хотелось бы получить пояснения. |
#2
|
||||
|
||||
Ну а что здесь понимать: если симптом - движок троит, то причина - либо пробой СЖ или КЗ, лечение - замена или свечки или катушки сбоящего цилиндра, здесь нужна просто выборка из соответствующих столбцов таблицы (или нужен фильтр?), непонятки
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
По такому скудному описанию тяжело дать совет.
В принципе, для данной ситуации, возможно, подошла бы экспертная система, основанная на правилах "ЕСЛИ-ТО". Но предложенная структура БД напрямую не годится для этого, или придется считывать БД целиком в память и уже пытаться делать это кодом на Дельфи. Опять же, если мы говорим о чем-то типа курсача (как поставлена задача - выбор неисправности и просто вывод информации по ней), то это другое дело. Тут можно просто считать список неисправностей в ComboBox или ListBox и, при выборе пользователем одной из них, просто подчитывать оставшуюся информацию и выводить ее. Доступ к БД - через ADO. Можно через DBExpress, но ADO в данном случае более нативный способ доступа. |
#4
|
|||
|
|||
|
#5
|
||||
|
||||
Я думаю, что CheckBox тут не пойдет. Потому, что можно выбрать оба режима сразу. Более уместно использовать RadioGroup.
Код:
procedure TFormMode.btnNextClick(Sender: TObject); begin case rgSelectMode.ItemIndex of 0: FormTraining.ShowModal; 1: FormExpert.ShowModal; end; end; Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. Последний раз редактировалось Kailon, 15.06.2015 в 00:29. |