📄 asc2setup.pas
字号:
DateTimeEdit.Text := Copy(S,1,2)+' '+'20'+Copy(S,3,2)+'-'+Copy(S,5,2)+'-'+Copy(S,7,2);
DateTimeEdit.Text := DateTimeEdit.Text+' '+Copy(S,9,2)+':'+Copy(S,11,2)+':'+Copy(S,13,2);
end else
SetLamp(1);
SetLamp(2);
if ascGetStatus(hComDev,1,devid,S)=0 then
begin
SetLamp(3);
if Copy(S,3,1)='0' then
PtrButton1.Checked := True
else
PtrButton2.Checked := True;
if Copy(S,4,2)='00' then
TotalButton1.Checked := True
else if Copy(S,4,2)='01' then
TotalButton2.Checked := True
else
TotalButton3.Checked := True;
end else
SetLamp(1);
end;
// 时间表
procedure TASC2SetupForm.TimeCodeUpDownChanging(Sender: TObject; var AllowChange: Boolean);
begin
TimeCodeEdit.Text := IntToStr(TimeCodeUpDown.Position);
end;
procedure TASC2SetupForm.TimeCodeEditChange(Sender: TObject);
begin
LoadTimeCodeDef();
end;
procedure TASC2SetupForm.TSEnChkBox0Click(Sender: TObject);
begin
StoreTimeCodeDef();
end;
procedure TASC2SetupForm.ReadTimeCodeButtonClick(Sender: TObject);
var
S,S1,S2,S3,S4,S5,S6,S7,S8: string;
i: Smallint;
begin
S := StringOfChar(' ',16);
SetLamp(2);
if ascGetTimeCodeCount(hComDev,1,devid,S)=0 then
begin
TimeCodesEdit.Text := S;
SetLamp(3);
end else
SetLamp(1);
for i:=0 to StrToInt(TimeCodesEdit.Text)-1 do
begin
S1 := StringOfChar(' ',16);
S2 := StringOfChar(' ',16);
S3 := StringOfChar(' ',16);
S4 := StringOfChar(' ',16);
S5 := StringOfChar(' ',16);
S6 := StringOfChar(' ',16);
S7 := StringOfChar(' ',16);
S8 := StringOfChar(' ',16);
SetLamp(2);
if ascGetTimeCode(hComDev,2,devid,i,S,S1,S2,S3,S4,S5,S6,S7,S8)=0 then
begin
TimeCodeEnable[i] := StrToInt(S);
TimeCode[i,0,0]:=Copy(S1,1,2)+':'+Copy(S1,3,2)+':00';
TimeCode[i,0,1]:=Copy(S1,5,2)+':'+Copy(S1,7,2)+':00';
TimeCode[i,0,2]:=Copy(S1,9,2)+':'+Copy(S1,11,2)+':00';
TimeCode[i,0,3]:=Copy(S1,13,2)+':'+Copy(S1,15,2)+':00';
TimeCode[i,1,0]:=Copy(S2,1,2)+':'+Copy(S2,3,2)+':00';
TimeCode[i,1,1]:=Copy(S2,5,2)+':'+Copy(S2,7,2)+':00';
TimeCode[i,1,2]:=Copy(S2,9,2)+':'+Copy(S2,11,2)+':00';
TimeCode[i,1,3]:=Copy(S2,13,2)+':'+Copy(S2,15,2)+':00';
TimeCode[i,2,0]:=Copy(S3,1,2)+':'+Copy(S3,3,2)+':00';
TimeCode[i,2,1]:=Copy(S3,5,2)+':'+Copy(S3,7,2)+':00';
TimeCode[i,2,2]:=Copy(S3,9,2)+':'+Copy(S3,11,2)+':00';
TimeCode[i,2,3]:=Copy(S3,13,2)+':'+Copy(S3,15,2)+':00';
TimeCode[i,3,0]:=Copy(S4,1,2)+':'+Copy(S4,3,2)+':00';
TimeCode[i,3,1]:=Copy(S4,5,2)+':'+Copy(S4,7,2)+':00';
TimeCode[i,3,2]:=Copy(S4,9,2)+':'+Copy(S4,11,2)+':00';
TimeCode[i,3,3]:=Copy(S4,13,2)+':'+Copy(S4,15,2)+':00';
TimeCode[i,4,0]:=Copy(S5,1,2)+':'+Copy(S5,3,2)+':00';
TimeCode[i,4,1]:=Copy(S5,5,2)+':'+Copy(S5,7,2)+':00';
TimeCode[i,4,2]:=Copy(S5,9,2)+':'+Copy(S5,11,2)+':00';
TimeCode[i,4,3]:=Copy(S5,13,2)+':'+Copy(S5,15,2)+':00';
TimeCode[i,5,0]:=Copy(S6,1,2)+':'+Copy(S6,3,2)+':00';
TimeCode[i,5,1]:=Copy(S6,5,2)+':'+Copy(S6,7,2)+':00';
TimeCode[i,5,2]:=Copy(S6,9,2)+':'+Copy(S6,11,2)+':00';
TimeCode[i,5,3]:=Copy(S6,13,2)+':'+Copy(S6,15,2)+':00';
TimeCode[i,6,0]:=Copy(S7,1,2)+':'+Copy(S7,3,2)+':00';
TimeCode[i,6,1]:=Copy(S7,5,2)+':'+Copy(S7,7,2)+':00';
TimeCode[i,6,2]:=Copy(S7,9,2)+':'+Copy(S7,11,2)+':00';
TimeCode[i,6,3]:=Copy(S7,13,2)+':'+Copy(S7,15,2)+':00';
TimeCode[i,7,0]:=Copy(S8,1,2)+':'+Copy(S8,3,2)+':00';
TimeCode[i,7,1]:=Copy(S8,5,2)+':'+Copy(S8,7,2)+':00';
TimeCode[i,7,2]:=Copy(S8,9,2)+':'+Copy(S8,11,2)+':00';
TimeCode[i,7,3]:=Copy(S8,13,2)+':'+Copy(S8,15,2)+':00';
LoadTimeCodeDef();
SetLamp(3);
end else
SetLamp(1);
end;
end;
procedure TASC2SetupForm.WriteTimeCodeButtonClick(Sender: TObject);
var
S1,S2,S3,S4,S5,S6,S7,S8: string;
tsen: Byte;
i: Smallint;
begin
for i:=0 to StrToInt(TimeCodesEdit.Text)-1 do
begin
tsen := TimeCodeEnable[i];
S1 := Copy(TimeCode[i,0,0],1,2)+Copy(TimeCode[i,0,0],4,2);
S1 := S1+Copy(TimeCode[i,0,1],1,2)+Copy(TimeCode[i,0,1],4,2);
S1 := S1+Copy(TimeCode[i,0,2],1,2)+Copy(TimeCode[i,0,2],4,2);
S1 := S1+Copy(TimeCode[i,0,3],1,2)+Copy(TimeCode[i,0,3],4,2);
S2 := Copy(TimeCode[i,1,0],1,2)+Copy(TimeCode[i,1,0],4,2);
S2 := S2+Copy(TimeCode[i,1,1],1,2)+Copy(TimeCode[i,1,1],4,2);
S2 := S2+Copy(TimeCode[i,1,2],1,2)+Copy(TimeCode[i,1,2],4,2);
S2 := S2+Copy(TimeCode[i,1,3],1,2)+Copy(TimeCode[i,1,3],4,2);
S3 := Copy(TimeCode[i,2,0],1,2)+Copy(TimeCode[i,2,0],4,2);
S3 := S3+Copy(TimeCode[i,2,1],1,2)+Copy(TimeCode[i,2,1],4,2);
S3 := S3+Copy(TimeCode[i,2,2],1,2)+Copy(TimeCode[i,2,2],4,2);
S3 := S3+Copy(TimeCode[i,2,3],1,2)+Copy(TimeCode[i,2,3],4,2);
S4 := Copy(TimeCode[i,3,0],1,2)+Copy(TimeCode[i,3,0],4,2);
S4 := S4+Copy(TimeCode[i,3,1],1,2)+Copy(TimeCode[i,3,1],4,2);
S4 := S4+Copy(TimeCode[i,3,2],1,2)+Copy(TimeCode[i,3,2],4,2);
S4 := S4+Copy(TimeCode[i,3,3],1,2)+Copy(TimeCode[i,3,3],4,2);
S5 := Copy(TimeCode[i,4,0],1,2)+Copy(TimeCode[i,4,0],4,2);
S5 := S5+Copy(TimeCode[i,4,1],1,2)+Copy(TimeCode[i,4,1],4,2);
S5 := S5+Copy(TimeCode[i,4,2],1,2)+Copy(TimeCode[i,4,2],4,2);
S5 := S5+Copy(TimeCode[i,4,3],1,2)+Copy(TimeCode[i,4,3],4,2);
S6 := Copy(TimeCode[i,5,0],1,2)+Copy(TimeCode[i,5,0],4,2);
S6 := S6+Copy(TimeCode[i,5,1],1,2)+Copy(TimeCode[i,5,1],4,2);
S6 := S6+Copy(TimeCode[i,5,2],1,2)+Copy(TimeCode[i,5,2],4,2);
S6 := S6+Copy(TimeCode[i,5,3],1,2)+Copy(TimeCode[i,5,3],4,2);
S7 := Copy(TimeCode[i,6,0],1,2)+Copy(TimeCode[i,6,0],4,2);
S7 := S7+Copy(TimeCode[i,6,1],1,2)+Copy(TimeCode[i,6,1],4,2);
S7 := S7+Copy(TimeCode[i,6,2],1,2)+Copy(TimeCode[i,6,2],4,2);
S7 := S7+Copy(TimeCode[i,6,3],1,2)+Copy(TimeCode[i,6,3],4,2);
S8 := Copy(TimeCode[i,7,0],1,2)+Copy(TimeCode[i,7,0],4,2);
S8 := S8+Copy(TimeCode[i,7,1],1,2)+Copy(TimeCode[i,7,1],4,2);
S8 := S8+Copy(TimeCode[i,7,2],1,2)+Copy(TimeCode[i,7,2],4,2);
S8 := S8+Copy(TimeCode[i,7,3],1,2)+Copy(TimeCode[i,7,3],4,2);
SetLamp(2);
if ascAddTimeCode(hComDev,1,devid,tsen,S1,S2,S3,S4,S5,S6,S7,S8)=0 then
SetLamp(3)
else
SetLamp(1);
end;
end;
procedure TASC2SetupForm.ClrTimeCodeButtonClick(Sender: TObject);
begin
TimeCodesEdit.Text := '0';
SetLamp(2);
if ascClrTimeCodeCount(hComDev,1,devid)=0 then
SetLamp(3)
else
SetLamp(1);
end;
procedure TASC2SetupForm.LoadTimeCodeDef();
var
i: Byte;
begin
TSEnChkBox0.OnClick := nil;
TSEnChkBox1.OnClick := nil;
TSEnChkBox2.OnClick := nil;
TSEnChkBox3.OnClick := nil;
TSEnChkBox4.OnClick := nil;
TSEnChkBox5.OnClick := nil;
TSEnChkBox6.OnClick := nil;
TSEnChkBox7.OnClick := nil;
i := StrToInt(TimeCodeEdit.Text)-1;
TSEnChkBox0.Checked := ( ( TimeCodeEnable[i] and $80 ) = $80 );
TSEnChkBox1.Checked := ( ( TimeCodeEnable[i] and $40 ) = $40 );
TSEnChkBox2.Checked := ( ( TimeCodeEnable[i] and $20 ) = $20 );
TSEnChkBox3.Checked := ( ( TimeCodeEnable[i] and $10 ) = $10 );
TSEnChkBox4.Checked := ( ( TimeCodeEnable[i] and $08 ) = $08 );
TSEnChkBox5.Checked := ( ( TimeCodeEnable[i] and $04 ) = $04 );
TSEnChkBox6.Checked := ( ( TimeCodeEnable[i] and $02 ) = $02 );
TSEnChkBox7.Checked := ( ( TimeCodeEnable[i] and $01 ) = $01 );
TimePickerA11.Time := StrToTime(TimeCode[i,0,0]);
TimePickerA12.Time := StrToTime(TimeCode[i,0,1]);
TimePickerB11.Time := StrToTime(TimeCode[i,0,2]);
TimePickerB12.Time := StrToTime(TimeCode[i,0,3]);
TimePickerA21.Time := StrToTime(TimeCode[i,1,0]);
TimePickerA22.Time := StrToTime(TimeCode[i,1,1]);
TimePickerB21.Time := StrToTime(TimeCode[i,1,2]);
TimePickerB22.Time := StrToTime(TimeCode[i,1,3]);
TimePickerA31.Time := StrToTime(TimeCode[i,2,0]);
TimePickerA32.Time := StrToTime(TimeCode[i,2,1]);
TimePickerB31.Time := StrToTime(TimeCode[i,2,2]);
TimePickerB32.Time := StrToTime(TimeCode[i,2,3]);
TimePickerA41.Time := StrToTime(TimeCode[i,3,0]);
TimePickerA42.Time := StrToTime(TimeCode[i,3,1]);
TimePickerB41.Time := StrToTime(TimeCode[i,3,2]);
TimePickerB42.Time := StrToTime(TimeCode[i,3,3]);
TimePickerA51.Time := StrToTime(TimeCode[i,4,0]);
TimePickerA52.Time := StrToTime(TimeCode[i,4,1]);
TimePickerB51.Time := StrToTime(TimeCode[i,4,2]);
TimePickerB52.Time := StrToTime(TimeCode[i,4,3]);
TimePickerA61.Time := StrToTime(TimeCode[i,5,0]);
TimePickerA62.Time := StrToTime(TimeCode[i,5,1]);
TimePickerB61.Time := StrToTime(TimeCode[i,5,2]);
TimePickerB62.Time := StrToTime(TimeCode[i,5,3]);
TimePickerA71.Time := StrToTime(TimeCode[i,6,0]);
TimePickerA72.Time := StrToTime(TimeCode[i,6,1]);
TimePickerB71.Time := StrToTime(TimeCode[i,6,2]);
TimePickerB72.Time := StrToTime(TimeCode[i,6,3]);
TimePickerA81.Time := StrToTime(TimeCode[i,7,0]);
TimePickerA82.Time := StrToTime(TimeCode[i,7,1]);
TimePickerB81.Time := StrToTime(TimeCode[i,7,2]);
TimePickerB82.Time := StrToTime(TimeCode[i,7,3]);
TSEnChkBox0.OnClick := TSEnChkBox0Click;
TSEnChkBox1.OnClick := TSEnChkBox0Click;
TSEnChkBox2.OnClick := TSEnChkBox0Click;
TSEnChkBox3.OnClick := TSEnChkBox0Click;
TSEnChkBox4.OnClick := TSEnChkBox0Click;
TSEnChkBox5.OnClick := TSEnChkBox0Click;
TSEnChkBox6.OnClick := TSEnChkBox0Click;
TSEnChkBox7.OnClick := TSEnChkBox0Click;
end;
procedure TASC2SetupForm.StoreTimeCodeDef();
var
i: Byte;
begin
i := StrToInt(TimeCodeEdit.Text)-1;
if TSEnChkBox0.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $80 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $7f );
if TSEnChkBox1.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $40 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $bf );
if TSEnChkBox2.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $20 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $df );
if TSEnChkBox3.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $10 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $ef );
if TSEnChkBox4.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $08 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $f7 );
if TSEnChkBox5.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $04 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $fb );
if TSEnChkBox6.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $02 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $fd );
if TSEnChkBox7.Checked then
TimeCodeEnable[i] := ( TimeCodeEnable[i] or $01 )
else
TimeCodeEnable[i] := ( TimeCodeEnable[i] and $fe );
TimeCode[i,0,0] := TimeToStr(TimePickerA11.Time);
TimeCode[i,0,1] := TimeToStr(TimePickerA12.Time);
TimeCode[i,0,2] := TimeToStr(TimePickerB11.Time);
TimeCode[i,0,3] := TimeToStr(TimePickerB12.Time);
TimeCode[i,1,0] := TimeToStr(TimePickerA21.Time);
TimeCode[i,1,1] := TimeToStr(TimePickerA22.Time);
TimeCode[i,1,2] := TimeToStr(TimePickerB21.Time);
TimeCode[i,1,3] := TimeToStr(TimePickerB22.Time);
TimeCode[i,2,0] := TimeToStr(TimePickerA31.Time);
TimeCode[i,2,1] := TimeToStr(TimePickerA32.Time);
TimeCode[i,2,2] := TimeToStr(TimePickerB31.Time);
TimeCode[i,2,3] := TimeToStr(TimePickerB32.Time);
TimeCode[i,3,0] := TimeToStr(TimePickerA41.Time);
TimeCode[i,3,1] := TimeToStr(TimePickerA42.Time);
TimeCode[i,3,2] := TimeToStr(TimePickerB41.Time);
TimeCode[i,3,3] := TimeToStr(TimePickerB42.Time);
TimeCode[i,4,0] := TimeToStr(TimePickerA51.Time);
TimeCode[i,4,1] := TimeToStr(TimePickerA52.Time);
TimeCode[i,4,2] := TimeToStr(TimePickerB51.Time);
TimeCode[i,4,3] := TimeToStr(TimePickerB52.Time);
TimeCode[i,5,0] := TimeToStr(TimePickerA61.Time);
TimeCode[i,5,1] := TimeToStr(TimePickerA62.Time);
TimeCode[i,5,2] := TimeToStr(TimePickerB61.Time);
TimeCode[i,5,3] := TimeToStr(TimePickerB62.Time);
TimeCode[i,6,0] := TimeToStr(TimePickerA71.Time);
TimeCode[i,6,1] := TimeToStr(TimePickerA72.Time);
TimeCode[i,6,2] := TimeToStr(TimePickerB71.Time);
TimeCode[i,6,3] := TimeToStr(TimePickerB72.Time);
TimeCode[i,7,0] := TimeToStr(TimePickerA81.Time);
TimeCode[i,7,1] := TimeToStr(TimePickerA82.Time);
TimeCode[i,7,2] := TimeToStr(TimePickerB81.Time);
TimeCode[i,7,3] := TimeToStr(TimePickerB82.Time);
end;
// 假日/报警设置
procedure TASC2SetupForm.ReadHoliAlmButtonClick(Sender: TObject);
var
S,alarm1,alarm2,alarm3,alarm4: string;
i : Smallint;
begin
alarm1 := STringOfChar(' ',8);
alarm2 := STringOfChar(' ',8);
alarm3 := STringOfChar(' ',8);
alarm4 := STringOfChar(' ',8);
SetLamp(2);
if ascGetAlarmCode(hComDev,1,devid,alarm1,alarm2,alarm3,alarm4)=0 then
begin
AlarmBellEdit1.Text := IntToStr(StrToInt(alarm1) shr 4);
AlarmStopEdit1.Text := IntToStr(StrToInt(alarm1) and $0F);
AlarmBellEdit2.Text := IntToStr(StrToInt(alarm2) shr 4);
AlarmStopEdit2.Text := IntToStr(StrToInt(alarm2) and $0F);
AlarmBellEdit3.Text := IntToStr(StrToInt(alarm3) shr 4);
AlarmStopEdit3.Text := IntToStr(StrToInt(alarm3) and $0F);
AlarmBellEdit4.Text := IntToStr(StrToInt(alarm4) shr 4);
AlarmStopEdit4.Text := IntToStr(StrToInt(alarm4) and $0F);
SetLamp(3);
end else
SetLamp(1);
S := STringOfChar(' ',8);
if ascGetHolidayCount(hComDev,1,devid,S)=0 then
begin
HolidaysEdit.Text := S;
SetLamp(3);
end else
SetLamp(1);
HolidayMemo.Lines.Clear;
for i:=0 to StrToInt(HolidaysEdit.Text)-1 do
begin
S := STringOfChar(' ',8);
if ascGetHoliday(hComDev,1,devid,i,S)=0 then
begin
HolidayMemo.Lines.Add('20'+Copy(S,1,2)+'-'+Copy(S,3,2)+'-'+Copy(S,5,2));
SetLamp(3);
end else
SetLamp(1);
end;
end;
procedure TASC2SetupForm.WriteHoliAlmButtonClick(Sender: TObject);
var
alarm1,alarm2,alarm3,alarm4: Byte;
S: string;
i: Smallint;
begin
alarm1 := StrToInt(AlarmBellEdit1.Text)*16+StrToInt(AlarmStopEdit1.Text);
alarm2 := StrToInt(AlarmBellEdit2.Text)*16+StrToInt(AlarmStopEdit2.Text);
alarm3 := StrToInt(AlarmBellEdit3.Text)*16+StrToInt(AlarmStopEdit3.Text);
alarm4 := StrToInt(AlarmBellEdit4.Text)*16+StrToInt(AlarmStopEdit4.Text);
SetLamp(2);
if ascSetAlarmCode(hComDev,1,devid,alarm1,alarm2,alarm3,alarm4)=0 then
SetLamp(3)
else
SetLamp(1);
for i:=0 to HolidayMemo.Lines.Count-1 do
begin
S := Copy(HolidayMemo.Lines[i],3,2);
S := S+Copy(HolidayMemo.Lines[i],6,2);
S := S+Copy(HolidayMemo.Lines[i],9,2);
if ascAddHoliday(hComDev,1,devid,S)=0 then
SetLamp(3)
else
SetLamp(1);
end;
end;
procedure TASC2SetupForm.ClrHoliButtonClick(Sender: TObject);
begin
HolidaysEdit.Text := '0';
HolidayMemo.Lines.Clear;
if ascClrHolidayCount(hComDev,1,devid)=0 then
SetLamp(3)
else
SetLamp(1);
end;
procedure TASC2SetupForm.HolidayPickerDblClick(Sender: TObject);
begin
HolidayMemo.Lines.Add(DateToStr(HolidayPicker.Date));
end;
// 读头
procedure TASC2SetupForm.WritePropButtonClick(Sender: TObject);
var
ctrl,event: Word;
i,actime: Byte;
password: string;
alarm: array[0..255] of Byte;
begin
ctrl := $0000;
if PINChkBoxL.Checked then ctrl := ctrl or $8000;
if PasswordChkBoxL.Checked then ctrl := ctrl or $4000;
if MstSlvChkBoxL.Checked then ctrl := ctrl or $2000;
if AntiPassBackChkBoxL.Checked then ctrl := ctrl or $1000;
if ExitButtonChkBoxL.Checked then ctrl := ctrl or $0800;
if LockStatusChkBoxL.Checked then ctrl := ctrl or $0400;
if INCChkBoxL.Checked then ctrl := ctrl or $0200;
if InterLockChkBox.Checked then ctrl := ctrl or $0100;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -