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

📄 main.~pas

📁 使用Delphi 6.0开发用于控制空调的程序
💻 ~PAS
📖 第 1 页 / 共 3 页
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, mxOutlookBarPro, Menus, SPComm, DB, ADODB,AC,ReceMsg,RSU,SU,IDF,
  IDInfo,Line,LineInfo,IDSet, StdCtrls,ExtCtrls, ComCtrls, Buttons, jpeg,
  ExtDlgs,ShellAPI ;
const WM_MYTRAYICONCALLBACK = WM_USER + 1000 ;
type
  Tfrmain = class(TForm)
    mm1: TMainMenu;
    N1: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    mxBar: TmxOutlookBarPro;
    Spcomm1: TComm;
    conAir: TADOConnection;
    mmo1: TMemo;
    tmrTC: TTimer;
    ADOqryIDFINFO: TADOQuery;
    ADOqryIDF: TADOQuery;
    ADOqryLine: TADOQuery;
    ADOqryLINEINFO: TADOQuery;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N17: TMenuItem;
    img1: TImage;
    dlgOpenPic1: TOpenPictureDialog;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    lblAirState2: TLabel;
    Label5: TLabel;
    lblWaringState2: TLabel;
    edtRTTemp2: TEdit;
    edtRunState2: TEdit;
    edtAirState2: TEdit;
    edtFanState2: TEdit;
    edtWaringState2: TEdit;
    GroupBox2: TGroupBox;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    lblAirState3: TLabel;
    Label14: TLabel;
    lblWaringState3: TLabel;
    edtRTTemp3: TEdit;
    edtRunState3: TEdit;
    edtAirState3: TEdit;
    edtFanState3: TEdit;
    edtWaringState3: TEdit;
    GroupBox3: TGroupBox;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    lblWaringState4: TLabel;
    edtRTTemp4: TEdit;
    edtRunState4: TEdit;
    edtAirState4: TEdit;
    edtFanState4: TEdit;
    edtWaringState4: TEdit;
    GroupBox4: TGroupBox;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    lblFAN5: TLabel;
    lblWaringState5: TLabel;
    edtRTTemp5: TEdit;
    edtRunState5: TEdit;
    edtAirState5: TEdit;
    edtFanState5: TEdit;
    edtWaringState5: TEdit;
    GroupBox5: TGroupBox;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    lblWaringState6: TLabel;
    edtRTTemp6: TEdit;
    edtRunState6: TEdit;
    edtAirState6: TEdit;
    edtFanState6: TEdit;
    edtWaringState6: TEdit;
    GroupBox6: TGroupBox;
    Label42: TLabel;
    Label43: TLabel;
    Label44: TLabel;
    Label45: TLabel;
    Label46: TLabel;
    lblWaringState7: TLabel;
    edtRTTemp7: TEdit;
    edtRunState7: TEdit;
    edtAirState7: TEdit;
    edtFanState7: TEdit;
    edtWaringState7: TEdit;
    GroupBox7: TGroupBox;
    Label50: TLabel;
    Label51: TLabel;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    lblWaringState8: TLabel;
    edtRTTemp8: TEdit;
    edtRunState8: TEdit;
    edtAirState8: TEdit;
    edtFanState8: TEdit;
    edtWaringState8: TEdit;
    statMain: TStatusBar;
    Label4: TLabel;
    Label8: TLabel;
    Label12: TLabel;
    Label17: TLabel;
    Label58: TLabel;
    Label59: TLabel;
    Image1: TImage;
    Image4: TImage;
    Image5: TImage;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    qryNum: TADOQuery;
    Label60: TLabel;
    Label61: TLabel;
    Label62: TLabel;
    Label63: TLabel;
    tmrSave: TTimer;
    grp1: TGroupBox;
    lbl1: TLabel;
    Label13: TLabel;
    lbl2: TLabel;
    lbl4: TLabel;
    lblWaringState1: TLabel;
    lblAirState1: TLabel;
    lblRT: TLabel;
    imgRT1: TImage;
    edtRTTemp1: TEdit;
    edtRunState1: TEdit;
    edtAirState1: TEdit;
    edtFanState1: TEdit;
    edtWaringState1: TEdit;
    Label6: TLabel;
    edtSetTemp1: TEdit;
    Label7: TLabel;
    lbl3: TLabel;
    edtFan1: TEdit;
    Label15: TLabel;
    edtSetTemp2: TEdit;
    Label16: TLabel;
    Label23: TLabel;
    edtSetTemp3: TEdit;
    Label24: TLabel;
    Label31: TLabel;
    edtSetTemp4: TEdit;
    Label32: TLabel;
    Label39: TLabel;
    edtFan2: TEdit;
    Label40: TLabel;
    edtFan3: TEdit;
    Label47: TLabel;
    edtFan4: TEdit;
    Label48: TLabel;
    Edit7: TEdit;
    Label55: TLabel;
    edtFan6: TEdit;
    Label56: TLabel;
    edtFan7: TEdit;
    Label64: TLabel;
    edtFan8: TEdit;
    Label65: TLabel;
    edtSetTemp5: TEdit;
    Label66: TLabel;
    Label67: TLabel;
    edtSetTemp6: TEdit;
    Label68: TLabel;
    Label69: TLabel;
    edtSetTemp7: TEdit;
    Label70: TLabel;
    Label71: TLabel;
    edtSetTemp8: TEdit;
    Label72: TLabel;
    mmo2: TMemo;
    imgSetTemp1: TImage;
    imgRun1: TImage;
    imgSetTemp2: TImage;
    imgSetTemp3: TImage;
    imgSetTemp4: TImage;
    imgSetTemp5: TImage;
    imgSetTemp6: TImage;
    imgSetTemp7: TImage;
    imgSetTemp8: TImage;
    imgRun2: TImage;
    imgRun3: TImage;
    imgRun4: TImage;
    imgRun5: TImage;
    imgRun6: TImage;
    imgRun7: TImage;
    imgRun8: TImage;
    tmrSendinterrput: TTimer;
    qryReg: TADOQuery;
   // function  GetRTN_Error(strRTN:string): string;
    //procedure SettingString();
    //procedure FengLi(ss:string);
   // procedure AllString();
    procedure mxbLBarHeaders0Buttons0Click(Sender: TObject);
    procedure Spcomm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    procedure mxbLBarHeaders0Buttons1Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btn2Click(Sender: TObject);
    procedure mxbLBarHeaders1Buttons0Click(Sender: TObject);
    procedure mxbLBarHeaders1Buttons1Click(Sender: TObject);
    procedure mxbLBarHeaders4Buttons5Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure mxBarHeaders4Buttons1Click(Sender: TObject);
    procedure mxBarHeaders4Buttons0Click(Sender: TObject);
    procedure mxBarHeaders0Buttons2Click(Sender: TObject);
    procedure mxBarHeaders0Buttons3Click(Sender: TObject);
    procedure mxBarHeaders2Buttons2Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure btn123Click(Sender: TObject);
    procedure edtAirState1Change(Sender: TObject);
    procedure edtWaringState1Change(Sender: TObject);
    procedure lblAirState3DblClick(Sender: TObject);
    procedure edtAirState2Change(Sender: TObject);
    procedure edtAirState3Change(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure mxBarHeaders1Buttons0Click(Sender: TObject);
    procedure imgRT1Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Image4Click(Sender: TObject);
    procedure Image5Click(Sender: TObject);
    procedure Image6Click(Sender: TObject);
    procedure Image7Click(Sender: TObject);
    procedure Image8Click(Sender: TObject);
    procedure Image9Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure Image3Click(Sender: TObject);
    procedure Image11Click(Sender: TObject);
    procedure Image13Click(Sender: TObject);
    procedure Image15Click(Sender: TObject);
    procedure Image17Click(Sender: TObject);
    procedure Image19Click(Sender: TObject);
    procedure Image21Click(Sender: TObject);
    procedure Image23Click(Sender: TObject);
    procedure Image14Click(Sender: TObject);
    procedure Image10Click(Sender: TObject);
    procedure Image12Click(Sender: TObject);
    procedure Image16Click(Sender: TObject);
    procedure Image18Click(Sender: TObject);
    procedure Image20Click(Sender: TObject);
    procedure Image22Click(Sender: TObject);
    procedure Label4Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure mxBarHeaders3Buttons3Click(Sender: TObject);
    procedure tmrSaveTimer(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure imgFan1Click(Sender: TObject);
    procedure imgFan2Click(Sender: TObject);
    procedure imgFan3Click(Sender: TObject);
    procedure imgFan4Click(Sender: TObject);
    procedure imgFan5Click(Sender: TObject);
    procedure imgFan6Click(Sender: TObject);
    procedure imgFan7Click(Sender: TObject);
    procedure imgFan8Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure imgSetTemp1Click(Sender: TObject);
    procedure imgSetTemp2Click(Sender: TObject);
    procedure imgSetTemp3Click(Sender: TObject);
    procedure imgSetTemp4Click(Sender: TObject);
    procedure imgSetTemp5Click(Sender: TObject);
    procedure imgSetTemp6Click(Sender: TObject);
    procedure imgSetTemp7Click(Sender: TObject);
    procedure imgSetTemp8Click(Sender: TObject);
    procedure imgRun1Click(Sender: TObject);
    procedure imgRun2Click(Sender: TObject);
    procedure imgRun3Click(Sender: TObject);
    procedure imgRun4Click(Sender: TObject);
    procedure imgRun5Click(Sender: TObject);
    procedure imgRun6Click(Sender: TObject);
    procedure imgRun7Click(Sender: TObject);
    procedure imgRun8Click(Sender: TObject);
    procedure Label58DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure edtWaringState2Change(Sender: TObject);
    procedure edtWaringState3Change(Sender: TObject);
    procedure edtWaringState4Change(Sender: TObject);
    procedure edtWaringState5Change(Sender: TObject);
    procedure edtWaringState6Change(Sender: TObject);
    procedure edtWaringState7Change(Sender: TObject);
    procedure edtWaringState8Change(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure tmrTCTimer(Sender: TObject);
    procedure tmrSendinterrputTimer(Sender: TObject);

  private
    { Private declarations }
    MyTrayIcon:TNotifyIconData;
    procedure WMMyTrayIconCallBack(var Msg:TMessage);message WM_MYTRAYICONCALLBACK;
    procedure WMCommand(var msg:TWMCommand);message WM_Command;
    procedure Minimize(var mess:TWMNCLButtonDown);message WM_NCLBUTTONDOWN;

  public
    { Public declarations }
    strbuf:string;
    strErr:string;
    ReceBuffer:string;
    strError:string;
    RSUMsg:TRSU;

    LineMsg:TLine;
    IDFMsg:TIDF;
    LineInfoMsg:TLineInfo;
    IDInfoMsg:TIDInfo;
    //ArrStr: array[1..64] of string;
    FlagSave:Boolean;
    iClick:Integer;
    iNum:Integer;
    kk :Integer;
    iReadInfoCount,     //计数
    iReadTransResult,
    iCOOPS:Integer;
    iReadInfoCount2,
    iReadTransResult2,
    iCOOPS2:Integer;

  end;

var
  frmain: Tfrmain;
  iSaveReadInfo :Integer;      //保存标志
  iSaveReadTransResult :Integer;
  iSaveCOOPS :Integer;
  iSaveReadInfo2 :Integer;
  iSaveReadTransResult2 :Integer;
  iSaveCOOPS2 :Integer;
  iAbal:Integer;
  iReg :Integer;    //注册
  strSend:array [1..64] of string;
  strSendCyc:array [1..64] of string;
  iSendCount:Integer;
  iSendCyc:Integer;
  bSend:Boolean;
  WSendCount:Integer;
  WRecvCount:Integer;
  tempSendCount:Integer;
  User:string;
  Operater:string;
implementation

{$R *.dfm}

uses
  Installed_Simu,IDShow,ACC,IDPaperAbalInfo, ACCShow,comm,Login,Pass_Pope_Modify,
  URegister,Data,TempChart,ADDAC,ControlClass,ACRM,qry,RecvThread,SendThread,FanWind,
  SetTemp, HotAndCold,reg;

function chk(strChk:string):string;
var
  i:Integer;
  sum,WLen:Word;
  strSum,strReturn:string;
begin
     sum := 0;
     //ShowMessage(strChk);
     for i := 1 to Length(strChk) do
     begin
       sum := sum + Ord(strChk[i]) ;
     end;
     //有可能时取反加一
     sum := sum xor $FFFF + 1;
     strSum := IntToHex(sum,4);
     WLen := Length(strSum);
     if WLen = 4 then
        strReturn := strSum
     else
     if WLen = 3 then
        strReturn := '0'+ strSum
     else
     if WLen = 2 then
        strReturn := '00'+strSum
     else
     if WLen = 1 then
        strReturn := '000'+strSum
     else
     if  WLen = 0 then
        strReturn := '0000';
      Result := strReturn;
end;
function hex(c:char):Integer;
var
   x:integer;
begin
    if c='' then
       x:=0
    else if(Ord(c)>=ord('0'))and (Ord(c)<=ord('9')) then
        x:=Ord(c)-Ord('0')
    else if(Ord(c)>=ord('a'))and (Ord(c)<=ord('f')) then
        x:=Ord(c)-Ord('a')+10
    else if(Ord(c)>=ord('A'))and (Ord(c)<=ord('F')) then
        x:=Ord(c)-Ord('A')+10
    else
     x:=-1;
    Result:=x;
end;
//该函数结束1~2个字符,转换成功,输出对应十六进制的值,转换失败,输出-1
function HexToInt(S:String):Integer;
var
  tmpInt1,tmpInt2,tmpInt3:integer;
begin
    if Length(S)=1 then
    begin
       Result:=hex(S[1]);
    end
    else if Length(S)=2 then
    begin
      tmpInt1:=hex(S[1]);
      tmpInt2:=hex(S[2]);
      if(tmpInt1=-1) or (tmpInt2=-1) then
        Result:=-1
      else
        Result:=tmpInt1*16+tmpInt2;
    end 
    else if Length(S)=3 then
    begin
        tmpInt1:=hex(S[1]);
        tmpInt2:=hex(S[2]);
        tmpInt3:=hex(S[3]);
        if(tmpInt1=-1) or (tmpInt2=-1) or (tmpInt3=-1) then
          Result:=-1
        else
          Result:=tmpInt1*16*16 + tmpInt2*16 + tmpInt3;
    end
    else
      Result:=-1;
end;

function BCC(strBCC: string): string;
var
  i,strSum:Integer;
  strResult:string;
begin
   strSum := 0;
   for i := 1 to Length(strBCC) do
   begin
     strSum := strSum + Ord(strBCC[i]);
   end;
   strResult := IntToHex((strSum and $0F),1);
   Result := strResult;
end;

procedure WritrSharp(shp:TShape;b:string);
begin
  if b[1] = '1' then
      shp.Brush.Color := clRed
  else shp.Brush.Color := clLime;
end;

procedure Tfrmain.mxbLBarHeaders0Buttons0Click(Sender: TObject);
begin
   frmACC.ShowModal;
end;      

procedure Tfrmain.Spcomm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var
  strReceBuf:string;
  ReMsg:TReceMsg;
  ReThread:TRecvThread;
  SeThead:TSendThread;
begin
   SetLength(strReceBuf,BufferLength);
   Move(Buffer^,PChar(strReceBuf)^,BufferLength );
   //statMain.Panels[1].Text := 'SPCOMM中'+strReceBuf+'SPCOMM中长度'+IntToStr(Length(strReceBuf))+'长度';
   if WRecvCount >= 60000 then
      WRecvCount := 0;
   Inc(WRecvCount);
   tempSendCount := 99;
   Sleep(5);
   ReThread := TRecvThread.Create(False,strReceBuf);
//   ReThread.WaitFor;
   statMain.Panels[2].Text  := '通信正常!';
   if bSend = True then
   begin
       Sleep(30);
       SeThead := TSendThread.Create(False);
       Inc(WSendCount);
   end;
end;

procedure Tfrmain.mxbLBarHeaders0Buttons1Click(Sender: TObject);
begin
  frmACCShow.ShowModal;
end;

procedure Tfrmain.btn1Click(Sender: TObject);
var
  strTemp:string;

⌨️ 快捷键说明

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