单位1;
界面
用途
Windows,Messages,Sysutilils,变体,类,图形,控件,表单,表单,
对话,comctrls,stdctrls,extctrls,网格,日历,计量仪,jpeg;
类型
tform1 = class(tform)
Shape1:福特;
Shape2:潮汐;
Shape3:相反;
Shape4:对于潮汐;
shape5:tabs;
Shape6:潮汐;
Shape7:对于潮汐;
Shape8:相反;
shape9:对于潮汐;
Shape10:休息一下;
Shape11:相反;
Shape12:Formore;
patictictext1:tstatictext;
patictictext2:tstatictext;
pattictext3:tstatictext;
pattictext4:tstatictext;
patictictext5:tstatictext;
pattictext6:tstatictext;
patictictext7:tstatictext;
edit1:tedit;
edit2:titit;
edit3:tedit;
edit4:titit;
edit5:titit;
edit6:titit;
Edit7:Teded;
edit8:titit;
edit9:titit;
edit10:titit;
Edit11:Teded;
Edit12:Tedit;
edit13:titit;
Edit16:Tedit;
edit15:titit;
Edit16:Tedit;
edit17:titit;
Edit18:Tedit;
Edit19:Tedod;
Edit20:Teded;
Edity21:titit;
edit22:teep;
edit23:titit;
Edit24:Tedit;
edit25:titit;
edit26:titit;
edit27:titit;
edit22:titit;
Button 1:Tbutton;
Edit2T2:列为;
timer1:timtimer;
timer2:时间;
ListBox1:tlistbox;
仪表1:tgauge;
Gauge2:Tgauge;
Gauge3:Tgauge;
Gauge4:TGG;
标签1:tlabel;
Label2:tlabel;
标签3:tlabel;
Label4:tlabel;
Edit30:TEDIT;
Image1:司法灯;
标签5:tlabel;
Button2:tbutton;
timer3:快
Button4:Tbutton;
纽扣5:tbutton;
Button3:Tbutton;
Label6:tlabel;
按钮6:tbutton;
TIMER:TIMER;
过程Timer1Stimer(发件人:tobject);
过程button1Click(发件人:tobject);
过程Timer2Timer(发件人:tobject);
过程button2Click(发件人:tobject);
过程Timer33Timer(发件人:tobject);
过程button3Click(发件人:tobject);
过程button4Click(发件人:tobject);
过程button5Click(发件人:tobject);
过程FormCreate(发送者:tobject);
过程button6click(发件人:tobject);
过程Timer4Timer(发件人:tobject);
私人的
{私人声明}
民众
{公开声明}
结尾;
类型
PCB =记录
名称:字符串;
ARV:整数;
SVT:整数;
STT:整数;
FNT:整数;
ZZSJ:整数;
DQSJ:真实;
fnhflflg:bool;
sttflg:boob;
结尾;
PCB的PCBX =阵列[1.4];
var
nullflag:bol = false;
forword:bol = false;
subemp:integer = 0;
J:Integer = 1;
OpenFlg:bolo = true;
tempid:integer = 1;
fnehnum:integer = 0;
PCBUM:Integer = 0;
ntp:bol = false;
tempok:bol = false;
标志:bol = false;
form1:tform1;
显示:tdateTime;
计数:integer = -1;
Pro:Integer = 0;
// pcbad:integer = 1;
writflg:integer = 0;
PCB:PCBX;
虽然,Min,Sec,MSEC:Word;
方法:整数= 1;
执行
使用Unit3;
{$ r * .dfm}
过程tform1.timer1p1.timer1timer(发件人:tobject);
var
W:整数;
F:整数;
开始
如果flag = true和nullflag = false,则false远为true
开始
计数:= count + 1;
ListBoxes1.Items.Add(inttoStr(count);
对于W:= 1至4做
开始
如果PCB [W] .ARV = Counten
开始
timer2.Nabled:= false;
pcbum:= pcbnum + 1;
timer2.enabled:= true;
结尾;
结尾;
如果openflg = false,则
开始
如果计数(count = pcbs [tempid] .stt + pcbs [tempid] .svt)然后
开始
PCB [tempid] .fnhflg:= true;
fnehnum:= fnehre + 1;
如果fnehnum = 4,则
开始
标志:= false;
PCB [1] .fnt:= PCB [1] .STT + PCB [1] .svt;
PCB [1] .zzzSJ:= PCBS [1] .FNT-PCBB [1] .ARV;
PCB [1] .DQSJ:= PCBS [1] .ZZSJ /(PCBS [1] .lnt);
PCB [2] .fnt:= PCBS [2] .STT + PCB [2] .svt;
PCB [2] .zzzSJ:= PCBS [2] .FNT-PCBS [2] .ARV;
PCB [2] .DQSJ:= PCBS [2] .ZZSJ /(PCBS [2] .ltt);
PCB [3] .fnt:= PCBS [3] .STT + PCB [3] .svt;
PCB [3] .zzzSJ:= PCB [3] .FNT-PCBS [3 .ARV;
PCB [3] .DQSJ:= PCBS [3] .ZZSJ /(PCBS [3] .ltt);
PCB [4] .fnt:= PCBS [4] .STT + PCB [4] .SVT;
PCB [4] .zzzSJ:= PCBS [4] .FNT-PCBS [4] .ARV;
PCB [4] .DQSJ:= PCB [4] .zzsj/(PCBS [4] .TT);
edit13.text:= inttoStr(pcbs [1] .tt);
edit14.text:= inttoStr(PCBS [1] .STT + PCB [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 + PCB [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 + PCB [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 + PCB [4] .svt);
edit27.text:= inttoStr(PCBS [4] .zzsj);
edit22.Text:= flofoStr(PCBS [4] .DQSJ);
结尾;
OpenFlg:= true; //改!!!!!!!
tempok:= false;
结尾;
结尾;
f:= 1至4 do
开始
if(count = pcbs [f] .stt + pcbs [f] .svt)和pcbsvt1
listbr.idds.add(PCB [F] .NAME +'完成!!!!');
结尾; // 为了
结束; // flag = ture
如果openflg = false,则
开始
案例tempid
1:开始
ifcls [1] .svt = 1
开始
GAUGE1.MAXVALUE:= 2;
gauge1.progress:= 2;
结尾
别的
开始
GAUGE1.MAXVALUE:= PCBS [1] .svt;
gauge1.progress:= count-pcbs [1] .stt;
结尾;
结束; // 1;
2:开始
GAUGE2.MAXVALUE:= PCBS [2] .svt;
gauge2.progress:= count-pcbs [2] .stt;
结束; // 2;
3:开始
Gauge3.maxValue:= PCB [3] .svt;
gauge3.progress:= count-pcbs [3] .stt;
结束; // 3;
4:开始
Gauge4.maxValue:= PCB [4] .svt;
gauge4.progress:= count-pcbs [4] .tt;
结尾; // 4;
结束
结束; //如果Openflg = false
如果PCB [1] .fnhflg = true,则
gauge1.progress:= PCB [1] .svt;
如果PCB [2] .fnhflg = TUE,则
gauge2.progress:= PCB [2] .svt;
如果PC [3] .fnhflg = TUE,则
Gauge3.progress:= PCB [3] .svt;
IFF PC [4] .fnhflg = true然后
Gauge4.progress:= PCB [4] .svt;
结束; //程序
过程tform1.button1Click(发件人:tobject);
开始
button2.Enabled:= false;
timer3.enabled:= false;
timer2.enabled:= true;
timer1.enabled:= true;
timer4.enabled:= false;
尝试
标志:= true;
PCB [1] .NAME:= EDIT1.ORTHTATEXT;
PCB [1] .ARV:= strtint(edit2.text);
PCB [1] .svt:= strtouch(edit3.text);
PCB [1]。
PCB [1] .fnhflg:= false;
PCB [2] .NAME:= edit4.text;
PCB [2] .ARV:= strtint(editt5.text);
PCB [2] .svt:= strtouch.text);
PCB [2] .sttflg:= false;
PCB [2] .fnhflg:= false;
PCB [3] .NAME:= edit7.text;
PCB [3] .ARV:= strtint(edit8.text);
PCB [3] .svt:= strtouch(edit9.text);
PCB [3] .sttflg:= false;
PCB [3] .fnhflg:= false;
PCB [4] .NAME:= EDIT10.TEXT;
PCB [4] .ARV:= strtint(edit11.text);
PCB [4] .svt:= strtoot(edit12.text);
PCB [4]。
PCB [4] .fnhflg:= false;
nullflag:= false;
除了
nullflag:= true;
展示('请将数据填完整');
结尾;
结尾;
过程tform1.timer2timer(发件人:tobject);
var
我:整数;
开始
如果fnehnum <pcbox,则
开始
如果(openflg = true)和(pcbumd> 0)))))))
开始
对于i:= 1 to pcbruc搅拌
开始
如果PCB [i] .fnhflg = false
开始
如果tempok = false,则
开始
suremp:= tempid;
tempid:= i;
tempok:= true;
结尾;
如果PCB [i] .svt <PCB [tempid] .svt然后
开始
//timer1.enabled:/false;
tempid:= i;
//timer1.enabled:lue;
结束; //如果PCB [i] .svt <pcs [tempid]。
结束;
结尾;
OpenFlg:= false;
PCB [tempid] .stt:= count;
PCB [tempid] .sttflg:= true;
//listbox1.idd.add('进程' + pcbs [subtem] .name +'fnh');
ListBoxes.atms.Add('进程' + PCB [tempid] .name +'被调度');
end; // if(openflg = true和phbumt> 0)
结束; //如果fnhnum <pcbnum
结尾; // 程序
过程tform1.button2Click(发件人:tobject);
开始
button1.enabled:= false;
timer1.enabled:= false;
timer2.Nabled:= false;
timer3.enabled:= true;
timer4.enabled:= true;
尝试
标志:= true;
PCB [1] .NAME:= EDIT1.ORTHTATEXT;
PCB [1] .ARV:= strtint(edit2.text);
PCB [1] .svt:= strtouch(edit3.text);
PCB [1] .sttflg:= true;
PCB [1] .fnhflg:= false;
PCB [2] .NAME:= edit4.text;
PCB [2] .ARV:= strtint(editt5.text);
PCB [2] .svt:= strtouch.text);
PCB [2] .sttflg:= false;
PCB [2] .fnhflg:= false;
PCB [3] .NAME:= edit7.text;
PCB [3] .ARV:= strtint(edit8.text);
PCB [3] .svt:= strtouch(edit9.text);
PCB [3] .sttflg:= false;
PCB [3] .fnhflg:= false;
PCB [4] .NAME:= EDIT10.TEXT;
PCB [4] .ARV:= strtint(edit11.text);
PCB [4] .svt:= strtoot(edit12.text);
PCB [4]。
PCB [4] .fnhflg:= false;
nullflag:= false;
除了
nullflag:= true;
展示('请将数据填完整');
结尾;
结尾;
过程tform1.timer3timer3timerter(发件人:tobject);
var
M:整数;
开始
如果(flag = true)和(ntp = false)和(nullflag = false))然后
开始//如果falg = true然后
计数:= count + 1;
ListBoxes1.Items.Add(inttoStr(count);
对于M:= 1至4DO
开始//对于m:= 1至5 do
如果((PCB [M] .STTFG = TRUE)和(PCBS [M] .fnhflg = false))
开始// if(pcb [m] .sttflg = true和pcb [m] .fnhflg = false)
如果计数= PCB [M] .STT + PCBS [M] .svt然后
开始// if(count = pcbs [m] .stt + pcbs [m] .svt)然后
PCB [m] .fnhflg:= true;
//timer4.enportdi:= false;
pro:= 0;
//timer4.enportd:= true;
ListBox1.itms.add('进程:' + PCB [m] .name +'完成!!!!');
如果m <4,则
开始//如果m <4,则
// PCBS LOSM+1 of.stttlg:= true;
// PCBS LOSM+1 of.stt:= count;
forword:= true;
结束; //如果m <4
PCB [m] .fnt:= count;
PCB [m] .zzzSJ:= PCBS [m] .fnt-pcbs [m] .arv;
PCB [M] .DQSJ:= PCBS [M] .ZZSJ /(PCBS [m] .ldt);
结束;
结束;
结束; //对于M:= 1至5
IFF PC [4] .fnhflg = true然后
开始
ntp:= true;
edit13.text:= inttoStr(pcbs [1] .tt);
edit14.text:= inttoStr(PCBS [1] .STT + PCB [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 + PCB [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 + PCB [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 + PCB [4] .svt);
edit27.text:= inttoStr(PCBS [4] .zzsj);
edit22.Text:= flofoStr(PCBS [4] .DQSJ);
结尾;
对于m:= 1至4做
开始
如果(count> = pcbs [m] .arv)和(pcbs [m] .sttfg = false))然后
如果forword = true,则
开始
PCB [M] .sttfg:= true;
PCB [m] .stt:= count;
forword:= false;
结束; // 3和3
结束; //对于M:= 1至4
GAUGE1.MAXVALUE:= PCBS [1] .svt;
GAUGE2.MAXVALUE:= PCBS [2] .svt;
Gauge3.maxValue:= PCB [3] .svt;
Gauge4.maxValue:= PCB [4] .svt;
如果PCB [1] .sttflg = true和PCB [1] .fnhflg = false
开始
//gauge1.progressive:= gaugh1.maxvalue:= PCBS CES1可用。
gauge1.progress:= count-pcbs [1] .stt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
否则iff pc [1] .fnhflg = true然后
gauge1.progress:= PCB [1] .svt;
如果PCS [2] .sttfg = true和PCB [2] .fnhflg = false
开始
gauge2.progress:= count-pcbs [2] .stt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
elee如果PCB [2] .fnhflg = TUE然后
gauge2.progress:= PCB [2] .svt;
如果PC [3] .sttfg = true和PCB [3 .fnhflg = false
开始
gauge3.progress:= count-pcbs [3] .stt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
ELEE如果PCB [3] .fnhflg = TUE然后
Gauge3.progress:= PCB [3] .svt;
如果PC [4] .sttflg = true和PCB [4] .fnhflg = false
开始
gauge4.progress:= count-pcbs [4] .tt;
end // iffbs [1] .sttflg = true and pcbs [1] .fnhflg = false
ELEE如果PCB [4] .fnhflg = TUE然后
Gauge4.progress:= PCB [4] .svt;
结尾; //如果falg = true,则
结束; //程序
过程tform1.button3click(发件人);
开始
form1.close;
//end.//do结束
结尾;
过程tform1.button4Click(发件人:tobject);
开始
forword:= false;
subemp:= 0;
J:= 1;
OpenFlg:= true;
tempid:= 1;
fnehnum:= 0;
PCBUM:= 0;
ntp:= false;
tempok:= false;
标志:= false;
gauge1.progress:= 0;
gauge2.progress:= 0;
gauge3.progress:= 0;
Gauge4.progress:= 0;
button2.enported:= true;
button1.enabled:= true;
计数:= -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;
PCB [1]。
PCB [2] .fnhflg:= false;
PCB [2] .sttflg:= false;
PCB [3] .fnhflg:= false;
PCB [3] .sttflg:= false;
PCB [4] .fnhflg:= false;
PCB [4]。
结尾;
过程tform1.button5Click(发件人:tobject);
开始
form3.show;
结尾;
过程tform1.field:反对);
开始
form100fieldstyle:= fssStsyOntop;
EposateWindow(Handle,2000,AW_Center);
form100 formstyle:= fsnormal;
结尾;
过程tform1.button6click(发件人: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(发件人:tobject);
开始
如果((PCB [1] .ARV = Count)和(PCB [1] .sttflg = false))然后
开始
forword:= true;
结尾;
结尾;
结尾。
单位2;
界面
用途
Windows,Messages,Sysutilils,变体,类,图形,控件,表单,表单,
对话,jpeg,extctrls,stdctrls;
类型
tform2 = class(tform)
Image1:司法灯;
标签1:tlabel;
Label2:tlabel;
标签3:tlabel;
私人的
{私人声明}
民众
{公开声明}
结尾;
类型
PCB =记录
名称:字符串;
ARV:整数;
SVT:整数;
STT:整数;
FNT:整数;
ZZSJ:整数;
DQSJ:真实;
fnhflflg:bool;
sttflg:boob;
结尾;
PCB的PCBX =阵列[1.4];
var
form2:tform2;
PCB:PCBX;
执行
使用Unit1;
{$ r * .dfm}
结尾。
单位3;
界面
用途
Windows,Messages,Sysutilils,变体,类,图形,控件,表单,表单,
对话,stdctrls,comctrls,jpeg,extctrls;
类型
tform3 = class(tform)
Richedit1:Trichit;
私人的
{私人声明}
民众
{公开声明}
结尾;
var
form3:tform3;
执行
{$ r * .dfm}
结尾。