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

📄 mainprg.cpp

📁 用BCB写的spcomm的一个例子
💻 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 + -