-
У назву кожного проекту включити прізвище виконавця роботи.
-
Все завдання можна виконувати у рамках одного комплексного проекту.
Екранні форми проекту KON
Частина 1
Головне каскадне меню
Стандартний діалог
Частина 2
Частина 3
Частина 4
Тексти програми
Файл KON.PRO
/*****************************************************************************
Copyright (c) My Company
Project: KON
FileName: KON.PRO
Purpose: No description
Written by: Visual Prolog
Comments:
******************************************************************************/
include "kon.inc"
include "kon.con"
include "hlptopic.con"
DATABASE- w2
determ w2(WINDOW )
%BEGIN_WIN Task Window
/***************************************************************************
Event handling for Task Window
***************************************************************************/
PREDICATES
task_win_eh : EHANDLER
CONSTANTS
%BEGIN Task Window, CreateParms, 13:43:11-25.9.2004, Code automatically updated!
task_win_Flags = [wsf_SizeBorder,wsf_TitleBar,wsf_Close,wsf_Maximize,wsf_Minimize,wsf_ClipSiblings]
task_win_Menu = res_menu(idr_task_menu)
task_win_Title = "Kon"
task_win_Help = contents
%END Task Window, CreateParms
CLAUSES
%BEGIN Task Window, e_Create
task_win_eh(_Win,e_Create(_),0):-!,
%BEGIN Task Window, InitControls, 13:43:11-25.9.2004, Code automatically updated!
%END Task Window, InitControls
%BEGIN Task Window, ToolbarCreate, 13:43:11-25.9.2004, Code automatically updated!
tb_project_toolbar_Create(_Win),
tb_help_line_Create(_Win),
%END Task Window, ToolbarCreate
IFDEF use_message
msg_Create(100),
ENDDEF
!.
%END Task Window, e_Create
%MARK Task Window, new events
%BEGIN Task Window, id_fonts
task_win_eh(_Win,e_Menu(id_fonts,_ShiftCtlAlt),0):-!,
OldFONT = font_Create(ff_fixed,[],9),
_NewFONT=dlg_ChooseFont(OldFONT),
!.
%END Task Window, id_fonts
%BEGIN Task Window, id_colors
task_win_eh(_Win,e_Menu(id_colors,_ShiftCtlAlt),0):-!,
InitColor=color_Red,_NewCOLOR = dlg_ChooseColor(InitCOLOR),
!.
%END Task Window, id_colors
%BEGIN Task Window, id_dial4
task_win_eh(_Win,e_Menu(id_dial4,_ShiftCtlAlt),0):-!,
dlg_dial4_Create(_Win),
!.
%END Task Window, id_dial4
%BEGIN Task Window, id_dial3
task_win_eh(_Win,e_Menu(id_dial3,_ShiftCtlAlt),0):-!,
dlg_dial3_Create(_Win),
!.
%END Task Window, id_dial3
%BEGIN Task Window, id_win2
task_win_eh(_Win,e_Menu(id_win2,_ShiftCtlAlt),0):-!,
win_вікно_1_Create(_Win),
win_вікно2_Create(_Win),
!.
%END Task Window, id_win2
%BEGIN Task Window, id_help_contents
task_win_eh(_Win,e_Menu(id_help_contents,_ShiftCtlAlt),0):-!,
vpi_ShowHelp("kon.hlp"),
!.
%END Task Window, id_help_contents
%BEGIN Task Window, id_help_about
task_win_eh(Win,e_Menu(id_help_about,_ShiftCtlAlt),0):-!,
dlg_about_dialog_Create(Win),
!.
%END Task Window, id_help_about
%BEGIN Task Window, id_file_exit
task_win_eh(Win,e_Menu(id_file_exit,_ShiftCtlAlt),0):-!,
win_Destroy(Win),
!.
%END Task Window, id_file_exit
%BEGIN Task Window, e_Size
task_win_eh(_Win,e_Size(_Width,_Height),0):-!,
IFDEF use_tbar
toolbar_Resize(_Win),
ENDDEF
IFDEF use_message
msg_Resize(_Win),
ENDDEF
!.
%END Task Window, e_Size
%END_WIN Task Window
/***************************************************************************
Invoking on-line Help
***************************************************************************/
project_ShowHelpContext(HelpTopic):-
vpi_ShowHelpContext("kon.hlp",HelpTopic).
/***************************************************************************
Main Goal
***************************************************************************/
GOAL
IFDEF use_mdi
vpi_SetAttrVal(attr_win_mdi,b_true),
ENDDEF
IFDEF ws_win
IFDEF use_3dctrl
vpi_SetAttrVal(attr_win_3dcontrols,b_true),
ENDDEF
ENDDEF
vpi_Init(task_win_Flags,task_win_eh,task_win_Menu,"kon",task_win_Title).
%BEGIN_TLB Project toolbar, 13:43:11-25.9.2004, Code automatically updated!
/**************************************************************************
Creation of toolbar: Project toolbar
**************************************************************************/
CLAUSES
tb_project_toolbar_Create(_Parent):-
IFDEF use_tbar
toolbar_create(tb_top,0xC0C0C0,_Parent,
[tb_ctrl(id_file_new,pushb,idb_new_up,idb_new_dn,idb_new_up,"New;New file",1,1),
tb_ctrl(id_file_open,pushb,idb_open_up,idb_open_dn,idb_open_up,"Open;Open file",1,1),
tb_ctrl(id_file_save,pushb,idb_save_up,idb_save_dn,idb_save_up,"Save;File save",1,1),
separator,
tb_ctrl(id_edit_undo,pushb,idb_undo_up,idb_undo_dn,idb_undo_up,"Undo;Undo",1,1),
tb_ctrl(id_edit_redo,pushb,idb_redo_up,idb_redo_dn,idb_redo_up,"Redo;Redo",1,1),
separator,
tb_ctrl(id_edit_cut,pushb,idb_cut_up,idb_cut_dn,idb_cut_up,"Cut;Cut to clipboard",1,1),
tb_ctrl(id_edit_copy,pushb,idb_copy_up,idb_copy_dn,idb_copy_up,"Copy;Copy to clipboard",1,1),
tb_ctrl(id_edit_paste,pushb,idb_paste_up,idb_paste_dn,idb_paste_up,"Paste;Paste from clipboard",1,1),
separator,
separator,
tb_ctrl(id_help_contents,pushb,idb_help_up,idb_help_down,idb_help_up,"Help;Help",1,1)]),
ENDDEF
true.
%END_TLB Project toolbar
%BEGIN_TLB Help line, 13:43:11-25.9.2004, Code automatically updated!
/**************************************************************************
Creation of toolbar: Help line
**************************************************************************/
CLAUSES
tb_help_line_Create(_Parent):-
IFDEF use_tbar
toolbar_create(tb_bottom,0xC0C0C0,_Parent,
[tb_text(idt_help_line,tb_context,452,0,4,10,0x0,"")]),
ENDDEF
true.
%END_TLB Help line
%BEGIN_DLG About dialog
/**************************************************************************
Creation and event handling for dialog: About dialog
**************************************************************************/
CONSTANTS
%BEGIN About dialog, CreateParms, 14:18:20-25.9.2004, Code automatically updated!
dlg_about_dialog_ResID = idd_dlg_about
dlg_about_dialog_DlgType = wd_Modal
dlg_about_dialog_Help = contents
%END About dialog, CreateParms
PREDICATES
dlg_about_dialog_eh : EHANDLER
CLAUSES
dlg_about_dialog_Create(Parent):-
win_CreateResDialog(Parent,dlg_about_dialog_DlgType,dlg_about_dialog_ResID,dlg_about_dialog_eh,0).
%BEGIN About dialog, idc_ok _CtlInfo
dlg_about_dialog_eh(_Win,e_Control(idc_ok,_CtrlType,_CtrlWin,_CtrlInfo),0):-!,
win_Destroy(_Win),
!.
%END About dialog, idc_ok _CtlInfo
%MARK About dialog, new events
dlg_about_dialog_eh(_,_,_):-!,fail.
%END_DLG About dialog
%BEGIN_WIN Вікно 1
/**************************************************************************
Creation and event handling for window: Вікно 1
**************************************************************************/
CONSTANTS
%BEGIN Вікно 1, CreateParms, 14:56:15-3.10.2004, Code automatically updated!
win_вікно_1_WinType = w_TopLevel
win_вікно_1_Flags = [wsf_SizeBorder,wsf_TitleBar,wsf_Maximize,wsf_Minimize,wsf_Close,wsf_ClipSiblings]
win_вікно_1_RCT = rct(20,20,447,357)
win_вікно_1_Menu = no_menu
win_вікно_1_Title = "Вікно 1"
win_вікно_1_Help = contents
%END Вікно 1, CreateParms
PREDICATES
win_вікно_1_eh : EHANDLER
CLAUSES
win_вікно_1_Create(_Parent):-
win_Create(win_вікно_1_WinType,win_вікно_1_RCT,win_вікно_1_Title,
win_вікно_1_Menu,_Parent,win_вікно_1_Flags,win_вікно_1_eh,0).
%BEGIN Вікно 1, e_Create
win_вікно_1_eh(_Win,e_Create(_),0):-!,
%BEGIN Вікно 1, InitControls, 14:56:15-3.10.2004, Code automatically updated!
win_CreateControl(wc_Text,rct(43,31,305,51),"",_Win,[wsf_AlignCenter],idct_static_text),
win_CreateControl(wc_GroupBox,rct(28,8,320,62),"Координати миші",_Win,[],idc_xymous),
win_CreateDynControl([icon(wdef(wc_Icon,rct(334,26,366,58),"",u_Pixels),idc_вікно_1_1,idi_project_icon,[])],_Win),
win_CreateControl(wc_PushButton,rct(43,90,139,125),"Кнопка1",_Win,[wsf_Group,wsf_TabStop],idc_push_button),
win_CreateControl(wc_PushButton,rct(43,125,139,160),"Кнопка2",_Win,[wsf_Group,wsf_TabStop],idc_push_button2),
win_CreateControl(wc_Edit,rct(149,108,357,132),"Дія кнопок",_Win,[wsf_AlignCenter,wsf_Group,wsf_TabStop,wsf_ReadOnly,wsf_MultiLine],idc_edit),
win_CreateControl(wc_GroupBox,rct(28,72,366,173),"",_Win,[],idc_groupbox),
%END Вікно 1, InitControls
%BEGIN Вікно 1, ToolbarCreate, 14:56:15-3.10.2004, Code automatically updated!
tb_toolbar1_Create(_Win),
%END Вікно 1, ToolbarCreate
!.
%END Вікно 1, e_Create
%MARK Вікно 1, new events
%BEGIN Вікно 1, idt_2
win_вікно_1_eh(_Win,e_Menu(idt_2,_ShiftCtlAlt),0):-!,
CtrlWin = win_GetCtlHandle(_Win,idc_edit ),
win_SetText(CtrlWin, "Натиснута кнопка 2"),
w2(Win2),
CtrlWin2 = win_GetCtlHandle(Win2,idc_edit ),
win_SetText(CtrlWin2, "Натиснута кнопка 2"),
!.
%END Вікно 1, idt_2
%BEGIN Вікно 1, idt_1
win_вікно_1_eh(_Win,e_Menu(idt_1,_ShiftCtlAlt),0):-!,
CtrlWin = win_GetCtlHandle(_Win,idc_edit ),
win_SetText(CtrlWin, "Натиснута кнопка 1"),
w2(Win2),
CtrlWin2 = win_GetCtlHandle(Win2,idc_edit ),
win_SetText(CtrlWin2, "Натиснута кнопка 1"),
!.
%END Вікно 1, idt_1
%BEGIN Вікно 1, e_MouseDbl
win_вікно_1_eh(_Win,e_MouseDbl(_PNT,_ShiftCtlAlt,_Button),0):-!,
CtrlWin = win_GetCtlHandle(_Win,idc_edit ),
win_SetText(CtrlWin, "Подвійний натиск кнопки миші "),
w2(Win2),
CtrlWin2 = win_GetCtlHandle(Win2,idc_edit ),
win_SetText(CtrlWin2, "Подвійний натиск кнопки миші "),
!.
%END Вікно 1, e_MouseDbl
%BEGIN Вікно 1, idc_push_button2 _CtlInfo
win_вікно_1_eh(_Win,e_Control(idc_push_button2,_CtrlType,_CtrlWin,_CtlInfo),0):-!,
CtrlWin = win_GetCtlHandle(_Win,idc_edit ),
win_SetText(CtrlWin, "Натиснута кнопка 2"),
w2(Win2),
CtrlWin2 = win_GetCtlHandle(Win2,idc_edit ),
win_SetText(CtrlWin2, "Натиснута кнопка 2"),
!.
%END Вікно 1, idc_push_button2 _CtlInfo
%BEGIN Вікно 1, idc_push_button _CtlInfo
win_вікно_1_eh(_Win,e_Control(idc_push_button,_CtrlType,_CtrlWin,_CtlInfo),0):-!,
CtrlWin = win_GetCtlHandle(_Win,idc_edit ),
win_SetText(CtrlWin, "Натиснута кнопка 1"),
w2(Win2),
CtrlWin2 = win_GetCtlHandle(Win2,idc_edit ),
win_SetText(CtrlWin2, "Натиснута кнопка 1"),
!.
%END Вікно 1, idc_push_button _CtlInfo
%BEGIN Вікно 1, e_MouseMove
win_вікно_1_eh(_Win,e_MouseMove(_PNT,_ShiftCtlAlt,_Button),0):-!,
_PNT= pnt(X,Y),
format(StrXY,"X=% Y=% ",X,Y),
nl,write(StrXY),
CtrlWin = win_GetCtlHandle(_Win, idct_static_text),
win_SetText(CtrlWin, StrXY),
w2(Win2),
CtrlWin2 = win_GetCtlHandle(Win2, idct_static_text),
win_SetText(CtrlWin2, StrXY),
!.
%END Вікно 1, e_MouseMove
%BEGIN Вікно 1, e_Size
win_вікно_1_eh(_Win,e_Size(_Width,_Height),0):-!,
IFDEF use_tbar
toolbar_Resize(_Win),
ENDDEF
!.
%END Вікно 1, e_Size
%BEGIN Вікно 1, e_Menu, Parent window
win_вікно_1_eh(Win,e_Menu(ID,CAS),0):-!,
PARENT = win_GetParent(Win),
win_SendEvent(PARENT,e_Menu(ID,CAS)),
!.
%END Вікно 1, e_Menu, Parent window
%END_WIN Вікно 1
%BEGIN_TLB Toolbar1, 14:38:56-3.10.2004, Code automatically updated!
/**************************************************************************
Creation of toolbar: Toolbar1
**************************************************************************/
CLAUSES
tb_toolbar1_Create(_Parent):-
IFDEF use_tbar
toolbar_create(tb_moveable("Панель",pnt(24,207)),0xFFFF00,_Parent,
[tb_ctrl(idt_1,pushb,idb_up1,idb_down1,idb_down1,"кнопка1; кнопка1",1,1),
new_row,
separator,
separator,
tb_ctrl(idt_2,pushb,idb_up2,idb_down2,idb_up2,"кнопка2; кнопка2",1,1)]),
ENDDEF
true.
%END_TLB Toolbar1
%BEGIN_WIN Вікно2
/**************************************************************************
Creation and event handling for window: Вікно2
**************************************************************************/
CONSTANTS
%BEGIN Вікно2, CreateParms, 15:00:37-3.10.2004, Code automatically updated!
win_вікно2_WinType = w_TopLevel
win_вікно2_Flags = [wsf_SizeBorder,wsf_TitleBar,wsf_Maximize,wsf_Minimize,wsf_Close,wsf_ClipSiblings]
win_вікно2_RCT = rct(450,20,743,335)
win_вікно2_Menu = no_menu
win_вікно2_Title = "Вікно2"
win_вікно2_Help = contents
%END Вікно2, CreateParms
PREDICATES
win_вікно2_eh : EHANDLER
CLAUSES
win_вікно2_Create(_Parent):-
win_Create(win_вікно2_WinType,win_вікно2_RCT,win_вікно2_Title,
win_вікно2_Menu,_Parent,win_вікно2_Flags,win_вікно2_eh,0).
%BEGIN Вікно2, e_Create
win_вікно2_eh(_Win,e_Create(_),0):-!,
%BEGIN Вікно2, InitControls, 15:00:37-3.10.2004, Code automatically updated!
win_CreateControl(wc_Text,rct(25,55,210,75),"",_Win,[wsf_AlignCenter],idct_static_text),
win_CreateControl(wc_GroupBox,rct(11,33,222,87),"Координати миші",_Win,[],idc_xymous),
win_CreateDynControl([icon(wdef(wc_Icon,rct(237,43,269,75),"",u_Pixels),idc_вікно_1_1,idi_project_icon,[])],_Win),
win_CreateControl(wc_Edit,rct(32,151,240,175),"Дія кнопок",_Win,[wsf_AlignCenter,wsf_Group,wsf_TabStop,wsf_ReadOnly,wsf_MultiLine],idc_edit),
win_CreateControl(wc_GroupBox,rct(11,111,270,212),"",_Win,[],idc_groupbox),
%END Вікно2, InitControls
%BEGIN Вікно2, ToolbarCreate, 15:00:37-3.10.2004, Code automatically updated!
%END Вікно2, ToolbarCreate
retractall (_,w2),
assert (w2(_Win),w2 ),
!.
%END Вікно2, e_Create
%MARK Вікно2, new events
%BEGIN Вікно2, e_Size
win_вікно2_eh(_Win,e_Size(_Width,_Height),0):-!,
IFDEF use_tbar
toolbar_Resize(_Win),
ENDDEF
!.
%END Вікно2, e_Size
%BEGIN Вікно2, e_Menu, Parent window
win_вікно2_eh(Win,e_Menu(ID,CAS),0):-!,
PARENT = win_GetParent(Win),
win_SendEvent(PARENT,e_Menu(ID,CAS)),
!.
%END Вікно2, e_Menu, Parent window
%END_WIN Вікно2
Файл KON_DIAL.PRO
/*****************************************************************************
Copyright (c) НУХТ4-4
Project: KON
FileName: KON_DIAL.PRO
Purpose: Лабораторна робота1
Written by: Кондращенко Олена
Comments:
******************************************************************************/
include "kon.inc"
include "kon.con"
include "hlptopic.con"
DATABASE-fam
parent_( STRING,STRING)
women(STRING)
%BEGIN_DLG dial3
/**************************************************************************
Creation and event handling for dialog: dial3
**************************************************************************/
CONSTANTS
%BEGIN dial3, CreateParms, 17:51:13-9.10.2004, Code automatically updated!
dlg_dial3_ResID = idd_dial3
dlg_dial3_DlgType = wd_Modal
dlg_dial3_Help = contents
%END dial3, CreateParms
PREDICATES
dlg_dial3_eh : EHANDLER
dlg_dial3_handle_answer(INTEGER EndButton,DIALOG_VAL_LIST)
dlg_dial3_update(DIALOG_VAL_LIST)
CLAUSES
dlg_dial3_Create(Parent):-
%MARK dial3, new variables
dialog_CreateModal(Parent,dlg_dial3_ResID,"",
[
%BEGIN dial3, ControlList, 17:51:13-9.10.2004, Code automatically updated!
df(parent,listbox([],[0]),nopr),
df(children,listbox([],[0]),nopr),
df(idc_dialpar_par,listbox([],[0]),nopr)
%END dial3, ControlList
],
dlg_dial3_eh,0,VALLIST,ANSWER),
dlg_dial3_handle_answer(ANSWER,VALLIST).
dlg_dial3_handle_answer(idc_ok,VALLIST):-!,
dlg_dial3_update(VALLIST).
dlg_dial3_handle_answer(idc_cancel,_):-!. % Handle Esc and Cancel here
dlg_dial3_handle_answer(_,_):-
errorexit().
dlg_dial3_update(_VALLIST):-
%BEGIN dial3, Update controls, 17:51:13-9.10.2004, Code automatically updated!
dialog_VLGetListBox(parent,_VALLIST,_PARENT_ITEMLIST,_PARENT_SELECT),
dialog_VLGetListBox(children,_VALLIST,_CHILDREN_ITEMLIST,_CHILDREN_SELECT),
dialog_VLGetListBox(idc_dialpar_par,_VALLIST,_IDC_DIALPAR_PAR_ITEMLIST,_IDC_DIALPAR_PAR_SELECT),
%END dial3, Update controls
true.
%MARK dial3, new events
%BEGIN dial3, parent activated
dlg_dial3_eh(_Win,e_Control(parent,_CtrlType,_CtrlWin,activated),0):-!,
Index = lbox_GetSelIndex(_CtrlWin),
Item = lbox_GetItem(_CtrlWin, Index),
findall(X,parent_(Item,X), SList ),
CtrlWin = win_GetCtlHandle(_Win, children),
lbox_Clear(CtrlWin),
lbox_Add(CtrlWin, SList),
!.
%END dial3, parent activated
%BEGIN dial3, parent selchanged
dlg_dial3_eh(_Win,e_Control(parent,_CtrlType,_CtrlWin,selchanged),0):-!,
Index = lbox_GetSelIndex(_CtrlWin),
Item = lbox_GetItem(_CtrlWin, Index),
findall(X,parent_(X,Item), SList ),
CtrlWin = win_GetCtlHandle(_Win, idc_dialpar_par),
lbox_Clear(CtrlWin),
lbox_Add(CtrlWin, SList),
!.
%END dial3, parent selchanged
%BEGIN dial3, e_Create
dlg_dial3_eh(_Win,e_Create(_CreationData),0):-!,
retractall(_,fam),
consult("mydb.pro",fam),
file_str("mydb.pro",S),nl,
write(S),nl,nl,nl,
findall(X,parent_(X,_), SList ),
CtrlWin = win_GetCtlHandle(_Win, parent),
lbox_Add(CtrlWin, SList),
!.
%END dial3, e_Create
dlg_dial3_eh(_,_,_):-!,fail.
%END_DLG dial3
DATABASE- dan
num(Integer,String)
PREDICATES
%quicksort(ILIST,ILIST)
quicksort(SLIST,SLIST)
%nondeterm part(ILIST,Integer,ILIST,ILIST,ILIST,ILIST)
nondeterm part(SLIST,String,SLIST,SLIST,SLIST,SLIST)
%append(ILIST,ILIST,ILIST)
append(SLIST,SLIST,SLIST)
CLAUSES
quicksort([X | Xs],Ys) :-
part(Xs,X,[],[],Littels,Bigs),
quicksort(Littels,Ls),
quicksort(Bigs,Bs),
append(Ls,[X|Bs],Ys), !.
quicksort([],[]) .
part([],_,Ls,Bs,Ls,Bs).
part(L,Y,LsC,BsC,Ls,Bs):-
L=[X|L1],
str_int(X,Xnum),
str_int(Y,Ynum),
Xnum<=Ynum,
part(L1,Y,[X|LsC],BsC,Ls,Bs).
part(L,Y,LsC,BsC,Ls,Bs):-
L=[X|L1],
str_int(X,Xnum),
str_int(Y,Ynum),
Xnum>Ynum,
part(L1,Y,LsC,[X|BsC],Ls,Bs).
append([],Ys,Ys).
append([X|Xs],Ys,[X|Zs]):-append(Xs,Ys,Zs).
% GOAL
%Xs=["23","4","3","56","12","5","7","9","10"],
%quicksort(Xs,Ys).
/*
Xs=[23,4,3,56,12,5,7,9,10], Ys=[3,4,5,7,9,10,12,23,56]
1 Solution
Xs=["23","4","3","56","12","5","7","9","10"], Ys=["3","4","5","7","9","10","12","23","56"]
1 Solution
*/
%BEGIN_DLG dial4
/**************************************************************************
Creation and event handling for dialog: dial4
**************************************************************************/
CONSTANTS
%BEGIN dial4, CreateParms, 15:08:32-17.10.2004, Code automatically updated!
dlg_dial4_ResID = idd_dial4
dlg_dial4_DlgType = wd_Modal
dlg_dial4_Help = contents
%END dial4, CreateParms
PREDICATES
dlg_dial4_eh : EHANDLER
dlg_dial4_handle_answer(INTEGER EndButton,DIALOG_VAL_LIST)
dlg_dial4_update(DIALOG_VAL_LIST)
CLAUSES
dlg_dial4_Create(Parent):-
%MARK dial4, new variables
dialog_CreateModal(Parent,dlg_dial4_ResID,"",
[
%BEGIN dial4, ControlList, 15:08:32-17.10.2004, Code automatically updated!
df(idc_edit,editstr("",[]),nopr),
df(idc_dial4_2,listbox([],[0]),nopr),
df(idc_dial4_3,listbox([],[0]),nopr)
%END dial4, ControlList
],
dlg_dial4_eh,0,VALLIST,ANSWER),
dlg_dial4_handle_answer(ANSWER,VALLIST).
dlg_dial4_handle_answer(idc_ok,VALLIST):-!,
dlg_dial4_update(VALLIST).
dlg_dial4_handle_answer(idc_cancel,_):-!. % Handle Esc and Cancel here
dlg_dial4_handle_answer(_,_):-
errorexit().
dlg_dial4_update(_VALLIST):-
%BEGIN dial4, Update controls, 15:08:32-17.10.2004, Code automatically updated!
_IDC_EDIT_VALUE = dialog_VLGetstr(idc_edit,_VALLIST),
dialog_VLGetListBox(idc_dial4_2,_VALLIST,_IDC_DIAL4_2_ITEMLIST,_IDC_DIAL4_2_SELECT),
dialog_VLGetListBox(idc_dial4_3,_VALLIST,_IDC_DIAL4_3_ITEMLIST,_IDC_DIAL4_3_SELECT),
%END dial4, Update controls
true.
%MARK dial4, new events
%BEGIN dial4, idc_clear _CtlInfo
dlg_dial4_eh(_Win,e_Control(idc_clear,_CtrlType,_CtrlWin,_CtlInfo),0):-!,
retractall(_,dan),
CtrlWin1 = win_GetCtlHandle(_Win, idc_edit),
win_SetText(CtrlWin1," "),
CtrlWin = win_GetCtlHandle(_Win, idc_dial4_2),
lbox_Clear(CtrlWin ),
CtrlWin2 = win_GetCtlHandle(_Win, idc_dial4_3),
lbox_Clear(CtrlWin2 ),
!.
%END dial4, idc_clear _CtlInfo
%BEGIN dial4, idc_ввод_данных _CtlInfo
dlg_dial4_eh(_Win,e_Control(idc_ввод_данных,_CtrlType,_CtrlWin,_CtlInfo),0):-!,
CtrlWin1 = win_GetCtlHandle(_Win, idc_edit),
Text = win_GetText(CtrlWin1),
write (Text),nl,
str_int (Text,N),
assert(num(N,Text),dan),
findall(Text1,num(_,Text1), SList ),
CtrlWin = win_GetCtlHandle(_Win, idc_dial4_2),
lbox_Clear(CtrlWin ),
lbox_Add(CtrlWin, SList),
win_SetText(CtrlWin1," "),
quicksort(SList,S2),
write(SList),nl,
write(S2),
CtrlWin2 = win_GetCtlHandle(_Win, idc_dial4_3),
lbox_Clear(CtrlWin2 ),
lbox_Add(CtrlWin2, S2),
!.
%END dial4, idc_ввод_данных _CtlInfo
dlg_dial4_eh(_,_,_):-!,fail.
%END_DLG dial4