📄 com_ctrl.cpp.~16~
字号:
//$$---- Form CPP ----
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
#include "com_ctrl.h"
#include "com_error.h"
#include "comm.c"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "IWBaseControl"
#pragma link "IWBaseHTMLControl"
#pragma link "IWCompMemo"
#pragma link "IWControl"
#pragma link "IWVCLBaseControl"
#pragma resource "*.dfm"
TFormMain *FormMain;
//---------------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
: TForm(Owner)
{
baud_bak = ComboBaud->ItemIndex;
if(open_comm((ComboComNo->ItemIndex)+1))
{
FormComError = new TFormComError(Application);
FormComError->ShowModal();
delete FormComError;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ComboComNoChange(TObject *Sender)
{
close_comm( );
Sleep(100);
if(open_comm((ComboComNo->ItemIndex)+1))
{
FormComError = new TFormComError(Application);
FormComError->ShowModal();
delete FormComError;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ComboBaudChange(TObject *Sender)
{
baud_bak = ComboBaud->ItemIndex;
close_comm( );
Sleep(100);
open_comm(port_bak);
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ButtonSendClick(TObject *Sender)
{
if(SendEdit->Text != "")
{
put_str(SendEdit->Text.c_str());
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::Timer1Timer(TObject *Sender)
{
char buff[256];
get_str(buff);
if(*buff != '\0')
{
ReceiveMemo->Text = ReceiveMemo->Text + String(buff);
ReceiveMemo->SelStart = ReceiveMemo->Text.Length();
ReceiveMemo->SelLength = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ButtonClearRClick(TObject *Sender)
{
ReceiveMemo->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::ButtonClearTClick(TObject *Sender)
{
SendEdit->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::MenuSaveClick(TObject *Sender)
{
if(SaveFile->Execute())
ReceiveMemo->Lines->SaveToFile(SaveFile->FileName);
ReceiveMemo->Modified = false;
SaveFile->OnClose;
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::MenuCloseClick(TObject *Sender)
{
Close( );
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::MenuPrinterClick(TObject *Sender)
{
if (!PrintDialog->Execute())
return; // user did not press OK
int i,y,r_line,page;
Printer()->Title=" ";
Printer()->BeginDoc();
r_line = ReceiveMemo->Lines->Count;
page = 0;
while(r_line>0)
{
Printer()->Canvas->TextOut(1000,100,
"串口调试-----接收数据");
y = 250;
for(i=0;(i<r_line)&&(i<50);i++)
{
Printer()->Canvas->TextOut(250,y,
ReceiveMemo->Lines->Strings[page*50 + i]);
y+=Printer()->Canvas->TextHeight("A|jh") + 8;
}
Printer()->Canvas->TextOut(1000,3200,
"第 "+IntToStr(page+1)+" 页");
r_line -= 50;
page++;
if(r_line>0)
Printer()->NewPage();
}
Printer()->EndDoc();
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -