Unidad Unidad1;
Interfaz
Usos
Windows, mensajes, sysutililos, variantes, clases, gráficos, controles, formularios,
Diálogo, comctrls, stdctrls, extctrls, cuadrículas, calendario, medidores, jpeg;
tipo
TForm1 = class (tForm)
Shape1: Ford;
Forma2: para la marea;
Shape3: para lo contrario;
Shape4: para la marea;
Shape5: pestañas;
Shape6: para la marea;
Forma7: para la marea;
Shape8: para lo contrario;
Shape9: para la marea;
Shape10: para un descanso;
Forma11: para lo contrario;
Forma12: formore;
Statictext1: tstateText;
StaticExt2: tstateText;
StaticExt3: tstateText;
StaticExt4: tstateText;
StaticExt5: tstateText;
StaticExt6: tstateText;
Statictext7: tstateText;
Edit1: tedit;
Edit2: titit;
Edit3: tedit;
Edit4: titit;
Edit5: titit;
Edit6: titit;
Edit7: Teded;
Edit8: titit;
Edit9: titit;
Editar10: 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;
Botón 1: tbutton;
Edit2t2: titado;
Timer1: Timtimer;
Temporizante2: tiempo;
Listbox1: tlistbox;
Calibre1: tgauge;
Calibre2: tgauge;
Calibre3: tgauge;
Calibre4: tgg;
Etiqueta1: tlabel;
Etiqueta2: tlabel;
Etiqueta3: tlabel;
Etiqueta4: tlabel;
Edit30: tedit;
Imagen1: Tiempo;
Label5: tlabel;
Button2: tbutton;
Temporizador3: Tiempo;
Button4: tbutton;
Button5: tbutton;
Button3: tbutton;
Label6: tlabel;
Button6: tbutton;
Temporizante4: Tiempo;
Procedimiento temporizador1stimer (remitente: tobject);
procedimiento botón1Click (remitente: tobject);
procedimiento Timer2Timer (remitente: tobject);
procedimiento Button2Click (remitente: tobject);
procedimiento Timer33Timer (remitente: tobject);
procedimiento Button3Click (remitente: tobject);
Button de procedimiento4Click (remitente: tobject);
procedimiento Button5Click (remitente: tobject);
procedimiento formulcreate (remitente: tobject);
Procedimiento Button6Click (remitente: tobject);
procedimiento Timer4Timer (remitente: tobject);
Privado
{Declaraciones privadas}
público
{Declaraciones públicas}
fin;
tipo
PCB = registro
Nombre: cadena;
ARV: entero;
SVT: entero;
STT: entero;
FNT: entero;
Zzsj: entero;
DQSJ: Real;
fnhflg: bool;
Sttflg: teta;
fin;
PCBX = Array [1.4] de PCB;
varilla
Nullflag: bol = falso;
Forword: Bol = falso;
Subemper: integer = 0;
J: entero = 1;
Openflg: bolo = true;
Tempid: entero = 1;
Fnehnum: Integer = 0;
Pcbum: integer = 0;
Ntp: bol = falso;
Tempok: bol = falso;
Bandera: bol = falso;
Form1: tform1;
Show: Tdatetime;
Recuento: entero = -1;
Pro: entero = 0;
// pcbad: integer = 1;
writflg: integer = 0;
PCB: PCBX;
aunque, min, sec, msec: palabra;
Método: entero = 1;
implementación
usar la unidad3;
{$ R * .dfm}
procedimiento tForm1.timer1p1.Timer1Timer (remitente: tobject);
varilla
W: entero;
F: entero;
comenzar
if flag = true y nullflag = false entonces y falso 远为 verdadero
comenzar
Recuento: = recuento + 1;
ListBoxes1.Items.Add (intToStr (count);
para w: = 1 a 4 hacer
comenzar
Si pcbs [w] .arv = counten
comenzar
Timer2.enabled: = false;
Pcbum: = pcbnum + 1;
Timer2.enabled: = true;
fin;
fin;
Si Openflg = falso entonces
comenzar
Si Count (Count = PCBS [TEMPID] .STT + PCBS [TEMPID] .SVT) Entonces
comenzar
Pcbs [tempid] .fnhflg: = true;
fnehnum: = fnehre + 1;
Si fnehnum = 4 entonces
comenzar
Bandera: = falso;
PCB [1] .fnt: = PCBS [1] .stt + PCB [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);
PCB [3] .fnt: = PCBS [3] .stt + PCB [3] .svt;
PCB [3] .ZzzSJ: = PCBS [3] .FNT-PCBS [3 .arv;
PCBS [3] .DQSJ: = PCBS [3] .ZZSJ / (PCBS [3] .LTT);
PCB [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);
fin;
Openflg: = True; // 改 改 改 改 改 改 改 改 改 改 改 改 改 改 改 改 改 改 改 改
Tempok: = falso;
fin;
fin;
para f: = 1 a 4 hacer
comenzar
if (count = pcbs [f] .stt + pcbs [f] .svt) y pcbsvt1
Listbr.idds.add (pcbs [f] .name + '完成 !!!!');
fin; // para
fin;
Si Openflg = falso entonces
comenzar
Casos tempid
1: Comienza
ifcls [1] .svt = 1 entonces
comenzar
calibre1.maxValue: = 2;
calibre1.progress: = 2;
fin
demás
comenzar
Gauge1.MaxValue: = PCBS [1] .svt;
Gauge1.Progress: = Count-PCBS [1] .stt;
fin;
fin; / 1;
2: Comienza
Gauge2.maxValue: = PCBS [2] .svt;
Gauge2.Progress: = Count-PCBS [2] .stt;
fin; / 2;
3: Comienza
calibre3.maxValue: = PCBS [3] .svt;
Gauge3.progress: = Count-PCBS [3] .stt;
fin; / 3;
4: Comienza
calibre4.maxValue: = pcbs [4] .svt;
calibre4.progress: = count-PCBS [4] .tt;
fin; // 4;
fin;
final;
Si pcbs [1] .fnhflg = verdadero entonces
Gauge1.Progress: = PCBS [1] .svt;
Si pcbs [2] .fnhflg = martes entonces entonces
Gauge2.Progress: = PCB [2] .svt;
Si las PC [3] .fnhflg = Tue entonces
Gauge3.progress: = PCB [3] .svt;
IFF PCS [4] .fnhflg = True entonces
calibre4.progress: = PCB [4] .svt;
fin;
procedimiento tForm1.Button1Click (remitente: tobject);
comenzar
Button2.enabled: = false;
temporizador3.enabled: = false;
Timer2.enabled: = true;
Timer1.enabled: = true;
temporizador4.Enabled: = false;
intentar
bandera: = verdadero;
Pcbs [1] .name: = edit1.orthtatext;
Pcbs [1] .arv: = strtint (edit2.Text);
PCBS [1] .svt: = strTouch (edit3.Text);
PCBS [1].
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);
PCB [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);
PCB [4].
PCBS [4] .fnhflg: = false;
Nullflag: = false;
Excepto
nullflag: = verdadero;
Showage ('请将数据填完整');
fin;
fin;
procedimiento tForm1.Timer2Timer (remitente: tobject);
varilla
I: entero;
comenzar
Si Fnehnum <PCBox entonces
comenzar
if (openflg = true) y (pcbumd> 0))))
comenzar
para i: = 1 a PCBRUC revuelto
comenzar
Si pcbs [i] .fnhflg = falso
comenzar
Si tempok = falso entonces
comenzar
Suremp: = tempid;
Tempid: = i;
Tempok: = verdadero;
fin;
Si pcbs [i] .svt <pcbs [tempid] .svt entonces
comenzar
//timer1.enabled:/false;
Tempid: = i;
//timer1.enabled: lue;
final;
fin;
fin;
Openflg: = false;
PCBS [tempid] .stt: = count;
PCBS [tempid] .sttflg: = true;
//listbox1.idd.add ('进程' + pcbs [subtem] .name + 'fnh');
ListBoxes.Atms.Add ('进程' + PCBS [tempid] .name + '被调度');
final;
final ;/ si fnhnum <pcbnum entonces
fin; // procedimiento
procedimiento tForm1.Button2Click (remitente: tobject);
comenzar
Botón1.Enabled: = false;
Timer1.enabled: = false;
Timer2.enabled: = false;
temporizador3.enabled: = true;
temporizador4.Enabled: = true;
intentar
bandera: = verdadero;
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);
PCB [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);
PCB [4].
PCBS [4] .fnhflg: = false;
Nullflag: = false;
Excepto
nullflag: = verdadero;
Showage ('请将数据填完整');
fin;
fin;
procedimiento tForm1.Timer3Timer3Timerter (remitente: tobject);
varilla
M: entero;
comenzar
if (flag = true) y (ntp = false) y (nullflag = false)) entonces
Comenzar // si falg = verdadero entonces
Recuento: = recuento + 1;
ListBoxes1.Items.Add (intToStr (count);
para m: = 1 a 4DO
Comenzar // para m: = 1 a 5 do
If ((pcbs [m] .sttfg = true) y (pcbs [m] .fnhflg = falso)))
Begin // if (pcb [m] .sttflg = true y pcb [m] .fnhflg = falso)
Si count = pcbs [m] .stt + pcbs [m] .svt entonces
Begin // if (count = pcbs [m] .stt + pcbs [m] .svt) entonces
Pcbs [m] .fnhflg: = true;
//timer4.enportdi: = false;
Pro: = 0;
//timer4.enportd: = true;
Listbox1.itms.add ('进程:' + pcbs [m] .name + '完成 !!!!');
Si m <4 entonces
Comenzar // si m <4 entonces
// pcbs losm+1 de.stttlg: = true;
// PCBS LOSM+1 de.stt: = Count;
Forword: = True;
fin;
PCBS [M] .fnt: = Count;
PCBS [M] .ZZZSJ: = PCBS [M] .FNT-PCBS [M] .arv;
Pcbs [m] .dqsj: = pcbs [m] .zzsj / (pcbs [m] .dt);
fin; // if (count = pcbs [m] .stt + pcbs [m] .svt)
final;
fin; / para M: = 1 a 5
IFF PCS [4] .fnhflg = True entonces
comenzar
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);
fin;
para m: = 1 a 4 hacer
comenzar
If (count> = pcbs [m] .arv) y (pcbs [m] .sttfg = false)) entonces
Si forword = verdadero entonces
comenzar
Pcbs [m] .sttfg: = true;
PCBS [M] .stt: = Count;
Forword: = false;
fin;
fin; / para m: = 1 a 4
Gauge1.MaxValue: = PCBS [1] .svt;
Gauge2.maxValue: = PCBS [2] .svt;
calibre3.maxValue: = PCBS [3] .svt;
calibre4.maxValue: = pcbs [4] .svt;
Si pcbs [1] .sttflg = true y pcbs [1] .fnhflg = falso
comenzar
//gauge1.progressive:=Gaugh1.maxValue: = PCBS CES1 está disponible.shtt;
Gauge1.Progress: = Count-PCBS [1] .stt;
End // iffbs [1] .sttflg = true y pcbs [1] .fnhflg = falso
De lo contrario IFF PCS [1] .fnhflg = verdadero entonces
Gauge1.Progress: = PCBS [1] .svt;
Si las PCS [2] .sttfg = true y pcbs [2] .fnhflg = falso
comenzar
Gauge2.Progress: = Count-PCBS [2] .stt;
End // iffbs [1] .sttflg = true y pcbs [1] .fnhflg = falso
Elee si PCBS [2] .fnhflg = martes entonces entonces
Gauge2.Progress: = PCB [2] .svt;
Si las PCS [3] .sttfg = true y PCB [3 .fnhflg = falso
comenzar
Gauge3.progress: = Count-PCBS [3] .stt;
End // iffbs [1] .sttflg = true y pcbs [1] .fnhflg = falso
Elee si PCB [3] .fnhflg = martes entonces entonces
Gauge3.progress: = PCB [3] .svt;
Si las PC [4] .sttflg = true y pcbs [4] .fnhflg = falso
comenzar
calibre4.progress: = count-PCBS [4] .tt;
End // iffbs [1] .sttflg = true y pcbs [1] .fnhflg = falso
Elee si PCB [4] .fnhflg = martes entonces entonces
calibre4.progress: = PCB [4] .svt;
fin; // si falg = verdadero entonces
fin;
procedimiento tForm1.Button3Click (remitente);
comenzar
Form1.close;
//end.//do over
fin;
procedimiento tForm1.Button4Click (remitente: tobject);
comenzar
Forword: = false;
Subempr: = 0;
J: = 1;
Openflg: = True;
Tempid: = 1;
fnehnum: = 0;
Pcbum: = 0;
Ntp: = false;
Tempok: = falso;
Bandera: = falso;
calibre1.progress: = 0;
calibre2.progress: = 0;
calibre3.progress: = 0;
calibre4.progress: = 0;
Botón 2.enportado: = true;
Botón1.Enabled: = true;
Contar: = - 1;
Pro: = 0;
// pcbad: integer = 1;
writflg: = 0;
Bandera: = falso;
Nullflag: = false;
edit1.Text: = ';
Edit2.Text: = ';
Edit3.Text: = ';
Editar4.Text: = ';
Editar5.Text: = ';
Edit6.Text: = ';
edit7.Text: = ';
edit8.Text: = ';
Editar9.Text: = ';
editar9.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].
PCBS [2] .fnhflg: = false;
PCBS [2] .sttflg: = false;
PCBS [3] .fnhflg: = false;
PCBS [3] .sttflg: = false;
PCBS [4] .fnhflg: = false;
PCB [4].
fin;
procedimiento tForm1.Button5Click (remitente: tobject);
comenzar
form3.show;
fin;
procedimiento tForm1.field: objetando);
comenzar
Form100fieldstyle: = fssstsyontop;
EposateWindow (Handle, 2000, Aw_Center);
Form100FormStyle: = fsnormal;
fin;
procedimiento tForm1.Button6Click (remitente: tobject);
comenzar
edit1.Text: = 'a';
Edit2.Text: = '0';
Edit3.Text: = '3';
editar4.Text: = 'b';
Editar5.Text: = '5';
Edit6.Text: = '2';
edit7.Text: = 'C';
edit8.Text: = '5';
Edit9.Text: = '3';
edit19.Text: = 'd';
edit11.Text: = '5';
edit12.Text: = '2';
fin;
procedimiento tForm1.Timer4Timer4Timer (remitente: tobject);
comenzar
If ((pcbs [1] .arv = count) y (pcbs [1] .sttflg = false)) entonces
comenzar
Forword: = True;
fin;
fin;
Fin.
Unidad Unidad2;
Interfaz
Usos
Windows, mensajes, sysutililos, variantes, clases, gráficos, controles, formularios,
Diálogo, jpeg, extctrls, stdctrls;
tipo
TForm2 = class (tForm)
Imagen1: Tiempo;
Etiqueta1: tlabel;
Etiqueta2: tlabel;
Etiqueta3: tlabel;
Privado
{Declaraciones privadas}
público
{Declaraciones públicas}
fin;
tipo
PCB = registro
Nombre: cadena;
ARV: entero;
SVT: entero;
STT: entero;
FNT: entero;
Zzsj: entero;
DQSJ: Real;
fnhflg: bool;
Sttflg: teta;
fin;
PCBX = Array [1.4] de PCB;
varilla
Form2: tform2;
PCB: PCBX;
implementación
Usar la unidad1;
{$ R * .dfm}
Fin.
Unidad Unidad3;
Interfaz
Usos
Windows, mensajes, sysutililos, variantes, clases, gráficos, controles, formularios,
Diálogo, stdctrls, comctrls, jpeg, extctrls;
tipo
TForm3 = class (tForm)
Richedit1: Trichit;
Privado
{Declaraciones privadas}
público
{Declaraciones públicas}
fin;
varilla
Form3: tForm3;
implementación
{$ R * .dfm}
Fin.