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

📄 main.~pas

📁 使用Delphi 6.0开发用于控制空调的程序
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
  ss:string;
begin
  if not Spcomm1.PortOpen  then
      Spcomm1.StartComm;
  //try
   //strTemp :='~200260E00000'+ #02 + '300' + '010101' +#03;
  //  strTemp :='~200160E0A006'+ '400'+'015';
  strTemp :='~200160E0600A'+ '630'+'0'+'022'+'022';
 //  strTemp :='~200160430000';//+ '400'+'01';
  // strTemp :='~200160430000';//+ '400'+'01';
   strTemp :='~200160E0B005'+ '620'+'00';//+'022'+'022';
  // strTemp := strTemp + BCC(strTemp);
  //strTemp :=strTemp + chk(Copy(strTemp,2,(Length(strTemp)-1) ) ));
     ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
     strTemp := strTemp + ss + #13;
   if Spcomm1.WriteCommData( PChar(strTemp),Length(strTemp)) = True then
      mmo2.Lines.Add('发送成功'+ strTemp);
 // finally

 //end;

end;


procedure Tfrmain.FormCreate(Sender: TObject);
var
  str:string;
  i:Integer;
begin
  //mxBar.Visible := False;
    SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
    if Spcomm1.PortOpen then
      Spcomm1.StopComm;
    grp1.Enabled := False;
    GroupBox1.Enabled := False;
    GroupBox2.Enabled := False;
    GroupBox3.Enabled := False;
    GroupBox4.Enabled := False;
    GroupBox5.Enabled := False;
    GroupBox6.Enabled := False;
    GroupBox7.Enabled := False;
    conAir.Connected := False;
    try
      conAir.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'
      +'Data Source=.\Air.mdb;Persist Security Info=False;Jet OLEDB:Database Password="zfu126"';
      conAir.Connected := True;
    except
       ShowMessage('连接数据库失败,找不到数据库文件!!');
       Application.Terminate;
    end;
    with qryNum do
    begin
       Close;
       SQL.Clear;
       SQL.Add('select * from AC');
       Open;
       if not IsEmpty then
       begin
          First;
          iNum := 1;
          while not Eof do
          begin
            Next ;
            iNum := iNum + 1;
          end;
       end;  
    end;
    if iNum >= 1 then
    begin
       for i:= 1 to iNum -1 do
       begin
          with qryNum do
          begin
           Close;
           SQL.Clear;
           SQL.Add('select name from AC where ACAddress =:name_val');
           Parameters.ParamByName('name_val').Value := '0'+ IntToStr(i);
           Open;
           if not IsEmpty then
           begin
             First;
             str := FieldByName('name').AsString ;
             case i of
               1:
               begin
                 grp1.Enabled := True;
                 grp1.Caption := IntToStr(i)+'号'+ str+'空调';
               end;
               2:
               begin
                 GroupBox1.Enabled := True;
                  GroupBox1.Caption := IntToStr(i)+'号'+ str+'空调';
               end;
               3:
               begin
                 GroupBox2.Enabled := True;
                 GroupBox2.Caption := IntToStr(i)+'号'+ str+'空调' ;
               end;

               4:
               begin
                 GroupBox3.Enabled := True;
                 GroupBox3.Caption := IntToStr(i)+'号'+ str+'空调' ;
               end;
               5:
               begin
                 GroupBox4.Enabled := True;
                 GroupBox4.Caption := IntToStr(i)+'号'+ str+'空调' ;
               end;
               6:
               begin
                 GroupBox5.Enabled := True;
                 GroupBox5.Caption := IntToStr(i)+'号'+ str+'空调' ;
               end;
               7:
               begin
                 GroupBox6.Enabled := True;
                 GroupBox6.Caption := IntToStr(i)+'号'+ str+'空调' ;
               end;
               8:
               begin
                 GroupBox7.Enabled := True;
                 GroupBox7.Caption := IntToStr(i)+'号'+ str+'空调' ;
               end;
             end;  
           end;
         end;
       end;
    end;

    for i := iNum to 8 do
    begin
      case i of
        1: grp1.Caption := IntToStr(i)+'号'+ '备用空调';
        2:GroupBox1.Caption := IntToStr(i)+'号'+ '备用空调';
        3:GroupBox2.Caption := IntToStr(i)+'号'+ '备用空调';
        4:GroupBox3.Caption := IntToStr(i)+'号'+ '备用空调';
        5:GroupBox4.Caption := IntToStr(i)+'号'+ '备用空调';
        6:GroupBox5.Caption := IntToStr(i)+'号'+ '备用空调';
        7:GroupBox6.Caption := IntToStr(i)+'号'+ '备用空调';
        8:GroupBox7.Caption := IntToStr(i)+'号'+ '备用空调';
      end;
    end;
    tmrTC.Enabled := False;
    //F_Login.ShowModal;
end;

procedure SendCycCommand(iTemp:Integer);
var
  strtemp:string;
  ss:string;
  i,iCount:Integer;
  add :string;
begin
  iCount := 1;
  if iTemp <> 0 then
  for i :=1 to iTemp -1 do
  begin

     add :='0'+ IntToStr(i);
     strTemp :='~20'+add +'6043'+'0000';   //1号空调 收集运转状态数据
     ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
     strTemp := strTemp + ss + #13;
     strSendCyc[iCount] := strTemp;
     Inc(iCount);
     
     strTemp :='~20'+add +'60E0'+'A006'+'400'+'015';  //读出任意室内容机的累计信息
     ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
     strTemp := strTemp + ss + #13;
     strSendCyc[iCount] := strTemp;
     Inc(iCount);

     strTemp :='~20'+add +'60E0'+'D003'+'410';  //读出任意室内容机的累计信息
     ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
     strTemp := strTemp + ss + #13;
     strSendCyc[iCount] := strTemp;
     Inc(iCount);
  end;  


//  strTemp :='~20'+'02'+'6043'+'0000';   //2号空调
//  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
//  strTemp := strTemp + ss + #13;
//  strSendCyc[3] := strTemp;
//   //注意调试时,可能要改变'015'的值
//
//  strTemp :='~20'+'02'+'60E0'+'A006'+'400'+'015';  //读出任意室内容机的累计信息
//  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
//  strTemp := strTemp + ss + #13;
//  strSendCyc[4] := strTemp;

end;  

procedure Tfrmain.FormClose(Sender: TObject; var Action: TCloseAction);
var
  CSThread:TSendThread;
  nid:TNotifyIconData;
begin

      if Application.MessageBox('您确实要关闭该程序吗?', '提示', MB_OKCANCEL
        + MB_ICONQUESTION + MB_DEFBUTTON2) = IDOK then
      begin
        //Close;
        //frmain.Close;
        conAir.Connected := False;
         tmrSave.Enabled := False;
         if Spcomm1.PortOpen then
             Spcomm1.StopComm;
         nid.cbSize := SizeOf(nid);
         nid.uID := 1;
         nid.Wnd := Handle;
         Shell_NotifyIcon(NIM_DELETE,@nid);
         try
           Application.Terminate;
          // ShowMessage('asdf');
         except
           // ShowMessage('说的发生等等等等等等等等');
         end;
      end
      else
      begin
         bSend := True;
         tmrSave.Enabled := True;
         Abort;
         CSThread.Create(False);
      end;

end;

procedure Tfrmain.btn2Click(Sender: TObject);
var
  SUSend:TSU;
  strTemp:string;
begin
  if not Spcomm1.PortOpen  then
      Spcomm1.StartComm;
  SUSend := TSU.Create;
  try
    //SUSend.PassWordID(edt1.Text);
    strTemp := SUSend.GetCOmmand;
    Spcomm1.WriteCommData( PChar(strTemp),Length(strTemp));
  finally
    SUSend.Free;
  end;

end;

procedure Tfrmain.mxbLBarHeaders1Buttons0Click(Sender: TObject);
begin
    frmIDSet.ShowModal;
end;
procedure Tfrmain.mxbLBarHeaders1Buttons1Click(Sender: TObject);
begin
    frmIDShow.ShowModal;
end;


procedure Tfrmain.mxbLBarHeaders4Buttons5Click(Sender: TObject);
begin
    frmComm.ShowModal;
end;

procedure Tfrmain.N2Click(Sender: TObject);
begin
    if Application.MessageBox('您确实要关闭该程序吗?', '提示', MB_OKCANCEL 
        + MB_ICONQUESTION + MB_DEFBUTTON2) = IDOK then
      begin
        //Close;
        //frmain.Close;
      end
      else
      begin
         Abort;
      end;
end;

procedure Tfrmain.mxBarHeaders4Buttons1Click(Sender: TObject);
begin
    F_PP_Modi.ShowModal;
end;

procedure Tfrmain.mxBarHeaders4Buttons0Click(Sender: TObject);
begin
  F_Register.ShowModal;
end;

procedure Tfrmain.mxBarHeaders0Buttons2Click(Sender: TObject);
begin
   Setting.ShowModal;
end;

procedure Tfrmain.mxBarHeaders0Buttons3Click(Sender: TObject);
begin
  frmData.ShowModal;
end;

procedure Tfrmain.mxBarHeaders2Buttons2Click(Sender: TObject);
begin
   frmTemChart.ShowModal;
end;

procedure Tfrmain.N7Click(Sender: TObject);
begin
   Setting.ShowModal;
end;

procedure Tfrmain.N8Click(Sender: TObject);
begin
    frmData.ShowModal;
end;

procedure Tfrmain.N5Click(Sender: TObject);
begin
   ShowMessage('协议:中国电信交换【1999】 625基准规格 2007-1-19 19:44');
end;

procedure Tfrmain.N11Click(Sender: TObject);
begin
    frmTemChart.ShowModal;
end;

procedure Tfrmain.N17Click(Sender: TObject);
begin
    frmADDAC.ShowModal;
end;

procedure Tfrmain.btn123Click(Sender: TObject);
begin
   dlgOpenPic1.Execute;
   img1.Picture.LoadFromFile(dlgOpenPic1.FileName); 
end;

procedure Tfrmain.edtAirState1Change(Sender: TObject);
begin
   if edtAirState1.Text = '停止' then
      lblAirState1.Color := clRed
   else
   if edtAirState1.Text = '运转' then
      lblAirState1.Color := clGreen;
      
end;

procedure Tfrmain.edtWaringState1Change(Sender: TObject);
begin
  if edtWaringState1.Text = 'OFF' then
      lblWaringState1.Color := clGreen
  else
  if edtWaringState1.Text = 'ON' then
      lblWaringState1.Color := clRed;

end;

procedure Tfrmain.lblAirState3DblClick(Sender: TObject);
begin
    iClick := 3;
   //FrmACRM.lblRMMain.Caption := '3号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.edtAirState2Change(Sender: TObject);
begin
   if edtAirState2.Text = '停止' then
      lblAirState2.Color := clRed
   else
   if edtAirState2.Text = '运转' then
      lblAirState2.Color := clGreen;
end;

procedure Tfrmain.edtAirState3Change(Sender: TObject);
begin
   if edtAirState3.Text = '停止' then
      lblAirState3.Color := clRed
   else
   if edtAirState3.Text = '运转' then
      lblAirState3.Color := clGreen;
end;

procedure Tfrmain.N10Click(Sender: TObject);
begin
   frmQry.ShowModal;
end;

procedure Tfrmain.mxBarHeaders1Buttons0Click(Sender: TObject);
begin
    frmQry.ShowModal;
end;

procedure Tfrmain.imgRT1Click(Sender: TObject);
begin
   iClick := 1;
   //FrmACRM.lblRMMain.Caption := '1号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image1Click(Sender: TObject);
begin
    iClick := 2;
   //FrmACRM.lblRMMain.Caption := '2号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image4Click(Sender: TObject);
begin
    iClick := 3;
   //FrmACRM.lblRMMain.Caption := '3号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image5Click(Sender: TObject);
begin
   iClick := 4;
   //FrmACRM.lblRMMain.Caption := '4号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image6Click(Sender: TObject);
begin
    iClick := 5;
   //FrmACRM.lblRMMain.Caption := '5号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image7Click(Sender: TObject);
begin
    iClick := 6;
   //FrmACRM.lblRMMain.Caption := '6号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image8Click(Sender: TObject);
begin
   iClick := 7;
   //FrmACRM.lblRMMain.Caption := '7号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image9Click(Sender: TObject);
begin
    iClick := 8;
   //FrmACRM.lblRMMain.Caption := '8号空调远程控制运转/停止操作         ' ;
   FrmACRM.ShowModal;
end;

procedure Tfrmain.Image2Click(Sender: TObject);
begin
   //setting.dblkcbbACAddress.Text := '00';
   iClick := 1;
   Setting.ShowModal;
end;

procedure Tfrmain.Image3Click(Sender: TObject);
var
  str:string;
begin
   iClick := 1;
   frmData.ShowModal;
end;

procedure Tfrmain.Image11Click(Sender: TObject);
begin
   frmData.ShowModal;
end;

procedure Tfrmain.Image13Click(Sender: TObject);
begin
   frmData.ShowModal;
end;

procedure Tfrmain.Image15Click(Sender: TObject);
begin
    frmData.ShowModal;
end;

procedure Tfrmain.Image17Click(Sender: TObject);
begin
    frmData.ShowModal;
end;

procedure Tfrmain.Image19Click(Sender: TObject);
begin
   frmData.ShowModal;
end;

procedure Tfrmain.Image21Click(Sender: TObject);
begin
    frmData.ShowModal;
end;

procedure Tfrmain.Image23Click(Sender: TObject);
begin
   frmData.ShowModal;
end;

procedure Tfrmain.Image14Click(Sender: TObject);
begin
  iClick := 4;
   Setting.ShowModal;
end;

procedure Tfrmain.Image10Click(Sender: TObject);
begin
   iClick := 2;
    Setting.ShowModal;
end;

procedure Tfrmain.Image12Click(Sender: TObject);
begin
  iClick := 3;
    Setting.ShowModal;
end;

procedure Tfrmain.Image16Click(Sender: TObject);
begin
   iClick := 5;
   Setting.ShowModal;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -