⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialogs.pro

📁 prolog程序
💻 PRO
字号:
/*****************************************************************************

		Copyright (c) 1984 - 2000 Prolog Development Center A/S

 Project:  MYPROJ
 FileName: DIALOGS.PRO
 Purpose: A little Demo
 Written by: Leo Jensen
 Comments:
******************************************************************************/

include "myproj.inc"
include "myproj.con"
include "hlptopic.con"

%BEGIN_DLG Person
/**************************************************************************
        Handling of dialog: "Person"
**************************************************************************/

constants
%BEGIN Person, CreateParms, 19:57:40-22.11.2000, Code automatically updated!
  dlg_person_ResID = idd_person
  dlg_person_DlgType = wd_Modal
  dlg_person_Help = idh_contents
%END Person, CreateParms

domains
  PERSON = person(STRING Name,DIALOG_INT Age,BOOLEAN Married,ILIST Skills,DIALOG_CONTROL_ID Sex)

facts - employes
  employe(PERSON)  

clauses  % Initial value
  employe(person("",void,b_false,[],idc_male)).

predicates
  dlg_person_eh : EHANDLER
  dlg_person_update(DIALOG_VAL_LIST,CTLID,PERSON)
  my_person_Create(WINDOW Parent,PERSON In, PERSON Out)

clauses
  dlg_person_Create(Parent):-
	retract(employe(Person)),
	!,
	my_person_Create(Parent,Person,NewPerson),
	assert(employe(NewPerson)).

  my_person_Create(Parent,person(Name,Age,Married,Skills,Sex),NewPerson):-
%MARK Person, new variables

	dialog_Create(Parent,[resdlg(dlg_person_ResID,wd_Modal)],
  		[
%BEGIN Person, ControlList, 19:57:40-22.11.2000, Code automatically updated!
		df(idc_name,editstr(NAME,[]),nopr),
		df(idc_age,editint(AGE,[range(0,70)]),str_prompt("Age")),
		df(idc_married,checkbox(MARRIED),nopr),
		df(idc_skills,listbox(["prolog","c","c++","pascal","database","word","excel","basic"],SKILLS),nopr),
		df(SEX,radiobuttongroup([idc_male,idc_female]),nopr)
%END Person, ControlList
		],
		dlg_person_eh,0,_VALLIST,_ANSWER),
	dlg_person_update(_VALLIST,_ANSWER,NewPerson).

  dlg_person_update(_VALLIST,idc_ok,person(_Name,_Age,_Married,_Skills,_Sex)):-!,
%BEGIN Person, Update controls, 19:57:40-22.11.2000, Code automatically updated!
	_NAME = dialog_VLGetstr(idc_name,_VALLIST),
	_AGE = dialog_VLGetint(idc_age,_VALLIST),
	_MARRIED = dialog_VLGetCheck(idc_married,_VALLIST),
	dialog_VLGetListBox(idc_skills,_VALLIST,_IDC_LISTBOX_ITEMLIST,_SKILLS),
	_SEX = dialog_VLGetRadiobutton(idc_male,_VALLIST),
%END Person, Update controls
	!.

%MARK Person, new events

%BEGIN Person, idc_help _CtlInfo
  dlg_person_eh(_Win,e_Control(idc_help,_CtrlType,_CtrlWin,_CtlInfo),0):-!,
	!.
%END Person, idc_help _CtlInfo

%END_DLG Person

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -