www.pudn.com > otsms > CommP.hpp


// Borland C++ Builder 
// Copyright (c) 1995, 1999 by Borland International 
// All rights reserved 
 
// (DO NOT EDIT: machine generated header) 'CommP.pas' rev: 5.00 
 
#ifndef CommPHPP 
#define CommPHPP 
 
#pragma delphiheader begin 
#pragma option push -w- 
#pragma option push -Vx 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
#include 	// Pascal unit 
 
//-- user supplied ----------------------------------------------------------- 
 
namespace Commp 
{ 
//-- type declarations ------------------------------------------------------- 
#pragma option push -b- 
enum TBaudRate { br110, br300, br600, br1200, br2400, br4800, br9600, br14400, br19200, br38400, br56000,  
	br57600, br115200 }; 
#pragma option pop 
 
#pragma option push -b- 
enum TPortType { COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8 }; 
#pragma option pop 
 
#pragma option push -b- 
enum TStopBits { sbOneStopBit, sbOne5StopBits, sbTwoStopBits }; 
#pragma option pop 
 
#pragma option push -b- 
enum TParity { prNone, prOdd, prEven, prMark, prSpace }; 
#pragma option pop 
 
#pragma option push -b- 
enum TFlowControl { fcNone, fcRtsCts, fcXonXoff }; 
#pragma option pop 
 
#pragma option push -b- 
enum TEvent { evRxChar, evTxEmpty, evRxFlag, evRing, evBreak, evCTS, evDSR, evError, evRLSD }; 
#pragma option pop 
 
typedef Set  TEvents; 
 
typedef void __fastcall (__closure *TRxCharEvent)(System::TObject* Sender, int InQue); 
 
class DELPHICLASS TComThread; 
class DELPHICLASS TCustComPort; 
class PASCALIMPLEMENTATION TCustComPort : public Classes::TComponent  
{ 
	typedef Classes::TComponent inherited; 
	 
private: 
	unsigned ComHandle; 
	TComThread* EventThread; 
	bool FConnected; 
	TBaudRate FBaudRate; 
	TPortType FPortType; 
	TParity FParity; 
	TStopBits FStopBits; 
	TFlowControl FFlowControl; 
	Byte FDataBits; 
	TEvents FEvents; 
	bool FEnableDTR; 
	int FWriteBufSize; 
	int FReadBufSize; 
	TRxCharEvent FOnRxChar; 
	Classes::TNotifyEvent FOnTxEmpty; 
	Classes::TNotifyEvent FOnBreak; 
	Classes::TNotifyEvent FOnRing; 
	Classes::TNotifyEvent FOnCTS; 
	Classes::TNotifyEvent FOnDSR; 
	Classes::TNotifyEvent FOnRLSD; 
	Classes::TNotifyEvent FOnError; 
	Classes::TNotifyEvent FOnRxFlag; 
	Classes::TNotifyEvent FOnOpen; 
	Classes::TNotifyEvent FOnClose; 
	bool fDTR; 
	bool fRTS; 
	void __fastcall SetDataBits(Byte Value); 
	AnsiString __fastcall ComString(); 
	void __fastcall DoOnRxChar(void); 
	void __fastcall DoOnTxEmpty(void); 
	void __fastcall DoOnBreak(void); 
	void __fastcall DoOnRing(void); 
	void __fastcall DoOnRxFlag(void); 
	void __fastcall DoOnCTS(void); 
	void __fastcall DoOnDSR(void); 
	void __fastcall DoOnError(void); 
	void __fastcall DoOnRLSD(void); 
	void __fastcall SetpDTR(bool Value); 
	void __fastcall SetpRTS(bool Value); 
	 
protected: 
	void __fastcall CreateHandle(void); 
	void __fastcall DestroyHandle(void); 
	 
public: 
	void __fastcall SetupState(void); 
	void __fastcall SetupDTR(void); 
	void __fastcall SetupRTS(void); 
	void __fastcall ClearDTR(void); 
	void __fastcall ClearRTS(void); 
	__property bool Connected = {read=FConnected, nodefault}; 
	bool __fastcall ValidHandle(void); 
	void __fastcall Open(void); 
	void __fastcall Close(void); 
	int __fastcall InQue(void); 
	int __fastcall OutQue(void); 
	bool __fastcall ActiveCTS(void); 
	int __fastcall Write(void *Buffer, int Count); 
	int __fastcall WriteString(AnsiString Str); 
	int __fastcall Read(void *Buffer, int Count); 
	int __fastcall ReadString(AnsiString &Str, int Count); 
	void __fastcall PurgeIn(void); 
	void __fastcall PurgeOut(void); 
	unsigned __fastcall GetComHandle(void); 
	__fastcall virtual TCustComPort(Classes::TComponent* AOwner); 
	__fastcall virtual ~TCustComPort(void); 
	 
__published: 
	__property TBaudRate BaudRate = {read=FBaudRate, write=FBaudRate, nodefault}; 
	__property TPortType Port = {read=FPortType, write=FPortType, nodefault}; 
	__property TParity Parity = {read=FParity, write=FParity, nodefault}; 
	__property TStopBits StopBits = {read=FStopBits, write=FStopBits, nodefault}; 
	__property TFlowControl FlowControl = {read=FFlowControl, write=FFlowControl, nodefault}; 
	__property Byte DataBits = {read=FDataBits, write=SetDataBits, nodefault}; 
	__property TEvents Events = {read=FEvents, write=FEvents, nodefault}; 
	__property bool EnableDTR = {read=FEnableDTR, write=FEnableDTR, nodefault}; 
	__property int WriteBufSize = {read=FWriteBufSize, write=FWriteBufSize, nodefault}; 
	__property int ReadBufSize = {read=FReadBufSize, write=FReadBufSize, nodefault}; 
	__property TRxCharEvent OnRxChar = {read=FOnRxChar, write=FOnRxChar}; 
	__property Classes::TNotifyEvent OnTxEmpty = {read=FOnTxEmpty, write=FOnTxEmpty}; 
	__property Classes::TNotifyEvent OnBreak = {read=FOnBreak, write=FOnBreak}; 
	__property Classes::TNotifyEvent OnRing = {read=FOnRing, write=FOnRing}; 
	__property Classes::TNotifyEvent OnCTS = {read=FOnCTS, write=FOnCTS}; 
	__property Classes::TNotifyEvent OnDSR = {read=FOnDSR, write=FOnDSR}; 
	__property Classes::TNotifyEvent OnRLSD = {read=FOnRLSD, write=FOnRLSD}; 
	__property Classes::TNotifyEvent OnRxFlag = {read=FOnRxFlag, write=FOnRxFlag}; 
	__property Classes::TNotifyEvent OnError = {read=FOnError, write=FOnError}; 
	__property Classes::TNotifyEvent OnOpen = {read=FOnOpen, write=FOnOpen}; 
	__property Classes::TNotifyEvent OnClose = {read=FOnClose, write=FOnClose}; 
	__property bool DTR = {read=fDTR, write=SetpDTR, nodefault}; 
	__property bool RTS = {read=fRTS, write=SetpRTS, nodefault}; 
}; 
 
 
class PASCALIMPLEMENTATION TComThread : public Classes::TThread  
{ 
	typedef Classes::TThread inherited; 
	 
private: 
	TCustComPort* Owner; 
	unsigned Mask; 
	unsigned StopEvent; 
	 
protected: 
	virtual void __fastcall Execute(void); 
	void __fastcall DoEvents(void); 
	void __fastcall Stop(void); 
	 
public: 
	__fastcall TComThread(TCustComPort* AOwner); 
	__fastcall virtual ~TComThread(void); 
}; 
 
 
class DELPHICLASS EComHandle; 
class PASCALIMPLEMENTATION EComHandle : public Sysutils::Exception  
{ 
	typedef Sysutils::Exception inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EComHandle(const AnsiString Msg) : Sysutils::Exception(Msg 
		) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EComHandle(const AnsiString Msg, const System::TVarRec  
		* Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EComHandle(int Ident)/* overload */ : Sysutils::Exception( 
		Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EComHandle(int Ident, const System::TVarRec * Args,  
		const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EComHandle(const AnsiString Msg, int AHelpContext) : Sysutils::Exception( 
		Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EComHandle(const AnsiString Msg, const System::TVarRec  
		* Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext 
		) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EComHandle(int Ident, int AHelpContext)/* overload */ 
		 : Sysutils::Exception(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EComHandle(System::PResStringRec ResStringRec, const  
		System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception( 
		ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EComHandle(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EComState; 
class PASCALIMPLEMENTATION EComState : public Sysutils::Exception  
{ 
	typedef Sysutils::Exception inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EComState(const AnsiString Msg) : Sysutils::Exception(Msg) 
		 { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EComState(const AnsiString Msg, const System::TVarRec *  
		Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EComState(int Ident)/* overload */ : Sysutils::Exception( 
		Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EComState(int Ident, const System::TVarRec * Args, const  
		int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EComState(const AnsiString Msg, int AHelpContext) : Sysutils::Exception( 
		Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EComState(const AnsiString Msg, const System::TVarRec  
		* Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext 
		) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EComState(int Ident, int AHelpContext)/* overload */ 
		 : Sysutils::Exception(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EComState(System::PResStringRec ResStringRec, const  
		System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception( 
		ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EComState(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EComWrite; 
class PASCALIMPLEMENTATION EComWrite : public Sysutils::Exception  
{ 
	typedef Sysutils::Exception inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EComWrite(const AnsiString Msg) : Sysutils::Exception(Msg) 
		 { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EComWrite(const AnsiString Msg, const System::TVarRec *  
		Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EComWrite(int Ident)/* overload */ : Sysutils::Exception( 
		Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EComWrite(int Ident, const System::TVarRec * Args, const  
		int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EComWrite(const AnsiString Msg, int AHelpContext) : Sysutils::Exception( 
		Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EComWrite(const AnsiString Msg, const System::TVarRec  
		* Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext 
		) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EComWrite(int Ident, int AHelpContext)/* overload */ 
		 : Sysutils::Exception(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EComWrite(System::PResStringRec ResStringRec, const  
		System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception( 
		ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EComWrite(void) { } 
	#pragma option pop 
	 
}; 
 
 
class DELPHICLASS EComRead; 
class PASCALIMPLEMENTATION EComRead : public Sysutils::Exception  
{ 
	typedef Sysutils::Exception inherited; 
	 
public: 
	#pragma option push -w-inl 
	/* Exception.Create */ inline __fastcall EComRead(const AnsiString Msg) : Sysutils::Exception(Msg) { } 
		 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmt */ inline __fastcall EComRead(const AnsiString Msg, const System::TVarRec *  
		Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateRes */ inline __fastcall EComRead(int Ident)/* overload */ : Sysutils::Exception( 
		Ident) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmt */ inline __fastcall EComRead(int Ident, const System::TVarRec * Args, const  
		int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateHelp */ inline __fastcall EComRead(const AnsiString Msg, int AHelpContext) : Sysutils::Exception( 
		Msg, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateFmtHelp */ inline __fastcall EComRead(const AnsiString Msg, const System::TVarRec  
		* Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext 
		) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResHelp */ inline __fastcall EComRead(int Ident, int AHelpContext)/* overload */ 
		 : Sysutils::Exception(Ident, AHelpContext) { } 
	#pragma option pop 
	#pragma option push -w-inl 
	/* Exception.CreateResFmtHelp */ inline __fastcall EComRead(System::PResStringRec ResStringRec, const  
		System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception( 
		ResStringRec, Args, Args_Size, AHelpContext) { } 
	#pragma option pop 
	 
public: 
	#pragma option push -w-inl 
	/* TObject.Destroy */ inline __fastcall virtual ~EComRead(void) { } 
	#pragma option pop 
	 
}; 
 
 
//-- var, const, procedure --------------------------------------------------- 
static const Shortint dcb_Binary = 0x1; 
static const Shortint dcb_Parity = 0x2; 
static const Shortint dcb_OutxCtsFlow = 0x4; 
static const Shortint dcb_OutxDsrFlow = 0x8; 
static const Shortint dcb_DtrControl = 0x30; 
static const Shortint dcb_DsrSensivity = 0x40; 
static const Byte dcb_TXContinueOnXOff = 0x80; 
static const Word dcb_OutX = 0x100; 
static const Word dcb_InX = 0x200; 
static const Word dcb_ErrorChar = 0x400; 
static const Word dcb_Null = 0x800; 
static const Word dcb_RtsControl = 0x3000; 
static const Word dcb_AbortOnError = 0x4000; 
extern PACKAGE void __fastcall Register(void); 
 
}	/* namespace Commp */ 
#if !defined(NO_IMPLICIT_NAMESPACE_USE) 
using namespace Commp; 
#endif 
#pragma option pop	// -w- 
#pragma option pop	// -Vx 
 
#pragma delphiheader end. 
//-- end unit ---------------------------------------------------------------- 
#endif	// CommP