|
|
|
Aleksfoss |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.7.2015 Репутация: нет Всего: нет |
Привет всем, кто нибудь может подсказать где в программе база знаний, база данных и база правил? Буду очень признателен)
Database - framedb type(INTEGER,STRING,SLIST) classroom(STRING,INTEGER,ILIST) ntype(INTEGER) predicates getname(SLIST) checkanswer(INTEGER,SLIST) getvalue(SLIST,ILIST) allparam(SLIST,ILIST,STRING,STRING) nondeterm init task_win_eh : EHANDLER clauses getname([NAME|L]):- NAME=dlg_GetStr("Имя параметра","Параметры имени:",""), NAME<>"", P=dlg_Ask("Хотите продолжить ввод имени параметра?",["Да","Нет" ]), checkanswer(P,L). checkanswer(0,L):-getname(L). checkanswer(1,[]). getvalue([],[]). getvalue([NAME|L1],[VALUE|L2]):- concat(NAME,": ",STR), VALUESTR=dlg_GetStr("Значения параметров",STR,""), str_int(VALUESTR,VALUE), VALUE>=0, getvalue(L1,L2). allparam([],[],S,S). allparam([NAME|L1],[VALUE|L2],STR,S):- format(STRVALUE,"%",VALUE), concat(STR,NAME,STR2), concat(STR2,": ",STR3), concat(STR3,STRVALUE,STR4), concat(STR4,"\n",STR5), allparam(L1,L2,STR5,S). init:-ntype(_). init:-asserta(ntype(0)). %BEGIN Task Window, e_Create task_win_eh(_Win,e_Create(_),0):-!, consult("frame.dba",framedb), init, %BEGIN addclass, e_Create dlg_addclass_eh(_Win,e_Create(_CreationData),0):-!, H=win_GetCtlHandle(_Win,typelist), retract(type(NTYPE,TYPE1,PLIST)), assertz(type(NTYPE,TYPE1,PLIST)), type(_,TYPE2,_), lbox_add(H,TYPE2), TYPE1=TYPE2, lbox_SetSel(H,0,b_true), !. %END addclass, e_Create %BEGIN addclass, setvalue _CtlInfo dlg_addclass_eh(_Win,e_Control(setvalue,_CtrlType, _CtrlWin,_CtlInfo),0):-!, H=win_GetCtlHandle(_Win,nameclass), NAMECLASS=win_GetText(H), NAMECLASS<>"", not(classroom(NAMECLASS,_,_)), LH=win_GetCtlHandle(_Win,typelist), lbox_GetSel(LH,S,_), S=[TYPE|_], type(NTYPE,TYPE,LPROP), getvalue(LPROP,LVALUE), asserta(classroom(NAMECLASS,NTYPE,LVALUE)), win_Destroy(_Win), dlg_note("Дом добавлен"), !. dlg_addclass_eh(_Win,e_Control(setvalue,_CtrlType, _CtrlWin,_CtlInfo),0):-!, dlg_error("Дом не добавлен"). %END addclass, setvalue _CtlInfo %BEGIN ADDTYPE, setparam _CtlInfo dlg_addtype_eh(_Win,e_Control(setparam,_CtrlType,_ CtrlWin,_CtlInfo),0):-!, H1=win_GetCtlHandle(_win,typename), TYPE=win_GetText(H1),TYPE<>"",not(type(_,TYPE,_)), getname(L), retract(ntype(N)), N2=N+1, asserta(ntype(N2)), asserta(type(N2,TYPE,L)), win_Destroy(_win), dlg_note("Новый тип был добавлен."), !. dlg_addtype_eh(_Win,e_Control(setparam,_CtrlType,_ CtrlWin,_CtlInfo),0):-!, dlg_error("Новый тип не был добавлен"). %END ADDTYPE, setparam _CtlInfo %BEGIN findclass, e_Create dlg_findclass_eh(_Win,e_Create(_CreationData),0):-!, H=win_GetCtlHandle(_Win,classlist), retract(classroom(CLASS1,NTYPE,LVALUE)), assertz(classroom(CLASS1,NTYPE,LVALUE)), classroom(CLASS2,_,_), lbox_add(H,CLASS2), CLASS1=CLASS2, lbox_SetSel(H,0,b_true), !. %END findclass, e_Create %BEGIN findclass, classlist _CtlInfo dlg_findclass_eh(_Win,e_Control(classlist,_CtrlTyp e,_CtrlWin,_CtlInfo),0):-!, H=win_GetCtlHandle(_Win,classlist), lbox_GetSel(H,S,_), S=[CLASSROOM|_], classroom(CLASSROOM,NTYPE,LVALUE), type(NTYPE,TYPE,LPARAM), STR="Тип: ", concat(STR,TYPE,STR2), concat(STR2,"\n",STR3), allparam(LPARAM,LVALUE,STR3,STR4), H2=win_GetCtlHandle(_Win,textparam), win_SetText(H2,STR4), lbox_Clear(H), !. %END findclass, classlist _CtlInfo |
|||
|
||||
Правила форума Prolog | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Prolog | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |