📄 dange.~pas
字号:
unit dange;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TFrm_DD = class(TForm)
GroupBox5: TGroupBox;
Check1: TCheckBox;
Check2: TCheckBox;
Check3: TCheckBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure ch(ct:integer);
procedure chf(ct:integer);
procedure writelog_on;
procedure writelog_off;
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_DD: TFrm_DD;
ccc1,ccc2,ccc3:integer;
sstring:array[1..28] of string;
ssstring:array[1..28]of string;
implementation
uses main, DM;
{$R *.dfm}
procedure Tfrm_dd.writelog_off ;
begin
case frm_main.iii of
1:ssstring[1]:='5-11-3,关灯';
2:ssstring[2]:='5-11-4,关灯';
3:ssstring[3]:='5-9-1,关灯';
4:ssstring[4]:='5-9-2,关灯';
5:ssstring[5]:='5-11-5,关灯';
6:ssstring[6]:='5-11-6,关灯';
7:ssstring[7]:='6-2-4,关灯';
8:ssstring[8]:='6-2-3,关灯';
9:ssstring[9]:='6-3-2,关灯';
10:ssstring[10]:='6-3-1,关灯';
11:ssstring[11]:='6-2-1,关灯';
12:ssstring[12]:='12组,关灯';
13:ssstring[13]:='7-34-2,关灯';
14:ssstring[14]:='7-34-1,关灯';
15:ssstring[15]:='7-32-2,关灯';
16:ssstring[16]:='7-32-1,关灯';
17:ssstring[17]:='0-2-1,关灯';
18:ssstring[18]:='0-3-1,关灯';
19:ssstring[19]:='8-2-2,关灯';
20:ssstring[20]:='8-3-2,关灯';
21:ssstring[21]:='8-2-1,关灯';
22:ssstring[22]:='8-3-1,关灯';
23:ssstring[23]:='9-3-2,关灯';
24:ssstring[24]:='9-8-2,关灯';
25:ssstring[25]:='9-4-1,关灯';
26:ssstring[26]:='9-8-1,关灯';
27:ssstring[27]:='9-8-2,关灯';
28:ssstring[28]:='9-8-3,关灯';
end;
with dm.DataModule1.ADO_log do
begin
close;
sql.Clear;
SQL.Add('Insert Into log values(:a1,:a2,:a3)');
parameters.ParamByName('a1').Value:=FormatDateTime('YYYY-MM-DD HH:NN:SS',Now);
Parameters.parambyname('a2').value:=ssstring[frm_main.iii];
Parameters.parambyname('a3').value:='无';
execsql;
end;
end;
procedure tfrm_dd.writelog_on ;
var
ss:string;
i:integer;
begin
if ((check1.Checked) and (check2.Checked=false) and (check3.Checked=false)) then ss:='1路开灯';
if ((check2.Checked) and (check1.Checked=false) and (check3.Checked=false)) then ss:='2路开灯';
if ((check3.Checked) and (check1.Checked=false) and (check2.Checked=false)) then ss:='3路开灯';
if ((check1.Checked=true) and (check2.Checked=true) and (check3.Checked=false)) then ss:='1,2路开灯';
if ((check1.Checked=true) and (check2.Checked=false) and (check3.Checked=true)) then ss:='1,3路开灯';
if ((check1.Checked=false) and (check2.Checked=true) and (check3.Checked=true)) then ss:='2,3路开灯';
if ((check1.Checked=true) and (check2.Checked=true) and (check3.Checked=true)) then ss:='1,2,3路开灯';
case frm_main.iii of
1:sstring[1]:='5-11-3,'+ss;
2:sstring[2]:='5-11-4,'+ss;
3:sstring[3]:='5-9-1,'+ss;
4:sstring[4]:='5-9-2,'+ss;
5:sstring[5]:='5-11-5,'+ss;
6:sstring[6]:='5-11-6,'+ss;
7:sstring[7]:='6-2-4,'+ss;
8:sstring[8]:='6-2-3,'+ss;
9:sstring[9]:='6-3-2,'+ss;
10:sstring[10]:='6-3-1,'+ss;
11:sstring[11]:='6-2-1,'+ss;
12:sstring[12]:='12组,'+ss;
13:sstring[13]:='7-34-2,'+ss;
14:sstring[14]:='7-34-1,'+ss;
15:sstring[15]:='7-32-2,'+ss;
16:sstring[16]:='7-32-1,'+ss;
17:sstring[17]:='0-2-1,'+ss;
18:sstring[18]:='0-3-1,'+ss;
19:sstring[19]:='8-2-2,'+ss;
20:sstring[20]:='8-3-2,'+ss;
21:sstring[21]:='8-2-1,'+ss;
22:sstring[22]:='8-3-1,'+ss;
23:sstring[23]:='9-3-2,'+ss;
24:sstring[24]:='9-8-2,'+ss;
25:sstring[25]:='9-4-1,'+ss;
26:sstring[26]:='9-8-1,'+ss;
27:sstring[27]:='9-8-2,'+ss;
28:sstring[28]:='9-8-3,'+ss;
end;
with dm.DataModule1.ADO_log do
begin
close;
sql.Clear;
SQL.Add('Insert Into log values(:a1,:a2,:a3)');
parameters.ParamByName('a1').Value:=FormatDateTime('YYYY-MM-DD HH:NN:SS',Now);
Parameters.parambyname('a2').value:=sstring[frm_main.iii];
Parameters.parambyname('a3').value:='无';
execsql;
end;
end;
procedure tfrm_dd.ch(ct:integer);
begin
if check1.Checked=true then frm_main.checkk[ct,1]:=1
else frm_main.checkk[ct,1]:=0;
if check2.Checked=true then frm_main.checkk[ct,2]:=1
else frm_main.checkk[ct,2]:=0;
if check3.Checked=true then frm_main.checkk[ct,3]:=1
else frm_main.checkk[ct,3]:=0;
end;
procedure tfrm_dd.chf(ct:integer);
begin
if frm_main.checkk[ct,1]=1 then check1.Checked:=true
else check1.Checked:=false;
if frm_main.checkk[ct,2]=1 then check2.Checked:=true
else check2.Checked:=false;
if frm_main.checkk[ct,3]=1 then check3.Checked:=true
else check3.Checked:=false;
end;
procedure TFrm_DD.Button1Click(Sender: TObject);
begin
if check1.Checked=true then frm_main.D_a:='01'
else frm_main.D_a:='00' ;
if check2.Checked=true then frm_main.D_b:='01'
else frm_main.D_b:='00';
if check3.Checked=true then frm_main.D_c:='01'
else frm_main.D_c:='00' ;
frm_main.D_send:=frm_main.D_addr+'C'+frm_main.D_a+frm_main.D_b+frm_main.D_c
+'000000'+'0000'+'C'+'00'+chr(13);
try
if frm_main.comm1.PortOpen=false then frm_main.comm1.PortOpen:=true;
except
showmessage('无法打开串口!');
end;
frm_main.comm1.DataCount:=0;
frm_main.comm1.OutputString(frm_main.D_send);
sleep(600);
if frm_main.comm1.Input=frm_main.D_addr+'OK' then
begin
case frm_main.iii of
1: ch(1);
2: ch(2);
3: ch(3);
4: ch(4);
5: ch(5);
6: ch(6);
7: ch(7);
8: ch(8);
9: ch(9);
10:ch(10);
11:ch(11);
12:ch(12);
13:ch(13);
14:ch(14);
15:ch(15);
16:ch(16);
17:ch(17);
18:ch(18);
19:ch(19);
20:ch(20);
21:ch(21);
22:ch(22);
23:ch(23);
24:ch(24);
25:ch(25);
26:ch(26);
27:ch(27);
28:ch(28);
end;
if check1.Checked=true then frm_main.ledt1.LedPlasticColor:=clgreen
else frm_main.ledt1.LedPlasticColor:=clred;
if check2.Checked=true then frm_main.ledt2.LedPlasticColor:=clgreen
else frm_main.ledt2.LedPlasticColor:=clred;
if check3.Checked=true then frm_main.ledt3.LedPlasticColor:=clgreen
else frm_main.ledt3.LedPlasticColor:=clred;
if (check1.Checked=true)or (check2.Checked=true)or(check3.Checked=true)then
begin
frm_main.ledt.LedPlasticColor:=clgreen;
end else
begin
frm_main.ledt.LedPlasticColor:=clred;
end;
writelog_on;
exit;
end else
begin
exit;
end;
end;
procedure TFrm_DD.Button2Click(Sender: TObject);
begin
if check1.Checked=true then frm_main.D_a:='00'
else frm_main.D_a:='00' ;
if check2.Checked=true then frm_main.D_b:='00'
else frm_main.D_b:='00' ;
if check3.Checked=true then frm_main.D_c:='00'
else frm_main.D_c:='00' ;
frm_main.D_send:=frm_main.D_addr+'C'+frm_main.D_a+frm_main.D_b+frm_main.D_c
+'000000'+'0000'+'C'+'00'+chr(13);
if frm_main.comm1.PortOpen=false then frm_main.comm1.PortOpen:=true;
frm_main.comm1.DataCount:=0;
frm_main.comm1.OutputString(frm_main.D_send);
sleep(600);
if frm_main.comm1.Input=frm_main.D_addr+'OK' then
begin
frm_main.ledt.LedPlasticColor:=clred;
frm_main.ledt1.LedPlasticColor:=clred;
frm_main.ledt2.LedPlasticColor:=clred;
frm_main.ledt3.LedPlasticColor:=clred;
frm_dd.writelog_off;
exit;
end else
begin
exit;
end;
end;
procedure TFrm_DD.Button3Click(Sender: TObject);
begin
frm_main.iii:=1;
frm_main.led[frm_main.iii].LedPlasticColor:=clgreen;
end;
procedure TFrm_DD.FormCreate(Sender: TObject);
begin
button3.Visible:=false;
case frm_main.iii of
1: chf(1);
2: chf(2);
3: chf(3);
4: chf(4);
5: chf(5);
6: chf(6);
7: chf(7);
8: chf(8);
9: chf(9);
10:chf(10);
11:chf(11);
12:chf(12);
13:chf(13);
14:chf(14);
15:chf(15);
16:chf(16);
17:chf(17);
18:chf(18);
19:chf(19);
20:chf(20);
21:chf(21);
22:chf(22);
23:chf(23);
24:chf(24);
25:chf(25);
26:chf(26);
27:chf(27);
28:chf(28);
end;
{if ccc1=1 then check1.Checked:=true;
if ccc2=1 then check2.Checked:=true;
if ccc3=1 then check3.Checked:=true; }
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -