//--------------------------------------------------------------------------- #include #pragma hdrstop #include "Com.h" #include "MainUnit.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; TCom *Commo; //--------------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TMainForm::FormCreate(TObject *Sender) { Commo = &TCom(); Commo->OnReadCom = &ReadCom; BaudCombo->ItemIndex = 0; } //--------------------------------------------------------------------------- void __fastcall TMainForm::ConnectClick(TObject *Sender) { if (Commo->OpenCom(StrToInt(PortEdit->Text))) { if (BaudCombo->ItemIndex >= 0) Commo->SetBaud(StrToInt(BaudCombo->Text)) ; ConnectButton->Caption = "Disconnect"; ConnectButton->OnClick = DisconnectClick; } else Application->MessageBox("Could not connect. Please check your Com port settings.", "Com Error", MB_OK); } //--------------------------------------------------------------------------- void __fastcall TMainForm::DisconnectClick(TObject *Sender) { Commo->CloseCom(); ConnectButton->Caption = "Connect"; ConnectButton->OnClick = ConnectClick; } //--------------------------------------------------------------------------- void __fastcall TMainForm::LineEditKeyPress(TObject *Sender, char &Key) { if (Key != '\r') return; Key = 0; ShowText(LineEdit->Text, clBlue); Commo->WriteCom(LineEdit->Text); } //--------------------------------------------------------------------------- void __fastcall TMainForm::ReadCom(AnsiString Data) { ShowText(Data, clBlack); } //--------------------------------------------------------------------------- void __fastcall TMainForm::ShowText(AnsiString Text, TColor Col) { MainRich->SelStart = MainRich->Lines->Text.Length(); MainRich->SelAttributes->Color = Col; MainRich->Lines->Add(Text); MainRich->SetFocus(); LineEdit->SetFocus(); } //---------------------------------------------------------------------------