단위 유닛 1;
인터페이스
용도
창, 메시지, sysutilils, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화, comctrls, stdctrls, extctrls, 그리드, 캘린더, 게이지, JPEG;
유형
tform1 = 클래스 (tform)
shape1 : 포드;
Shape2 : 조수;
Shape3 : 반대;
Shape4 : 조수를 위해;
Shape5 : 탭;
Shape6 : 조수를 위해;
Shape7 : 조수를 위해;
Shape8 : 반대;
Shape9 : 조수;
Shape10 : 휴식을 위해;
Shape11 : 반대;
Shape12 : Formore;
staticText1 : tstaticText;
staticText2 : tstaticText;
staticText3 : tstaticText;
staticText4 : tstaticText;
staticText5 : tstaticText;
staticText6 : tstaticText;
staticText7 : tstaticText;
edit1 : 테디;
edit2 : 타이틀;
edit3 : 테디;
edit4 : 타이틀;
edit5 : 타이틀;
edit6 : titit;
edit7 : teded;
edit8 : 타이틀;
edit9 : 타이틀;
edit10 : 타이틀;
edit11 : teded;
edit12 : 테디;
edit13 : 타이틀;
edit16 : 테디;
edit15 : 타이틀;
edit16 : 테디;
edit17 : 타이틀;
edit18 : 테디;
edit19 : 테드;
Edit20 : Teded;
edity21 : 타이틀;
edit22 : 티프;
edit23 : 타이틀;
edit24 : 테디;
edit25 : 타이틀;
edit26 : 타이틀;
edit27 : 타이틀;
edit22 : 타이틀;
버튼 1 : tbutton;
edit2t2 : tited;
TIMER1 : TIMTIMER;
Timer2 : 시간;
Listbox1 : tlistbox;
게이지 1 : tgauge;
게이지 2 : tgauge;
게이지 3 : tgauge;
게이지 4 : tgg;
라벨 1 : tlabel;
라벨 2 : tlabel;
라벨3 : tlabel;
라벨 4 : tlabel;
편집 30 : 테디;
이미지 1 : 시계;
라벨 5 : tlabel;
버튼 2 : tbutton;
타이머 3 : 타이터;
버튼 4 : tbutton;
버튼 5 : tbutton;
버튼 3 : tbutton;
라벨 6 : tlabel;
버튼 6 : tbutton;
타이머 4 : 타이터;
절차 TIMER1STIMER (Sender : Tobject);
절차 버튼 1Click (sender : tobject);
절차 Timer2Timer (Sender : Tobject);
절차 button2click (sender : tobject);
절차 Timer33 Timer (Sender : Tobject);
절차 버튼 3Click (sender : tobject);
절차 버튼 4Click (sender : tobject);
절차 버튼 5Click (sender : tobject);
프로 시저 Formcreate (sender : tobject);
프로 시저 Button6Click (sender : tobject);
절차 Timer4Timer (Sender : Tobject);
사적인
{개인 선언}
공공의
{공개 선언}
끝;
유형
PCB = 레코드
이름 : 문자열;
ARV : 정수;
SVT : 정수;
stt : 정수;
fnt : 정수;
ZZSJ : 정수;
DQSJ : Real;
fnhflflg : bool;
STTFLG : 가슴;
끝;
PCBX = 배열 [1.4] PCB;
var
nullflag : bol = false;
forword : bol = false;
subemp : 정수 = 0;
J : 정수 = 1;
OpenFlg : bolo = true;
템피드 : 정수 = 1;
fnehnum : 정수 = 0;
pcbum : 정수 = 0;
NTP : bol = false;
Tempok : bol = false;
플래그 : bol = false;
form1 : tform1;
쇼 : TdateTime;
수 : 정수 = -1;
프로 : 정수 = 0;
// pcbad : 정수 = 1;
writflg : 정수 = 0;
PCBS : PCBX;
그러나 Min, Sec, Msec : Word;
방법 : 정수 = 1;
구현
Unit3 사용;
{$ r * .dfm}
절차 tform1.Timer1p1.Timer1Timer (sender : tobject);
var
W : 정수;
F : 정수;
시작하다
if flag = true 및 nullflag = false wand and false 远为 true
시작하다
카운트 : = count + 1;
listboxes1.items.add (inttostr (count);
W : = 1 ~ 4 do
시작하다
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 인 경우
시작하다
플래그 : = 거짓;
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 : = 참; // 改 !!!!!!!
템포 : = 거짓;
끝;
끝;
f : = 1 ~ 4 do
시작하다
if (count = pcbs [f] .stt + pcbs [f] .svt) 및 pcbsvt1
listbr.idds.add (pcbs [f] .name + '完成 !!!!');
끝; // 을 위한
끝; // flag = ture
OpenFlg = False 인 경우
시작하다
사례 템피드
1 : 시작
ifcls [1] .svt = 1 그런 다음
시작하다
게이지 1.maxValue : = 2;
게이지 1. 프로그램 : = 2;
끝
또 다른
시작하다
게이지 1.maxValue : = pcbs [1] .SVT;
게이지 1. 프로그램 : = count-pcbs [1] .stt;
끝;
끝; // 1;
2 : 시작
게이지 2.maxValue : = pcbs [2] .svt;
게이지 2.progress : = count-pcbs [2] .stt;
끝; // 2;
3 : 시작
게이지 3.maxvalue : = pcbs [3] .svt;
게이지 3.progress : = count-pcbs [3] .stt;
끝; // 3;
4 : 시작
게이지 4.maxvalue : = pcbs [4] .svt;
게이지 4.progress : = count-pcbs [4] .tt;
끝; // 4;
끝;
끝; // OpenFLG = 오버
pcbs [1] .fnhflg = true 인 경우
게이지 1. 프로그램 : = pcbs [1] .svt;
pcbs [2] .fnhflg = tue 인 경우
게이지 2.progress : = pcbs [2] .svt;
PCS [3] .fnhflg = tue 인 경우
게이지 3.progress : = pcbs [3] .svt;
iff pcs [4] .fnhflg = true
게이지 4.progress : = pcbs [4] .svt;
끝; // 절차
절차 tform1.Button1click (sender : tobject);
시작하다
button2.enabled : = false;
timer3.Enabled : = false;
timer2.enabled : = true;
timer1.enabled : = true;
timer4.enabled : = false;
노력하다
플래그 : = 참;
pcbs [1] .name : = edit1.orthtatext;
pcbs [1] .Arv : = strtint (edit2.text);
pcbs [1] .svt : = strtouch (edit3.text);
pcbs [1]. lsttflg : = false;
pcbs [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]. LSTTFLG : = 거짓;
pcbs [4] .fnhflg : = false;
nullflag : = false;
제외하고
nullflag : = true;
showage ( '请将数据填完整');
끝;
끝;
절차 tform1.Timer2Timer (Sender : Tobject);
var
I : 정수;
시작하다
fnehnum <pcbox라면
시작하다
if (OpenFlg = true) 및 (pcbumd> 0))))
시작하다
i : = 1에서 pcbruc 교반
시작하다
pcbs [i] .fnhflg = false 인 경우
시작하다
tempok = false 인 경우
시작하다
SUREMP : = 템피 드;
템피드 : = i;
Tempok : = true;
끝;
pcbs [i] .svt <pcbs [tempid] .svt라면
시작하다
//timer1.enabled:/false;
템피드 : = i;
//miter1.enabled : lue;
끝; // pcbs [i] .svt <pcs [tempid] .svt
끝; //
끝;
OpenFlg : = 거짓;
pcbs [tempid] .stt : = count;
pcbs [tempid] .sttflg : = true;
//listbox1.idd.add ( '进程' + pcbs [subtem] .name + 'fnh');
listboxes.atms.add ( '进程' + pcbs [tempid] .name + '被调度');
끝; // if (openflg = true 및 phbumt> 0)
끝; // fnhnum <pcbnum이면
끝; // 절차
절차 tform1.Button2Click (sender : tobject);
시작하다
button1.enabled : = false;
timer1.enabled : = false;
timer2.enabled : = false;
TIMER3.ENABLED : = true;
timer4.enabled : = true;
노력하다
플래그 : = 참;
pcbs [1] .name : = edit1.orthtatext;
pcbs [1] .Arv : = strtint (edit2.text);
pcbs [1] .svt : = strtouch (edit3.text);
PCBS [1] .sttflg : = true;
pcbs [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]. LSTTFLG : = 거짓;
pcbs [4] .fnhflg : = false;
nullflag : = false;
제외하고
nullflag : = true;
showage ( '请将数据填完整');
끝;
끝;
절차 tform1.Timer3Timer3Timerter (발신자 : Tobject);
var
M : 정수;
시작하다
if (flag = true) 및 (ntp = false) 및 (nullflag = false))
시작 // falg = true라면 시작하십시오
카운트 : = count + 1;
listboxes1.items.add (inttostr (count);
m : = 1 ~ 4DO의 경우
m : = 1 ~ 5 do에 대해 // 시작하십시오
if ((pcbs [m] .sttfg = true) 및 (pcbs [m] .fnhflg = false))
시작 // if (pcb [m] .sttflg = true 및 pcb [m] .fnhflg = false)
count = pcbs [m] .stt + pcbs [m] .svt 다음에
시작 // if (count = pcbs [m] .stt + pcbs [m] .svt) 그런 다음
pcbs [m] .fnhflg : = true;
//timer4.enportdi : = false;
프로 : = 0;
//timer4.enportd : = true;
listbox1.itms.add ( '进程 :' + pcbs [m] .name + '完成 !!!!');
그럼 m <4 인 경우
시작 // m <4이면 시작하십시오
// pcbs losm+1 of.stttlg : = true;
// pcbs losm+1 of.stt : = count;
forword : = true;
끝; // m <4 인 경우
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 [m] .svt)
끝; // if (pcb [m] .sttflg = true 및 pcb [m] .fnhflg = false)
끝; // m : = 1 ~ 5 do
iff pcs [4] .fnhflg = true
시작하다
NTP : = 참;
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 do의 경우
시작하다
if (count> = pcbs [m] .arv) 및 (pcbs [m] .sttfg = false))
Forword = true라면
시작하다
pcbs [m] .sttfg : = true;
pcbs [m] .stt : = count;
포드 : = 거짓;
끝; // 3 and
끝; // m : = 1 ~ 4 do
게이지 1.maxValue : = pcbs [1] .SVT;
게이지 2.maxValue : = pcbs [2] .svt;
게이지 3.maxvalue : = pcbs [3] .svt;
게이지 4.maxvalue : = pcbs [4] .svt;
pcbs [1] .sttflg = true 및 pcbs [1] .fnhflg = false 인 경우
시작하다
//gauge1.progriast:=gaugh1.maxvalue : = pcbs ces1을 사용할 수 있습니다 .shtt;
게이지 1. 프로그램 : = count-pcbs [1] .stt;
end // iffbs [1] .sttflg = true 및 pcbs [1] .fnhflg = false
그렇지 않으면 iff pcs [1] .fnhflg = true
게이지 1. 프로그램 : = pcbs [1] .svt;
PCS [2] .sttfg = true 및 pcbs [2] .fnhflg = false 인 경우
시작하다
게이지 2.progress : = count-pcbs [2] .stt;
end // iffbs [1] .sttflg = true 및 pcbs [1] .fnhflg = false
pcbs [2] .fnhflg = tue
게이지 2.progress : = pcbs [2] .svt;
PCS [3] .sttfg = true 및 pcbs [3 .fnhflg = false 인 경우
시작하다
게이지 3.progress : = count-pcbs [3] .stt;
end // iffbs [1] .sttflg = true 및 pcbs [1] .fnhflg = false
pcbs [3] .fnhflg = tue
게이지 3.progress : = pcbs [3] .svt;
PCS [4] .sttflg = true 및 pcbs [4] .fnhflg = false 인 경우
시작하다
게이지 4.progress : = count-pcbs [4] .tt;
end // iffbs [1] .sttflg = true 및 pcbs [1] .fnhflg = false
pcbs [4] .fnhflg = tue
게이지 4.progress : = pcbs [4] .svt;
끝; // falg = true라면
끝; // 절차
절차 tform1.Button3Click (sender);
시작하다
form1.close;
//end.//do Over
끝;
절차 tform1.Button4Click (sender : tobject);
시작하다
포드 : = 거짓;
subemp : = 0;
J : = 1;
OpenFlg : = 참;
템피드 : = 1;
fnehnum : = 0;
pcbum : = 0;
NTP : = 거짓;
템포 : = 거짓;
플래그 : = 거짓;
게이지 1. 프로그램 : = 0;
게이지 2.progress : = 0;
게이지 3.progress : = 0;
게이지 4.progress : = 0;
button2.enported : = true;
button1.enabled : = true;
수 : = -1;
프로 : = 0;
// pcbad : 정수 = 1;
writflg : = 0;
플래그 : = 거짓;
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 : = '系统填写';
pcbs [1] .fnhflg : = false;
pcbs [1]. lsttflg : = false;
pcbs [2] .fnhflg : = false;
PCBS [2] .sttflg : = false;
pcbs [3] .fnhflg : = false;
PCBS [3] .sttflg : = false;
pcbs [4] .fnhflg : = false;
PCBS [4]. LSTTFLG : = 거짓;
끝;
절차 tform1.Button5Click (sender : tobject);
시작하다
form3.show;
끝;
절차 tform1.field : 객체);
시작하다
form100fieldStyle : = fssstsyontop;
EposateWindow (Handle, 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;
끝;
끝;
끝.
단위 Unit2;
인터페이스
용도
창, 메시지, sysutilils, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화 상자, jpeg, extctrls, stdctrls;
유형
tform2 = 클래스 (tform)
이미지 1 : 시계;
라벨 1 : tlabel;
라벨 2 : tlabel;
라벨3 : tlabel;
사적인
{개인 선언}
공공의
{공개 선언}
끝;
유형
PCB = 레코드
이름 : 문자열;
ARV : 정수;
SVT : 정수;
stt : 정수;
fnt : 정수;
ZZSJ : 정수;
DQSJ : Real;
fnhflflg : bool;
STTFLG : 가슴;
끝;
PCBX = 배열 [1.4] PCB;
var
form2 : tform2;
PCBS : PCBX;
구현
UNIT1 사용;
{$ r * .dfm}
끝.
단위 3;
인터페이스
용도
창, 메시지, sysutilils, 변형, 클래스, 그래픽, 컨트롤, 양식,
대화, stdctrls, comctrls, jpeg, extctrls;
유형
tform3 = 클래스 (tform)
Richedit1 : Trichit;
사적인
{개인 선언}
공공의
{공개 선언}
끝;
var
form3 : tform3;
구현
{$ r * .dfm}
끝.