ユニットユニット1;
インタフェース
用途
窓、メッセージ、sysutilils、バリアント、クラス、グラフィック、コントロール、フォーム、
ダイアログ、comctrls、stdctrls、extctrls、グリッド、カレンダー、ゲージ、jpeg;
タイプ
tform1 = class(tform)
Shape1:Ford;
Shape2:潮のため。
Shape3:反対の場合。
Shape4:潮のため。
Shape5:タブ;
Shape6:潮のため。
Shape7:潮のため。
Shape8:反対の場合。
Shape9:潮のため。
Shape10:休憩用。
Shape11:反対の場合。
Shape12:フォルモール;
statictext1:tstatictext;
statext2:tstatictext;
statictext3:tstatictext;
statictext4:tstatictext;
statictext5:tstatictext;
statictext6:tstatictext;
statictext7:tstatictext;
編集1:tedit;
edit2:Titit;
edit3:tedit;
編集4:Titit;
edit5:Titit;
edit6:Titit;
edit7:teded;
edit8:Titit;
edit9:Titit;
EDIT10:Titit;
編集11:テッド;
編集12:Tedit;
編集13:Titit;
編集16:tedit;
編集15:ティッティ。
編集16:tedit;
編集17:Titit;
編集18:Tedit;
編集19:Tedod;
edit20:teded;
edity21:itit;
編集22:Teep;
edit23:Titit;
edit24:tedit;
edit25:Titit;
edit26:Titit;
edit27:Titit;
edit22:Titit;
Button1:Tbutton;
edit2t2:iteated;
Timer1:Timtimer;
Timer2:時間;
listbox1:tlistbox;
Gauge1:tgauge;
Gauge2:tgauge;
Gauge3:Tgauge;
Gauge4:tgg;
ラベル1:tlabel;
ラベル2:tlabel;
ラベル3:tlabel;
ラベル4:tlabel;
edit30:tedit;
Image1:タイム;
ラベル5:tlabel;
Button2:tbutton;
Timer3:ティムター;
Button4:Tbutton;
Button5:Tbutton;
Button3:Tbutton;
ラベル6:tlabel;
Button6:Tbutton;
Timer4:Timter;
手順timer1stimer(sender:tobject);
手順button1click(sender:tobject);
手順Timer2timer(送信者:tobject);
手順button2click(sender:tobject);
手順Timer33timer(送信者:tobject);
手順button3click(sender:tobject);
手順button4click(sender:tobject);
手順button5click(sender:tobject);
手順formcreate(sender:tobject);
手順button6click(sender:tobject);
手順timer4timer(sender:tobject);
プライベート
{プライベート宣言}
公共
{公開宣言}
終わり;
タイプ
PCB =レコード
名前:文字列;
ARV:整数;
SVT:整数;
STT:整数;
FNT:整数;
ZZSJ:整数;
DQSJ:Real;
fnhflflg:bool;
sttflg:おっぱい;
終わり;
PCBのPCBX =配列[1.4] PCB;
var
nullflag:bol = false;
forword:bol = false;
subemp:integer = 0;
J:integer = 1;
openflg:bolo = true;
一時的:integer = 1;
fnehnum:integer = 0;
pcbum:integer = 0;
NTP:bol = false;
Tempok:bol = false;
フラグ:bol = false;
form1:tform1;
ショー:tdateTime;
count:integer = -1;
Pro:integer = 0;
// pcbad:integer = 1;
writflg:integer = 0;
PCB:PCBX;
しかし、min、sec、msec:word;
方法:integer = 1;
実装
Unit3を使用します。
{$ r * .dfm}
手順tform1.timer1p1.timer1timer(sender:tobject);
var
W:整数;
F:整数;
始める
flag = true and nullflag = false andfalse远为true
始める
count:= count + 1;
listboxes1.items.add(inttostr(count);
W:= 1〜4の場合
始める
PCBS [W] .ARV = Countenの場合
始める
Timer2.Enabled:= false;
pcbum:= pcbnum + 1;
Timer2.Enabled:= true;
終わり;
終わり;
openflg = falseの場合
始める
count(count = pcbs [tempid] .stt + pcbs [tempid] .svt)から
始める
pcbs [tempid] .fnhflg:= true;
fnehnum:= fnehre + 1;
fnehnum = 4の場合
始める
フラグ:= false;
pcbs [1] .fnt:= pcbs [1] .stt + pcbs [1] .svt;
pcbs [1] .zzzsj:= pcbs [1] .fnt-pcbb [1] .arv;
pcbs [1] .dqsj:= pcbs [1] .zzsj /(pcbs [1] .lnt);
PCBS [2] .fnt:= pcbs [2] .stt + pcbs [2] .svt;
PCBS [2] .zzzsj:= pcbs [2] .fnt-pcbs [2] .arv;
pcbs [2] .dqsj:= pcbs [2] .zzsj /(pcbs [2] .ltt);
pcbs [3] .fnt:= pcbs [3] .stt + pcbs [3] .svt;
PCBS [3] .zzzsj:= pcbs [3] .fnt-pcbs [3 .arv;
pcbs [3] .dqsj:= pcbs [3] .zzsj /(pcbs [3] .ltt);
PCBS [4] .fnt:= pcbs [4] .stt + pcbs [4] .svt;
PCBS [4] .zzzsj:= pcbs [4] .fnt-pcbs [4] .arv;
pcbs [4] .dqsj:= pcbs [4] .zzsj/(pcbs [4] .tt);
edit13.text:= inttostr(pcbs [1] .tt);
edit14.text:= inttostr(pcbs [1] .stt + pcbs [1] .svt);
edit15.text:= inttostr(pcbs [1] .zzsj);
edit16.text:= flattostr(pcbs [1] .dqsj);
editi7.text:= inttostr(pcbs [2] .stt);
editi.text:= inttostr(pcbs [2] .stt + pcbs [2] .svt);
edit19.text:= inttostr(pcbs [2] .zzsj);
edit20.text:= flattostr(pcbs [2] .dqsj);
edit21.text:= inttostr(pcbs [3] .tt);
edit22.text:= inttostr(pcbs [3] .stt + pcbs [3 .svt);
edit23.text:= inttostr(pcbs [3] .zzsj);
edit24.text:= flattostr(pcbs [3] .dqsj);
edit25.text:= inttostr(pcbs [4] .tt);
edit26.text:= inttostr(pcbs [4] .stt + pcbs [4] .svt);
edit27.text:= inttostr(pcbs [4] .zzsj);
edit22.text:= flofostr(pcbs [4] .dqsj);
終わり;
openflg:= true; // !!!!!!!
Tempok:= false;
終わり;
終わり;
f:= 1〜4の場合
始める
if(count = pcbs [f] .stt + pcbs [f] .svt)およびpcbsvt1
listbr.idds.add(pcbs [f] .name + '完成!!!!');
終わり; // のために
終了; // flag = ture
openflg = falseの場合
始める
の症例温度
1:始めます
ifcls [1] .svt = 1次に
始める
gauge1.maxvalue:= 2;
Gauge1.Progress:= 2;
終わり
それ以外
始める
gauge1.maxvalue:= pcbs [1] .svt;
Gauge1.progress:= count-pcbs [1] .stt;
終わり;
終了; //
2:始めます
gauge2.maxvalue:= pcbs [2] .svt;
gauge2.progress:= count-pcbs [2] .stt;
終了; // 2;
3:始めます
gauge3.maxvalue:= pcbs [3] .svt;
gauge3.progress:= count-pcbs [3] .stt;
終了; // 3;
4:始めます
gauge4.maxvalue:= pcbs [4] .svt;
gauge4.progress:= count-pcbs [4] .tt;
終わり; // 4;
終了
終了; // openflg = false on
PCBS [1] .fnhflg = trueの場合
Gauge1.progress:= pcbs [1] .svt;
PCBS [2] .fnhflg = tueの場合
Gauge2.progress:= pcbs [2] .svt;
PCS [3] .fnhflg = tueの場合
gauge3.progress:= pcbs [3] .svt;
iff pcs [4] .fnhflg = true
gauge4.progress:= pcbs [4] .svt;
終了
手順tform1.button1click(sender:tobject);
始める
Button2.Enabled:= false;
Timer3.Enabled:= false;
Timer2.Enabled:= true;
Timer1.Enabled:= true;
Timer4.Enabled:= false;
試す
フラグ:= true;
pcbs [1] .name:= edit1.orthtatext;
PCBS [1] .ARV:= strtint(edit2.text);
pcbs [1] .svt:= strtouch(edit3.text);
PCBS [1]。
PCB [1] .fnhflg:= false;
PCBS [2] .NAME:= edit4.text;
PCBS [2] .ARV:= strtint(editt5.text);
pcbs [2] .svt:= strtouch.text);
pcbs [2] .sttflg:= false;
PCBS [2] .fnhflg:= false;
PCBS [3] .NAME:= edit7.text;
PCBS [3] .ARV:= strtint(edit8.text);
pcbs [3] .svt:= strtouch(edit9.text);
pcbs [3] .sttflg:= false;
PCBS [3] .fnhflg:= false;
PCBS [4] .NAME:= Edit10.Text;
PCBS [4] .ARV:= strtint(edit11.text);
pcbs [4] .svt:= strtoot(edit12.text);
PCBS [4]:= false;
PCBS [4] .fnhflg:= false;
nullflag:= false;
を除外する
nullflag:= true;
showage( '请将数据填完整');
終わり;
終わり;
手順tform1.timer2timer(sender:tobject);
var
I:整数;
始める
fnehnum <pcbox thenの場合
始める
if(openflg = true)および(pcbumd> 0))))
始める
i:= 1からpcbrucをかき混ぜます
始める
pcbs [i] .fnhflg = falseの場合
始める
tempok = falseの場合
始める
suremp:= tempid;
Tempid:= i;
Tempok:= true;
終わり;
pcbs [i] .svt <pcbs [tempid] .svtの場合
始める
//TIMER1.ENABLED:/FALSE;
Tempid:= i;
//timer1.Enabled:lue;
終了; // pcbs [i] .svt <pcs [tempid] .svt
終了; //
終わり;
openflg:= false;
pcbs [tempid] .stt:= count;
pcbs [tempid] .sttflg:= true;
//listbox1.idd.add( '进程' + pcbs [subtem] .name + 'fnh');
listboxes.atms.add( '进程' + pcbs [tempid] .name + '被调度');
終了; // if(openflg = true and phbumt> 0)
終了; // fnhnum <pcbnum then
終わり; // 手順
手順tform1.button2click(sender:tobject);
始める
Button1.Enabled:= false;
Timer1.Enabled:= false;
Timer2.Enabled:= false;
Timer3.Enabled:= true;
Timer4.Enabled:= true;
試す
フラグ:= true;
pcbs [1] .name:= edit1.orthtatext;
PCBS [1] .ARV:= strtint(edit2.text);
pcbs [1] .svt:= strtouch(edit3.text);
pcbs [1] .sttflg:= true;
PCB [1] .fnhflg:= false;
PCBS [2] .NAME:= edit4.text;
PCBS [2] .ARV:= strtint(editt5.text);
pcbs [2] .svt:= strtouch.text);
pcbs [2] .sttflg:= false;
PCBS [2] .fnhflg:= false;
PCBS [3] .NAME:= edit7.text;
PCBS [3] .ARV:= strtint(edit8.text);
pcbs [3] .svt:= strtouch(edit9.text);
pcbs [3] .sttflg:= false;
PCBS [3] .fnhflg:= false;
PCBS [4] .NAME:= Edit10.Text;
PCBS [4] .ARV:= strtint(edit11.text);
pcbs [4] .svt:= strtoot(edit12.text);
PCBS [4]:= false;
PCBS [4] .fnhflg:= false;
nullflag:= false;
を除外する
nullflag:= true;
showage( '请将数据填完整');
終わり;
終わり;
手順tform1.timer3timer3timerter(sender:tobject);
var
M:整数;
始める
if(flag = true)および(ntp = false)および(nullflag = false))
begin // falg = trueの場合
count:= count + 1;
listboxes1.items.add(inttostr(count);
m:= 1〜4doの場合
M:= 1から5のbegin // do
if((pcbs [m] .sttfg = true)および(pcbs [m] .fnhflg = false)))
begin // if(pcb [m] .sttflg = true and pcb [m] .fnhflg = false)
count = pcbs [m] .stt + pcbs [m] .svt then then
begin // if(count = pcbs [m] .stt + pcbs [m] .svt)then then
pcbs [m] .fnhflg:= true;
//timer4.enportdi:= false;
Pro:= 0;
//timer4.enportd:= true;
listbox1.itms.add( '进程:' + pcbs [m] .name + '完成!!!!」);
m <4の場合
begin // m <4 thenの場合
// pcbs losm+1 of.stttlg:= true;
// pcbs losm+1 of.stt:= count;
forword:= true;
終了; // m <4 then
pcbs [m] .fnt:= count;
pcbs [m] .zzzsj:= pcbs [m] .fnt-pcbs [m] .arv;
pcbs [m] .dqsj:= pcbs [m] .zzsj /(pcbs [m] .ldt);
終了; // if(count = pcbs [m] .stt + pcbs .svt)
終了; //
M:= 1〜5の場合
iff pcs [4] .fnhflg = true
始める
ntp:= true;
edit13.text:= inttostr(pcbs [1] .tt);
edit14.text:= inttostr(pcbs [1] .stt + pcbs [1] .svt);
edit15.text:= inttostr(pcbs [1] .zzsj);
edit16.text:= flattostr(pcbs [1] .dqsj);
editi7.text:= inttostr(pcbs [2] .stt);
editi.text:= inttostr(pcbs [2] .stt + pcbs [2] .svt);
edit19.text:= inttostr(pcbs [2] .zzsj);
edit20.text:= flattostr(pcbs [2] .dqsj);
edit21.text:= inttostr(pcbs [3] .tt);
edit22.text:= inttostr(pcbs [3] .stt + pcbs [3 .svt);
edit23.text:= inttostr(pcbs [3] .zzsj);
edit24.text:= flattostr(pcbs [3] .dqsj);
edit25.text:= inttostr(pcbs [4] .tt);
edit26.text:= inttostr(pcbs [4] .stt + pcbs [4] .svt);
edit27.text:= inttostr(pcbs [4] .zzsj);
edit22.text:= flofostr(pcbs [4] .dqsj);
終わり;
m:= 1〜4の場合
始める
if(count> = pcbs [m] .arv)および(pcbs [m] .sttfg = false))
forword = trueの場合
始める
pcbs [m] .sttfg:= true;
pcbs [m] .stt:= count;
forword:= false;
終了
M:= 1から4の場合
gauge1.maxvalue:= pcbs [1] .svt;
gauge2.maxvalue:= pcbs [2] .svt;
gauge3.maxvalue:= pcbs [3] .svt;
gauge4.maxvalue:= pcbs [4] .svt;
pcbs [1] .sttflg = true and pcbs [1] .fnhflg = falseの場合
始める
//gage1.progression:=gaugh1.maxvalue:= PCBS CES1が利用可能です。shtt;
Gauge1.progress:= count-pcbs [1] .stt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
else iff pcs [1] .fnhflg = true then
Gauge1.progress:= pcbs [1] .svt;
PCS [2] .sttfg = true and pcbs [2] .fnhflg = falseの場合
始める
gauge2.progress:= count-pcbs [2] .stt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
PCBS [2] .fnhflg = tueの場合
Gauge2.progress:= pcbs [2] .svt;
PCS [3] .sttfg = true and pcbs [3 .fnhflg = falseの場合
始める
gauge3.progress:= count-pcbs [3] .stt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
PCBS [3] .fnhflg = tueの場合
gauge3.progress:= pcbs [3] .svt;
PCS [4] .sttflg = true and pcbs [4] .fnhflg = falseの場合
始める
gauge4.progress:= count-pcbs [4] .tt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
PCBS [4] .fnhflg = tueの場合
gauge4.progress:= pcbs [4] .svt;
終わり; // falg = trueの場合
終了
手順tform1.button3click(sender);
始める
form1.close;
//end.//do over
終わり;
手順tform1.button4click(sender:tobject);
始める
forword:= false;
subemp:= 0;
J:= 1;
openflg:= true;
一時的:= 1;
fnehnum:= 0;
pcbum:= 0;
ntp:= false;
Tempok:= false;
フラグ:= false;
Gauge1.Progress:= 0;
Gauge2.Progress:= 0;
gauge3.progress:= 0;
gauge4.progress:= 0;
Button2.Enport:= true;
Button1.Enabled:= true;
count:= -1;
Pro:= 0;
// pcbad:integer = 1;
writflg:= 0;
フラグ:= false;
nullflag:= false;
edit1.text:= ';
edit2.text:= ';
edit3.text:= ';
edit4.text:= ';
edit5.text:= ';
edit6.text:= ';
edit7.text:= ';
edit8.text:= ';
edit9.text:= ';
edit9.text:= ';
edit11.text:= ';
edit12.text:= ';
edit13.text:= '系统填写';
edit14.text:= '系统填写';
edit15.text:= '系统填写';
edit16.text:= '系统填写';
editian.text:= '系统填写';
editi.text:= '系统填写';
edit19.text:= '系统填写';
edit20.text:= '系统填写';
edit21.text:= '系统填写';
edit22.text:= '系统填写';
edit23.text:= '系统填写';
edit24.text:= '系统填写';
edit25.text:= '系统填写';
edit26.text:= '系统填写';
edit27.text:= '系统填写';
edit22.text:= '系统填写';
PCB [1] .fnhflg:= false;
PCBS [1]。
PCBS [2] .fnhflg:= false;
pcbs [2] .sttflg:= false;
PCBS [3] .fnhflg:= false;
pcbs [3] .sttflg:= false;
PCBS [4] .fnhflg:= false;
PCBS [4]:= false;
終わり;
手順tform1.button5click(sender:tobject);
始める
form3.show;
終わり;
手順tform1.field:オブジェクト);
始める
form100fieldstyle:= fssstsyontop;
eposateWindow(ハンドル、2000、aw_center);
form100formstyle:= fsnormal;
終わり;
手順tform1.button6click(sender:tobject);
始める
edit1.text:= 'a';
edit2.text:= '0';
edit3.text:= '3';
edit4.text:= 'b';
edit5.text:= '5';
edit6.text:= '2';
edit7.text:= 'c';
edit8.text:= '5';
edit9.text:= '3';
edit19.text:= 'd';
edit11.text:= '5';
edit12.text:= '2';
終わり;
手順tform1.timer4timer4timer(sender:tobject);
始める
if((pcbs [1] .arv = count)および(pcbs [1] .sttflg = false))
始める
forword:= true;
終わり;
終わり;
終わり。
ユニットユニット2;
インタフェース
用途
窓、メッセージ、sysutilils、バリアント、クラス、グラフィック、コントロール、フォーム、
ダイアログ、jpeg、extctrls、stdctrls;
タイプ
tform2 = class(tform)
Image1:タイム;
ラベル1:tlabel;
ラベル2:tlabel;
ラベル3:tlabel;
プライベート
{プライベート宣言}
公共
{公開宣言}
終わり;
タイプ
PCB =レコード
名前:文字列;
ARV:整数;
SVT:整数;
STT:整数;
FNT:整数;
ZZSJ:整数;
DQSJ:Real;
fnhflflg:bool;
sttflg:おっぱい;
終わり;
PCBのPCBX =配列[1.4] PCB;
var
Form2:tform2;
PCB:PCBX;
実装
Unit1を使用します。
{$ r * .dfm}
終わり。
ユニットユニット3;
インタフェース
用途
窓、メッセージ、sysutilils、バリアント、クラス、グラフィック、コントロール、フォーム、
ダイアログ、stdctrls、comctrls、jpeg、extctrls;
タイプ
tform3 = class(tform)
rithedit1:Trichit;
プライベート
{プライベート宣言}
公共
{公開宣言}
終わり;
var
Form3:tform3;
実装
{$ r * .dfm}
終わり。