⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dange.~pas

📁 路灯控制 可以实现路灯远程开关等
💻 ~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 + -