📄 main.cpp
字号:
}
Senddata();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn28Click(TObject *Sender)
{ //Set door state
if(!Comm1->PortOpen) {ShowMessage("串口未打开!!"); return;}
Checktimeout=0;
ADR=Edit2->Text.ToInt();
MYADR=myadr;
CMD_TYPE=0x02;
CMD_ID=0x02;
int rotSpd;
rotSpd=RadioGroup1->ItemIndex;
switch(rotSpd)
{case 0: INFO0=0x01; break; //Scan
case 1: INFO0=0x02; break; //Quiet
default :break;
}
Senddata();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn29Click(TObject *Sender)
{ //Set current temperature
if(!Comm1->PortOpen) {ShowMessage("串口未打开!!"); return;}
if(Edit21->Text.ToIntDef(15)==15||Edit21->Text.ToIntDef(15)<16||Edit21->Text.ToIntDef(15)>30)
{ShowMessage("请输入16至30之间的数字");Edit21->Text="16"; return;}
Checktimeout=0;
ADR=Edit2->Text.ToInt();
MYADR=myadr;
CMD_TYPE=0x02;
CMD_ID=0x01;
INFO0=Edit21->Text.ToIntDef(16);
Senddata();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn25Click(TObject *Sender)
{ //Clear analog data
Edit7->Clear();
Edit8->Clear();
Edit14->Clear();
Edit13->Clear();
Edit12->Clear();
Edit11->Clear();
Edit10->Clear();
Edit9->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn27Click(TObject *Sender)
{ //Clear digital data
Edit15->Clear();
Edit18->Clear();
Edit19->Clear();
Edit20->Clear();
Edit17->Clear();
//Edit16->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn26Click(TObject *Sender)
{ if(!Comm1->PortOpen) {ShowMessage("串口未打开!!"); return;}
//Get digital data
Edit15->Clear();
Edit18->Clear();
Edit19->Clear();
Edit20->Clear();
Edit17->Clear();
//Edit16->Clear();
ADR=Edit2->Text.ToInt();
MYADR=myadr;
CMD_TYPE=0x03;
CMD_ID=0x00;
INFO0=0;
INFO1=0;
INFO2=0;
INFO3=0;
Senddata();
// dgtalg=1; //express digital state
Checktimeout=1;
if(read==1||autoread==1) Timer3->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn24Click(TObject *Sender)
{ if(!Comm1->PortOpen) {ShowMessage("串口未打开!!"); return;}
//Get analog data
Edit7->Clear();
Edit8->Clear();
Edit14->Clear();
Edit13->Clear();
Edit12->Clear();
Edit11->Clear();
Edit10->Clear();
Edit9->Clear();
ADR=Edit2->Text.ToInt();
MYADR=myadr;
CMD_TYPE=0x05;
CMD_ID=0x00;
INFO0=0;
INFO1=0;
INFO2=0;
INFO3=0;
Senddata();
dgtalg=2; //express analog state
Checktimeout=1;
if(read==1||autoread==1) {Timer2->Enabled=true; if(read==1) read=0;}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::TimerAddDispTimer(TObject *Sender)
{ //Display the analog data and digital data as TEdit modual
TimerAddDisp->Enabled=false;
// if(dgtalg==1)
// {dgtalg=0;
// if(rxdata[5]==0x01) Edit15->Text="开机状态";
// else if(rxdata[5]==0x02) {Edit15->Text="关机状态"; goto End;}//if it is close down,then not display other info
// if(rxdata[6]==0x01) Edit18->Text="扫描";
// else if(rxdata[6]==0x02) Edit18->Text="静止";
// if(rxdata[7]==0x01) Edit19->Text="制热";
// else if(rxdata[7]==0x02) Edit19->Text="制冷";
// else if(rxdata[7]==0x03) Edit19->Text="风扇";
// else if(rxdata[7]==0x04) Edit19->Text="除湿";
// else if(rxdata[7]==0x05) Edit19->Text="自动";
// if(rxdata[8]==0x01) Edit20->Text="自动";
// else if(rxdata[8]==0x02) Edit20->Text="大";
// else if(rxdata[8]==0x03) Edit20->Text="中";
// else if(rxdata[8]==0x04) Edit20->Text="小";
// if(rxdata[9]==0x04) Edit17->Text="E";
// else if(rxdata[9]==0x06) Edit17->Text="F";
// else if(rxdata[9]==0x08) Edit17->Text="H";
// else if(rxdata[9]==0x0c) Edit17->Text="L";
// else if(rxdata[9]==0x0e) Edit17->Text="P";
// Edit16->Text=VersionInfo;
// }
// else if(dgtalg==2)
// {dgtalg=0;
// Edit9->Text=rxdata[5];
// Edit7->Text=rxdata[6];
// Edit8->Text=rxdata[7];
// Edit14->Text=rxdata[8];
// Edit13->Text=rxdata[9];
// Edit12->Text=rxdata[10];
// Edit11->Text=rxdata[11];
// Edit10->Text=rxdata[12];
// }
//if(getadr==1){GetAdd=0; Edit5->Text=IntToStr(rxdata[5]);Edit2->Text=Edit5->Text;
if(GetAdd==1){GetAdd=0; Edit5->Text=IntToStr(rxdata[5]);Edit2->Text=Edit5->Text;
TableP->First();
for(int i=0;i<TableP->RecordCount;i++)
{if(TableP->FieldByName("Addr")->AsString==Edit2->Text)
{Edit27->Text=TableP->FieldByName("LocNum")->AsString;
Edit28->Text=TableP->FieldByName("LocName")->AsString; return;}
TableP->Next();}
}
// End:;
// RecordData();
// // autoread=0; //autorun flag reset
// read=0; //run flag reset
// RecordData();
}
//---------------------------------------------------------------------------
//int errortime=0;
void __fastcall TFormMain::Timer1Timer(TObject *Sender)
{
Timer1->Enabled=false;
Delay(2000);
if (((timeout==1&&Checktimeout==1)||RTNError==1)||CHKSUMError==1)
{RTNError=0;CHKSUMError=0;
Checktimeout=0;
StatusBar1->Panels->Items[1]->Text="连接超时";
//StatusBar1->Panels->Items[2]->Text="";
Memo2->Lines->Add("通信故障");
failure=1;
RecordData();
// errortime++;
// if(errortime>5) errortime=0;
// else return;
read=0;
// autoread=0;
// stopedread=1;
// ActionStop->Execute();
}
else {StatusBar1->Panels->Items[1]->Text="";failure=0;}
}
//---------------------------------------------------------------------------
int Bt26flag,Bt24flag;
void __fastcall TFormMain::BitBtn16Click(TObject *Sender)
{ //手动监控
if(!Comm1->PortOpen) {ShowMessage("串口未打开!!"); return;}
read=1;
// ReadOut=0;
Bt26flag=0;
Bt24flag=0;
BitBtn26->Click(); //get switch data first then get analog data
// Timer3->Enabled=true;
// if(timeout==0)
// BitBtn26->Click();
// RecordData();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::TimerRunTimer(TObject *Sender)
{
if(RadioButton1->Checked){
if (degree==rundegree) {ActionStop->Execute();return;}
else degree++;
}
if(RadioButton2->Checked){ ;///
}
if(stopedread==1) {TimerRun->Enabled=false;stopedread=0;return;}
else
{
TimerRun->Enabled=false;
Runadr();
// BitBtn16->Click();
}
//
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Timer3Timer(TObject *Sender)
{
//if(GetDgt==1){
// if(rxdata[5]==0x02) ReadOut=1; //if it is closed state do not do any operation
// else
// { //Delay(500);
Timer3->Enabled=false;
// if(Bt26flag!=1) {Delay(500); Bt26flag=1;BitBtn26->Click();}
// else{Bt26flag=0;
BitBtn24->Click(); //Timer2->Enabled=true;
// }
// }
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::TimerStopTimer(TObject *Sender)
{
if(timerstoptime!=runtime)
timerstoptime++;
else {TimerStop->Enabled=false;
ActionStop->Execute();}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Timer2Timer(TObject *Sender)
{
// Timer2->Enabled=false;
// if(readalg==1) return; //wait for get AirCondition analog data
// else
// timer2exe=1;
Timer2->Enabled=false;
// if(Bt24flag!=1) {Delay(500); Bt24flag=1;BitBtn24->Click();}
// else{Bt24flag=0;
ReadOut=1;
// }
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ToolButton3Click(TObject *Sender)
{
PageControl1->ActivePageIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ActionADSetExecute(TObject *Sender)
{
PageControl1->ActivePageIndex=1;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ActionCommExecute(TObject *Sender)
{
if(Comm1->PortOpen) {ShowMessage("若要进行串口设置请先关闭已打开的串口!!"); return;}
FormComm->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ActionAddExecute(TObject *Sender)
{
TablePS->First();
if(TablePS->RecordCount==0||TablePS->FieldByName("PassWord")->AsString=="") goto L1465;
if(PasswordDlg->ShowModal()==1) ;
else return;
if(Edit16->Text=="0") return;
else Edit16->Text="0";
L1465:;
PageControl1->ActivePageIndex=3;
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ActionDelExecute(TObject *Sender)
{
TablePS->First();
if(TablePS->RecordCount==0||TablePS->FieldByName("PassWord")->AsString=="") goto L1481;
if(PasswordDlg->ShowModal()==1) ;
else return;
if(Edit16->Text=="0") return;
else Edit16->Text="0";
L1481:;
PageControl1->ActivePageIndex=3;
BitBtn2->Click();
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::BitBtn34Click(TObject *Sender)
{
AnsiString chara="符合条件的数据记录 ";
AnsiString charb=" 条";
String charc;
charc=IntToStr(TableD->RecordCount);
ShowMessage(chara+charc+charb);
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Edit2KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if((Key>47&&Key<58)||Key==8||(Key>95&&Key<106))
{if (Edit2->Text=="") {Edit2->Text='0';Edit2->SelectAll(); return;}
else if(Edit2->Text.ToInt()>255)
{ShowMessage("请输入0至255之间的数");Edit2->Text='0';}
}
else {if(Key==13||Key==33||Key==34||Key==35||Key==36||Key==37||Key==38||Key==39
||Key==40||Key==46||Key==16||Key==17||Key==3318||Key==19||Key==20) ;
else
{ShowMessage("请输入数字");Edit2->Text="0";}
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Edit23KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if((Key>47&&Key<58)||Key==8||(Key>95&&Key<106))
{if (Edit23->Text=="") {Edit23->Text='0';Edit23->SelectAll(); return;}
else if(Edit23->Text.ToInt()>17)
{ShowMessage("请输入0至17之间的数");Edit23->Text='0';}
}
else {if(Key==13||Key==33||Key==34||Key==35||Key==36||Key==37||Key==38||Key==39
||Key==40||Key==46||Key==16||Key==17||Key==3318||Key==19||Key==20) ;
else
{ShowMessage("请输入数字");Edit23->Text="0";}
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Edit24KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if((Key>47&&Key<58)||Key==8||(Key>95&&Key<106))
{if (Edit24->Text==""||Edit24->Text.ToInt()==0) {Edit24->Text='0';Edit24->SelectAll(); return;}
else if(Edit24->Text.ToInt()>59)
{ShowMessage("请输入0至59之间的数");Edit24->Text='0';}
}
else {if(Key==13||Key==33||Key==34||Key==35||Key==36||Key==37||Key==38||Key==39
||Key==40||Key==46||Key==16||Key==17||Key==3318||Key==19||Key==20) ;
else
{ShowMessage("请输入数字");Edit24->Text="0";}
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Edit25KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if((Key>47&&Key<58)||Key==8||(Key>95&&Key<106))
{if (Edit25->Text==""||Edit25->Text.ToInt()==0) {Edit25->Text='0';Edit25->SelectAll(); return;}
else if(Edit25->Text.ToInt()>59)
{ShowMessage("请输入0至59之间的数");Edit25->Text='0';}
}
else {if(Key==13||Key==33||Key==34||Key==35||Key==36||Key==37||Key==38||Key==39
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -