Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lb1.doc
Скачиваний:
8
Добавлен:
11.02.2016
Размер:
3.34 Mб
Скачать
  1. У назву кожного проекту включити прізвище виконавця роботи.

  2. Все завдання можна виконувати у рамках одного комплексного проекту.

Екранні форми проекту 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]