←предыдущая следующая→
1 2
{$D+,L+}
uses drivers,objects,views,app,menus,main,calendar,dialogs,calc,puzzle;
var pvisualstrm:pprotectedstream;
procedure createstatusline;
var r:trect;
pstatus:pstatusline;
begin
r.a.x:=0;
r.a.y:=24;
r.b.x:=80;
r.b.y:=25;
pstatus:=new(pstatusline,init(r,
newstatusdef(0,$ffff,
newstatuskey('~F1~ Помощь',kbf1,cmhelp,
newstatuskey('~F8~ Временный выход в DOS',kbf8,cmdos,
newstatuskey('~F9~ Меню',kbf9,cmmenu,
newstatuskey('~F10~ Выход',kbf10,cmexit,nil)))),nil)));
visualres.put(pstatus,'Статус');
dispose(pstatus,done)
end;
procedure createmenubar;
var r:trect;
pbar:pmenubar;
begin
r.a.x:=0;
r.a.y:=0;
r.b.x:=80;
r.b.y:=1;
pbar:=new(pmenubar,init(r,newmenu(
newsubmenu('~С~истема',hcnocontext,newmenu(
newitem('~П~ауза','F4',kbf4,cmpause,hcnocontext,
newsubmenu('~О~болочки',hcnocontext,newmenu(
newitem('~M~S-DOS','F8',kbf8,cmdos,hcnocontext,
newitem('~W~indows 3.1','',0,cmwin,hcnocontext,
newitem('~N~orton Commander 5.0','',0,cmnc,hcnocontext,nil)))),
newsubmenu('~А~РМ командира',hcnocontext,newmenu(
newitem('~Г~рафический редактор','',0,cmwinpbrush,hcnocontext,
newitem('~Т~екстовый редактор','',0,cmwinwrite,hcnocontext,
newitem('~К~артотека','',0,cmwincard,hcnocontext,nil)))),
newitem('~О~ программе','',0,cmabout,hcnocontext,
newline(
newitem('~В~ыход','F10',kbf10,cmexit,hcnocontext,nil))))))),
newsubmenu('~Б~аза',hcnocontext,newmenu(
newitem('~О~ткрыть','ENTER',kbenter,cmopen,hcnocontext,
newitem('~Н~овая','',0,cmnew,hcnocontext,
newitem('~П~ереименовать','',0,cmrename,hcnocontext,
newitem('~Р~едактировать','',0,cmedit,hcnocontext,
newitem('~У~далить','',0,cmerase,hcnocontext,nil)))))),
newsubmenu('~О~кна',hcnocontext,newmenu(
newitem('~Р~аспахнуть','F5',kbf5,cmzoom,hcnocontext,
newitem('~Д~вижение','CTRL+F5',kbctrlf5,cmresize,hcnocontext,
newitem('~З~акрыть','ESC',kbesc,cmclose,hcnocontext,
newline(
newitem('~П~редыдущее','SHIFT+F6',kbshiftf6,cmprev,hcnocontext,
newitem('~С~ледующее','F6',kbf6,cmnext,hcnocontext,nil))))))),
newsubmenu('С~е~рвис',hcnocontext,newmenu(
newitem('~П~ароль','',0,cmparole,hcnocontext,
newline(
newitem('~Т~екстовый редактор','',0,cmtext,hcnocontext,
newline(
newitem('~К~алендарь','',0,cmcalend,hcnocontext,
newitem('К~а~лькулятор','',0,cmcalc,hcnocontext,
newitem('~И~гра','',0,cmgame,hcnocontext,nil)))))))),nil)))))));
visualres.put(pbar,'Меню');
dispose(pbar,done)
end;
procedure createbank;
var w:pbankwindow;
r:trect;
begin
listres.init(new(pbufstream,init('expert.blc',stopen,1024)));
bases:=pstringcollection(listres.get('Список'));
r.assign(0,0,80,23);
w:=new(pbankwindow,init(r,'Банк знаний'));
visualres.put(w,'Банк');
dispose(w,done);
listres.done
end;
procedure createcalendar;
var c:pcalendarwindow;
begin
c:=new(pcalendarwindow,init);
visualres.put(c,'Календарь');
dispose(c,done)
end;
procedure createcalc;
var c:pcalculator;
begin
c:=new(pcalculator,init);
visualres.put(c,'Калькулятор');
dispose(c,done)
end;
procedure creategame;
var g:ppuzzlewindow;
begin
g:=new(ppuzzlewindow,init);
visualres.put(g,'Игра');
dispose(g,done)
end;
procedure createnewwindow;
var d:pnewwindow;
r:trect;
begin
r.assign(20,5,60,12);
d:=new(pnewwindow,init(r,'Создать базу'));
with d^ do
begin
options:=options or ofcentered;
r.assign(2,2,38,3);
newinput:=new(pinputline,init(r,36));
insert(newinput);
r.assign(2,1,38,2);
insert(new(plabel,init(r,'~В~ведите имя новой базы:',newinput)));
r.assign(2,4,17,6);
insert(new(pbutton,init(r,'~П~уск',cmok,bfdefault)));
r.assign(23,4,38,6);
insert(new(pbutton,init(r,'~О~тмена',cmcancel,bfnormal)));
selectnext(false)
end;
visualres.put(d,'Новая');
dispose(d,done)
end;
procedure createrenamewindow;
var d:prenamewindow;
ii:pinputline;
r:trect;
ss:pstatictext;
begin
r.assign(20,5,60,15);
d:=new(prenamewindow,init(r,'Переименовать базу'));
with d^ do
begin
r.assign(2,5,38,6);
ii:=new(pinputline,init(r,36));
insert(ii);
r.assign(2,4,38,5);
insert(new(plabel,init(r,'~В~ведите новое имя базы:',ii)));
r.assign(2,7,17,9);
insert(new(pbutton,init(r,'~П~уск',cmok,bfdefault)));
r.assign(23,7,38,9);
insert(new(pbutton,init(r,'~О~тмена',cmcancel,bfnormal)));
selectnext(false)
end;
visualres.put(d,'Переименование');
dispose(d,done)
end;
procedure createdeletewindow;
var d:pdialog;
r:trect;
begin
r.assign(25,4,57,11);
d:=new(pdialog,init(r,'Удалить базу'));
with d^ do
begin
r.assign(1,4,15,6);
insert(new(pbutton,init(r,'~Д~а',cmok,bfnormal)));
r.assign(17,4,31,6);
insert(new(pbutton,init(r,'~О~тмена',cmcancel,bfdefault)));
selectnext(false)
end;
visualres.put(d,'Удаление');
dispose(d,done)
end;
procedure createexitwindow;
var d:pdialog;
r:trect;
begin
r.assign(30,5,50,12);
d:=new(pdialog,init(r,'Выход'));
with d^ do
begin
r.assign(1,1,19,3);
insert(new(pstatictext,init(r,#3+'Вы хотите покинуть "Эксперт"?')));
r.assign(1,4,9,6);
insert(new(pbutton,init(r,'~Д~а',cmok,bfdefault)));
r.assign(11,4,19,6);
insert(new(pbutton,init(r,'~Н~ет',cmcancel,bfnormal)));
selectnext(false)
end;
visualres.put(d,'Выход');
dispose(d,done)
end;
procedure createmachine;
var r:trect;
begin
r.assign(0,0,80,23);
machine:=new(pmachine,init(r,'Консультация'));
with machine^ do
begin
r.assign(1,20,39,22);
insert(new(pbutton,init(r,'Далее',cmmachnext,bfdefault)));
r.assign(41,20,79,22);
insert(new(pbutton,init(r,'Назад',cmmachprev,bfnormal)));
selectnext(false)
end;
visualres.put
←предыдущая следующая→
1 2
|
|