←ïðåäûäóùàÿ ñëåäóþùàÿ→
1 2 3 4 5
store:@tbankwindow.store);
rdatabase:tstreamrec=(
objtype:104;
vmtlink:ofs(typeof(tdatabase)^);
load:@tdatabase.load;
store:@tdatabase.store);
rrulebase:tstreamrec=(
objtype:105;
vmtlink:ofs(typeof(trulebase)^);
load:@trulebase.load;
store:@trulebase.store);
rfact:tstreamrec=(
objtype:106;
vmtlink:ofs(typeof(tfact)^);
load:@tfact.load;
store:@tfact.store);
rvalue:tstreamrec=(
objtype:107;
vmtlink:ofs(typeof(tvalue)^);
load:@tvalue.load;
store:@tvalue.store);
rrule:tstreamrec=(
objtype:108;
vmtlink:ofs(typeof(trule)^);
load:@trule.load;
store:@trule.store);
runital:tstreamrec=(
objtype:109;
vmtlink:ofs(typeof(tunital)^);
load:@tunital.load;
store:@tunital.store);
rstatewindow:tstreamrec=(
objtype:110;
vmtlink:ofs(typeof(tstatewindow)^);
load:@tstatewindow.load;
store:@tstatewindow.store);
ratributeditor:tstreamrec=(
objtype:111;
vmtlink:ofs(typeof(tatributeditor)^);
load:@tatributeditor.load;
store:@tatributeditor.store);
rvalueeditor:tstreamrec=(
objtype:112;
vmtlink:ofs(typeof(tvalueeditor)^);
load:@tvalueeditor.load;
store:@tvalueeditor.store);
rruleeditor:tstreamrec=(
objtype:113;
vmtlink:ofs(typeof(truleeditor)^);
load:@truleeditor.load;
store:@truleeditor.store);
rmachine:tstreamrec=(
objtype:114;
vmtlink:ofs(typeof(tmachine)^);
load:@tmachine.load;
store:@tmachine.store);
rmanager:tstreamrec=(
objtype:115;
vmtlink:ofs(typeof(tmanager)^);
load:@tmanager.load;
store:@tmanager.store);
var atributdata,questiondata,valuedata:string;
basis:pbasis;
bank:pknoledgebank;
visualres,listres:tresourcefile;
bases:pstringcollection;
bankwindow:pbankwindow;
newinput:pinputline;
database:pdatabase;
rulebase:prulebase;
fact:pfact;
value:pvalue;
rule:prule;
unital:punital;
controlpoint:boolean;
bv,ev,bi,rv,c:pradiobuttons;
a:pcheckboxes;
counter:word;
atributeditor:patributeditor;
valueeditor:pvalueeditor;
ruleeditor:pruleeditor;
state:pstatewindow;
inputatribut,inputquestion,inputvalue:pinputline;
machine:pmachine;
manager:pmanager;
workrulebase:prulebase;
number:word;
targets:pstringcollection;
worktargets:pcollection;
workunital:pworkunital;
member:word;
procedure start;
procedure finish;
procedure info;
procedure outputmachine;
procedure maketarget(rulebase:prulebase;var targets:pstringcollection);
procedure workrulebaseformer(rulebase:prulebase;number:word;
var workrulebase:prulebase);
procedure workrulebasereformer(rules1:prulebase;number:word;
var rules2:prulebase);
procedure conclude(workrulebase:prulebase);
procedure initopenwindow(txt:string;data:pstringcollection;var
number:word);
procedure disposeopenwindow;
procedure transform(indata:pcollection;var outdata:pstringcollection);
procedure getmember(var member:word);
procedure recordlist(d:pnewwindow;var iodata:string);
procedure makebase(iodata:string);
procedure renamelist(d:prenamewindow;var iodata:string);
procedure makerename(iodata:string);
procedure eraselist;
procedure rulesediting;
procedure valuesediting;
procedure atributsediting;
procedure selector(d:pstatewindow);
procedure initbase(basis:pbasis;var database:pdatabase;rulebase:prulebase);
procedure registermain;
implementation
function tknoledgebank.valid(command:word):boolean;
begin
foc:=pstring(bases^.at(focused))^;
valid:=true
end;
constructor tknoledgebank.load(var s:tstream);
begin
tlistbox.load(s);
end;
procedure tknoledgebank.store(var s:tstream);
begin
tlistbox.store(s);
end;
constructor truleviewer.load(var s:tstream);
begin
tlistviewer.load(s)
end;
procedure truleviewer.store(var s:tstream);
begin
tlistviewer.store(s)
end;
constructor tbankwindow.load(var s:tstream);
begin
tdialog.load(s)
end;
procedure tbankwindow.store(var s:tstream);
begin
tdialog.store(s)
end;
procedure tbankwindow.handleevent(var event:tevent);
begin
if event.what=evkeydown then
if event.keycode=kbesc then
clearevent(event);
tdialog.handleevent(event);
end;
constructor tnewwindow.load(var s:tstream);
begin
tdialog.load(s)
end;
procedure tnewwindow.store(var s:tstream);
begin
tdialog.store(s)
end;
constructor trenamewindow.load(var s:tstream);
begin
tdialog.load(s)
end;
procedure trenamewindow.store(var s:tstream);
begin
tdialog.store(s)
end;
procedure tprotectedstream.error(code, info: integer);
begin
writeln('Îøèáêà â ïîòîêå: êîä = ', code, ' info = ', info);
halt(1);
end;
constructor tdatabase.load(var s:tstream);
begin
tcollection.load(s)
end;
procedure tdatabase.store(var s:tstream);
begin
tcollection.store(s)
end;
constructor trulebase.load(var s:tstream);
begin
tcollection.load(s)
end;
procedure trulebase.store(var s:tstream);
begin
tcollection.store(s)
end;
constructor tfact.load(var s:tstream);
begin
tcollection.load(s);
s.read(atribut,sizeof(atribut));
s.read(question,sizeof(question))
end;
procedure tfact.store(var s:tstream);
begin
tcollection.store(s);
s.write(atribut,sizeof(atribut));
s.write(question,sizeof(question))
end;
constructor tvalue.load(var s:tstream);
begin
s.read(slot,sizeof(slot
←ïðåäûäóùàÿ ñëåäóþùàÿ→
1 2 3 4 5
|
|