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

📄 fanwind.~pas

📁 使用Delphi 6.0开发用于控制空调的程序
💻 ~PAS
字号:
unit FanWind;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfrmFanWind = class(TForm)
    lblFan: TLabel;
    btnFanAuto: TButton;
    lbl2: TLabel;
    btnWind1: TButton;
    btnWind2: TButton;
    btnWind3: TButton;
    btnWind4: TButton;
    btnWind5: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure btnFanAutoClick(Sender: TObject);
    procedure btnWind1Click(Sender: TObject);
    procedure btnWind2Click(Sender: TObject);
    procedure btnWind3Click(Sender: TObject);
    procedure btnWind4Click(Sender: TObject);
    procedure btnWind5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    add:string;
  end;

var
  frmFanWind: TfrmFanWind;

implementation

{$R *.dfm}
uses
  Main;


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;
procedure TfrmFanWind.FormCreate(Sender: TObject);
begin
    add := '01';
   if frmain.iClick = 1 then
   begin
     add := '01';
     lblFan.Caption := '改变1号空调风扇风量      ';
   end
   else
   if frmain.iClick = 2 then
   begin
     add := '02';
     lblFan.Caption := '改变2号空调风扇风量      ';
   end
   else
   if frmain.iClick = 3 then
   begin
     add := '03';
     lblFan.Caption := '改变3号空调风扇风量      ';
   end
   else
   if frmain.iClick = 4 then
   begin
     add := '04';
     lblFan.Caption := '改变4号空调风扇风量      ';
   end
   else
    if frmain.iClick = 5 then
   begin
     add := '05';
     lblFan.Caption := '改变5号空调风扇风量      ';
   end
   else
   if frmain.iClick = 6 then
   begin
     add := '06';
     lblFan.Caption := '改变6号空调风扇风量      ';
   end
   else
   if frmain.iClick = 7 then
   begin
     add := '07';
     lblFan.Caption := '改变7号空调风扇风量      ';
   end
   else
   if frmain.iClick = 8 then
   begin
     add := '08';
     lblFan.Caption := '改变8号空调风扇风量      ';
   end ;
end;

procedure TfrmFanWind.FormPaint(Sender: TObject);
begin
    add := '01';
   if frmain.iClick = 1 then
   begin
     add := '01';
     lblFan.Caption := '改变1号空调风扇风量      ';
   end
   else
   if frmain.iClick = 2 then
   begin
     add := '02';
     lblFan.Caption := '改变2号空调风扇风量      ';
   end
   else
   if frmain.iClick = 3 then
   begin
     add := '03';
     lblFan.Caption := '改变3号空调风扇风量      ';
   end
   else
   if frmain.iClick = 4 then
   begin
     add := '04';
     lblFan.Caption := '改变4号空调风扇风量      ';
   end
   else
    if frmain.iClick = 5 then
   begin
     add := '05';
     lblFan.Caption := '改变5号空调风扇风量      ';
   end
   else
   if frmain.iClick = 6 then
   begin
     add := '06';
     lblFan.Caption := '改变6号空调风扇风量      ';
   end
   else
   if frmain.iClick = 7 then
   begin
     add := '07';
     lblFan.Caption := '改变7号空调风扇风量      ';
   end
   else
   if frmain.iClick = 8 then
   begin
     add := '08';
     lblFan.Caption := '改变8号空调风扇风量      ';
   end ;
end;

procedure TfrmFanWind.btnFanAutoClick(Sender: TObject);
var
  strtemp:string;
  ss:string;
begin
  //调试时,有可能需要该LINE NO的值
  strTemp :='~20'+add+'60E0'+'8008'+'640'+ '0'+'0000';   //1号空调 收集运转状态数据
  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
  strTemp := strTemp + ss + #13;
  Inc(iSendCount);
  strSend[iSendCount] := strTemp;
  ShowMessage(strTemp+'命令');
end;

procedure TfrmFanWind.btnWind1Click(Sender: TObject);
var
  strtemp:string;
  ss:string;
begin
  //调试时,有可能需要该LINE NO的值
  strTemp :='~20'+add+'60E0'+'8008'+'640'+ '0'+'1111';   //1号空调 收集运转状态数据
  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
  strTemp := strTemp + ss + #13;
  Inc(iSendCount);
  strSend[iSendCount] := strTemp;
  ShowMessage(strTemp+'命令');

end;

procedure TfrmFanWind.btnWind2Click(Sender: TObject);
var
  strtemp:string;
  ss:string;
begin
  //调试时,有可能需要该LINE NO的值
  strTemp :='~20'+add+'60E0'+'8008'+'640'+ '0'+'2222';   //1号空调 收集运转状态数据
  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
  strTemp := strTemp + ss + #13;
  Inc(iSendCount);
  strSend[iSendCount] := strTemp;
  ShowMessage(strTemp+'命令');

end;

procedure TfrmFanWind.btnWind3Click(Sender: TObject);
var
  strtemp:string;
  ss:string;
begin
  //调试时,有可能需要该LINE NO的值
  strTemp :='~20'+add+'60E0'+'8008'+'640'+ '0'+'3333';   //1号空调 收集运转状态数据
  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
  strTemp := strTemp + ss + #13;
  Inc(iSendCount);
  strSend[iSendCount] := strTemp;
  ShowMessage(strTemp+'命令');

end;

procedure TfrmFanWind.btnWind4Click(Sender: TObject);
var
  strtemp:string;
  ss:string;
begin
  //调试时,有可能需要该LINE NO的值
  strTemp :='~20'+add+'60E0'+'8008'+'640'+ '0'+'4444';   //1号空调 收集运转状态数据
  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
  strTemp := strTemp + ss + #13;
  Inc(iSendCount);
  strSend[iSendCount] := strTemp;
  ShowMessage(strTemp+'命令');

end;

procedure TfrmFanWind.btnWind5Click(Sender: TObject);
var
  strtemp:string;
  ss:string;
begin
  //调试时,有可能需要该LINE NO的值
  strTemp :='~20'+add+'60E0'+'8008'+'640'+ '0'+'5555';   //1号空调 收集运转状态数据
  ss:=chk(Copy(strTemp,2,(Length(strTemp)-1) ) );
  strTemp := strTemp + ss + #13;
  Inc(iSendCount);
  strSend[iSendCount] := strTemp;
  ShowMessage(strTemp+'命令');
  ShowMessage('ddddddddddddddddddddddddddddddddddddddddddddddddddddddd');

end;

end.

⌨️ 快捷键说明

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