procedure
TForm1
.
FormCreate(Sender: TObject);
begin
ComPort1
.
Open;
i:=
0
;
q:=
0
;
Sleep(
15000
);
ADOConnection1
.
Connected:=
true
;
end
;
procedure
TForm1
.
ComPort1DSRChange(Sender: TObject; OnOff:
Boolean
);
begin
if
OnOff=
true
then
begin
Edit1
.
Text:=
'on'
;
Timer1
.
Enabled:=
false
;
if
i=
1
then
begin
try
ADOQuery1
.
Close;
ADOQuery1
.
Open;
ADOQuery1
.
Edit;
ADOQuery1
.
FieldByName(
'Stop'
).AsDateTime:=now();
ADOQuery1
.
Post;
except
ADOConnection1
.
Close;
end
;
try
ADOQuery3
.
Close;
ADOQuery3
.
Open;
ADOQuery3
.
Insert;
ADOQuery3
.
FieldByName(
'Time'
).AsDateTime:=now();
ADOQuery3
.
FieldByName(
'Shop'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Unit'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Shift'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Brigade'
).AsInteger:=
1
;
ADOQuery3
.
Post;
except
ADOConnection1
.
Close;
end
;
end
;
if
i=
0
then
begin
try
ADOQuery3
.
Close;
ADOQuery3
.
Open;
ADOQuery3
.
Insert;
ADOQuery3
.
FieldByName(
'Time'
).AsDateTime:=now();
ADOQuery3
.
FieldByName(
'Shop'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Unit'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Shift'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Brigade'
).AsInteger:=
1
;
ADOQuery3
.
Post;
except
ADOConnection1
.
Close;
end
;
end
;
end
else
begin
Edit1
.
Text:=
'off'
;
Timer1
.
Enabled:=
true
;
i:=
0
;
end
;
end
;
procedure
TForm1
.
Timer1Timer(Sender: TObject);
begin
try
ADOQuery2
.
Close;
ADOQuery2
.
Open;
ADOQuery2
.
Insert;
ADOQuery2
.
FieldByName(
'Start'
).AsDateTime:=now()-
5
/
24
/
60
;
ADOQuery2
.
FieldByName(
'Shop'
).AsInteger:=
1
;
ADOQuery2
.
FieldByName(
'Unit'
).AsInteger:=
1
;
ADOQuery2
.
Post;
except
ADOConnection1
.
Close;
end
;
i:=
1
;
Timer1
.
Enabled:=
false
;
end
;
procedure
TForm1
.
FormDestroy(Sender: TObject);
begin
ComPort1
.
Close;
ADOConnection1
.
Close;
end
;
procedure
TForm1
.
ComPort1CTSChange(Sender: TObject; OnOff:
Boolean
);
begin
if
OnOff=
true
then
begin
Edit2
.
Text:=
'on'
;
Timer2
.
Enabled:=
false
;
if
q=
1
then
begin
try
ADOQuery4
.
Close;
ADOQuery4
.
Open;
ADOQuery4
.
Edit;
ADOQuery4
.
FieldByName(
'Stop'
).AsDateTime:=now();
ADOQuery4
.
Post;
except
ADOConnection1
.
Close;
end
;
ADOQuery3
.
SQL
.
Add(
'SELECT * from Ready'
);
try
ADOQuery3
.
Close;
ADOQuery3
.
Open;
ADOQuery3
.
Insert;
ADOQuery3
.
FieldByName(
'Time'
).AsDateTime:=now();
ADOQuery3
.
FieldByName(
'Shop'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Unit'
).AsInteger:=
2
;
ADOQuery3
.
FieldByName(
'Shift'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Brigade'
).AsInteger:=
1
;
ADOQuery3
.
Post;
except
ADOConnection1
.
Close;
end
;
end
;
if
q=
0
then
begin
try
ADOQuery3
.
Close;
ADOQuery3
.
Open;
ADOQuery3
.
Insert;
ADOQuery3
.
FieldByName(
'Time'
).AsDateTime:=now();
ADOQuery3
.
FieldByName(
'Shop'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Unit'
).AsInteger:=
2
;
ADOQuery3
.
FieldByName(
'Shift'
).AsInteger:=
1
;
ADOQuery3
.
FieldByName(
'Brigade'
).AsInteger:=
1
;
ADOQuery3
.
Post;
except
ADOConnection1
.
Close;
end
;
end
;
end
else
begin
Edit2
.
Text:=
'off'
;
Timer2
.
Enabled:=
true
;
q:=
0
;
end
;
end
;
procedure
TForm1
.
Timer2Timer(Sender: TObject);
begin
try
ADOQuery2
.
Close;
ADOQuery2
.
Open;
ADOQuery2
.
Insert;
ADOQuery2
.
FieldByName(
'Start'
).AsDateTime:=now()-
5
/
24
/
60
;
ADOQuery2
.
FieldByName(
'Shop'
).AsInteger:=
1
;
ADOQuery2
.
FieldByName(
'Unit'
).AsInteger:=
2
;
ADOQuery2
.
Post;
except
ADOConnection1
.
Close;
end
;
q:=
1
;
Timer2
.
Enabled:=
false
;
end
;
procedure
TForm1
.
Timer3Timer(Sender: TObject);
begin
if
TimeToStr(now) =
'19:00:00'
then
begin
if
i=
0
then
begin
try
ADOQuery1
.
Close;
ADOQuery1
.
Open;
ADOQuery1
.
Edit;
ADOQuery1
.
FieldByName(
'Stop'
).AsDateTime:=now();
ADOQuery1
.
Post;
except
ADOConnection1
.
Close;
end
;
Timer1
.
Enabled:=
true
;
end
;
if
q=
0
then
begin
try
ADOQuery4
.
Close;
ADOQuery4
.
Open;
ADOQuery4
.
Edit;
ADOQuery4
.
FieldByName(
'Stop'
).AsDateTime:=now();
ADOQuery4
.
Post;
except
ADOConnection1
.
Close;
end
;
Timer1
.
Enabled:=
true
;
end
;
end
;
end
;
end
.