📄 fanwind.~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 + -