📄 mainprg.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MainPrg.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SPComm"
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
AnsiString S=Edit1->Text;
AnsiString T;
char D[1024];
int i;
i=0;
Memo1->Lines->Add(S);
while (S.Length()>0)
{
int p=S.Pos(",");
if (p>0) T=S.SubString(1,p-1);
else
{
T=S;
S="";
}
char c;
if (T.Length()==1) T="0"+T;
HexToBin(T.c_str(),&c,2);
D[i]=c;
i++;
S=S.SubString(p+1,65535);
}
Comm->WriteCommData(&D[0],i);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CommReceiveData(TObject *Sender, Pointer Buffer,
WORD BufferLength)
{
AnsiString S,T;
char Buf[4096];
Move(Buffer,Buf,BufferLength);
for (int i=0;i<BufferLength;i++)
{
T=IntToHex(Buf[i],2);
if (T.Length()>2) T=T.SubString(7,2);
S=S+T+",";
}
Memo2->Lines->Add(S);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button2Click(TObject *Sender)
{
Memo1->Lines->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button4Click(TObject *Sender)
{
Memo2->Lines->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{
EditN1->Enabled=!SpeedButton1->Down;
if (SpeedButton1->Down)
{
Timer1->Enabled=false;
Timer1->Interval=EditN1->Text.ToIntDef(1000);
Timer1->Enabled=true;
}
else
{
Timer1->Enabled=false;
Timer1->Interval=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
Button1->Click();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Button3Click(TObject *Sender)
{
SetCom->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormActivate(TObject *Sender)
{
try
{
Comm->StartComm();
}
catch (...)
{
SetCom->ShowModal();
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Panel2Resize(TObject *Sender)
{
Edit1->Width=Panel2->Width-2;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -