📄 main.~pas
字号:
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 + -