void __ fastcall FormActivate (TObject * Sender);
void __ fastcall FormClose (TObject * Sender, TCloseAction & Action);
private:// User declarations
public:// User declarations
__fastcall TForm1 (TComponent * Owner);
};
// --------------------------------------------- -----------------
extern PACKAGE TForm1 * Form1;
// --------------------------------------------- -----------------
# endif
// --------------------------------------------- -----------------
# include
# pragma hdrstop
# include "Unit1.h"
# include "Unit2.h"
# include
// --------------------------------------------- ----------------- # pragma package (smart_init)
# pragma resource "*. dfm"
Executing * Thread;
TForm1 * Form1;
tagMSG lpMsg;
// --------------------------------------------- ----------------- __fastcall TForm1 :: TForm1 (TComponent * Owner)
: TForm (Owner)
{
}
// --------------------------------------------- -----------------
void __ fastcall TForm1 :: FormActivate (TObject * Sender)
{
Thread = new Executing (FALSE);// запускаємо потік
}
// --------------------------------------------- -----------------
void __ fastcall TForm1 :: FormClose (TObject * Sender, TCloseAction & Action)
{
Thread-> WaitFor ();
delete (Thread);
}
// --------------------------------------------- -----------------
// --------------------------------------------- ------------------------------
# ifndef UdevicesH
# define UdevicesH
# include
// # include "U_MK_pipe.h"
# include
// --------------------------------------------- -----------------// Абстрактний клас, який реалізує базові функції будь-якого пристрою
class TDevFather: public TObject
{
__published:
private:// User declarations
protected:
bool active;
char receiver [0x1000] ;//апріорно виділено 4Кб буфера, приготовлені для відправки класу монітора
int receiver_size ;//розмір реально прийнятих байт в буфері
public:
virtual __ fastcall TDevFather ();
virtual __ fastcall ~ TDevFather ();
virtual int __ fastcall link_on ();
virtual int __ fastcall link_off ();
// функції для роботи з мостом в цілях введення/виведення
// читання з буфера устройтва
virtual int __ fastcall scan () ;//Повертає ознака стану пристрою
virtual int __ fastcall read () ;//Якщо позитивне число, то це число пінятих байт, якщо від'ємне, то це код помилки
virtual char * __ fastcall get_receiver_ptr () ;//
// відправити дані
virtual int __ fastcall write (char * chs, int size) ;//передача символів/байтів на пристрій
// запис в буфер
// virtual int __ fastcall add_to_sender (char * chs, int size) ;//передача символів/байтів в передавальний буфер
};
// --------------------------------------------- -----------------
class TCom: public TDevFather
{
__published:
private:// User declarations
protected:
AnsiString comname;
int baudrate;
HANDLE com_hndl;
DCB st_dcb;
public:
virtual __ fastcall TCom (char * comname, int baudrate);
virtual __ fastcall ~ TCom ();
int __ fastcall link_on ();
int __ fastcall link_off ();
// функції для роботи з мостом в цілях введення/виведення
// читання з буфера устройтва
int __ fastcall scan () ;//Повертає ознака стану пристрої
int __ fastcall read () ;//Якщо позитивне число, то це число пінятих байт, якщо від'ємне, то це код помилки
// virtual char * __ fastcall get_receiver_ptr () ;//метод успадковується без зміни
// відправити дані
virtual int __ fastcall write (char * chs, int size) ;//передача символів/байтів на пристрій
// запис в буфер
// virtual int __ fastcall add_to_sender (char * chs, int size) ;//передача символів/байтів в передавальний буфер
void __ fastcall set_comname (AnsiString comname);
void __ fastcall set_baudrate (int baudrate);
AnsiString __ fastcall get_comname ();
int __ fastcall get_baudrate ();
};
// --------------------------------------------- ----------------- # endif
// --------------------------------------------- -----------------
# pragma hdrstop
# include
# include
# include "Udevices.h"
// --------------------------------------------- ----------------- __fastcall TDevFather :: TDevFather () {}
// ---------------...