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

📄 cport.hpp

📁 TComPort 4.0 delphi中com免DLL控件
💻 HPP
📖 第 1 页 / 共 3 页
字号:
	__property OnDSRChange ;
	__property OnRLSDChange ;
	__property OnRxFlag ;
	__property OnError ;
	__property OnRx80Full ;
public:
	#pragma option push -w-inl
	/* TCustomComPort.Create */ inline __fastcall virtual TComPort(Classes::TComponent* AOwner) : TCustomComPort(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomComPort.Destroy */ inline __fastcall virtual ~TComPort(void) { }
	#pragma option pop
	
};


typedef void __fastcall (__closure *TComStrEvent)(System::TObject* Sender, const AnsiString Str);

typedef void __fastcall (__closure *TCustPacketEvent)(System::TObject* Sender, const AnsiString Str, int &Pos);

class DELPHICLASS TComDataPacket;
class PASCALIMPLEMENTATION TComDataPacket : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	TComLink* FComLink;
	TCustomComPort* FComPort;
	AnsiString FStartString;
	AnsiString FStopString;
	int FMaxBufferSize;
	int FSize;
	bool FIncludeStrings;
	bool FCaseInsensitive;
	bool FInPacket;
	AnsiString FBuffer;
	TComStrEvent FOnPacket;
	TComStrEvent FOnDiscard;
	TCustPacketEvent FOnCustomStart;
	TCustPacketEvent FOnCustomStop;
	void __fastcall SetComPort(const TCustomComPort* Value);
	void __fastcall SetCaseInsensitive(const bool Value);
	void __fastcall SetSize(const int Value);
	void __fastcall SetStartString(const AnsiString Value);
	void __fastcall SetStopString(const AnsiString Value);
	void __fastcall RxBuf(System::TObject* Sender, const char * Buffer, int Count);
	void __fastcall CheckIncludeStrings(AnsiString &Str);
	AnsiString __fastcall Upper(const AnsiString Str);
	void __fastcall EmptyBuffer(void);
	bool __fastcall ValidStop(void);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	DYNAMIC void __fastcall DoDiscard(const AnsiString Str);
	DYNAMIC void __fastcall DoPacket(const AnsiString Str);
	DYNAMIC void __fastcall DoCustomStart(const AnsiString Str, int &Pos);
	DYNAMIC void __fastcall DoCustomStop(const AnsiString Str, int &Pos);
	virtual void __fastcall HandleBuffer(void);
	__property AnsiString Buffer = {read=FBuffer, write=FBuffer};
	
public:
	__fastcall virtual TComDataPacket(Classes::TComponent* AOwner);
	__fastcall virtual ~TComDataPacket(void);
	void __fastcall AddData(const AnsiString Str);
	
__published:
	__property TCustomComPort* ComPort = {read=FComPort, write=SetComPort};
	__property bool CaseInsensitive = {read=FCaseInsensitive, write=SetCaseInsensitive, default=0};
	__property bool IncludeStrings = {read=FIncludeStrings, write=FIncludeStrings, default=0};
	__property int MaxBufferSize = {read=FMaxBufferSize, write=FMaxBufferSize, default=1024};
	__property AnsiString StartString = {read=FStartString, write=SetStartString};
	__property AnsiString StopString = {read=FStopString, write=SetStopString};
	__property int Size = {read=FSize, write=SetSize, default=0};
	__property TComStrEvent OnDiscard = {read=FOnDiscard, write=FOnDiscard};
	__property TComStrEvent OnPacket = {read=FOnPacket, write=FOnPacket};
	__property TCustPacketEvent OnCustomStart = {read=FOnCustomStart, write=FOnCustomStart};
	__property TCustPacketEvent OnCustomStop = {read=FOnCustomStop, write=FOnCustomStop};
};


class DELPHICLASS TComStream;
class PASCALIMPLEMENTATION TComStream : public Classes::TStream 
{
	typedef Classes::TStream inherited;
	
private:
	TCustomComPort* FComPort;
	
public:
	__fastcall TComStream(TCustomComPort* AComPort);
	virtual int __fastcall Read(void *Buffer, int Count);
	virtual int __fastcall Write(const void *Buffer, int Count);
	virtual int __fastcall Seek(int Offset, Word Origin)/* overload */;
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TComStream(void) { }
	#pragma option pop
	
	
/* Hoisted overloads: */
	
public:
	inline __int64 __fastcall  Seek(const __int64 Offset, Classes::TSeekOrigin Origin){ return TStream::Seek(Offset, Origin); }
	
};


class DELPHICLASS EComPort;
class PASCALIMPLEMENTATION EComPort : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	Byte FCode;
	__fastcall EComPort(const AnsiString Msg)/* overload */;
	__fastcall EComPort(AnsiString port, Byte ACode)/* overload */;
	__property Byte Code = {read=FCode, write=FCode, nodefault};
public:
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EComPort(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EComPort(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EComPort(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EComPort(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EComPort(const AnsiString Msg, System::TVarRec const * 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 EComPort(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EComPort(System::PResStringRec ResStringRec, System::TVarRec const * 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 ~EComPort(void) { }
	#pragma option pop
	
};


class DELPHICLASS EComPortExt;
class PASCALIMPLEMENTATION EComPortExt : public EComPort 
{
	typedef EComPort inherited;
	
private:
	int FWinCode;
	
public:
	__fastcall EComPortExt(AnsiString port, Byte ACode, int AWinCode);
	__property int WinCode = {read=FWinCode, write=FWinCode, nodefault};
public:
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall EComPortExt(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : EComPort(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall EComPortExt(int Ident)/* overload */ : EComPort(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall EComPortExt(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : EComPort(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall EComPortExt(const AnsiString Msg, int AHelpContext) : EComPort(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall EComPortExt(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : EComPort(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall EComPortExt(int Ident, int AHelpContext)/* overload */ : EComPort(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall EComPortExt(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : EComPort(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~EComPortExt(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
static const int WaitInfinite = -1;
static const Shortint CError_OpenFailed = 0x1;
static const Shortint CError_WriteFailed = 0x2;
static const Shortint CError_ReadFailed = 0x3;
static const Shortint CError_InvalidAsync = 0x4;
static const Shortint CError_PurgeFailed = 0x5;
static const Shortint CError_AsyncCheck = 0x6;
static const Shortint CError_SetStateFailed = 0x7;
static const Shortint CError_TimeoutsFailed = 0x8;
static const Shortint CError_SetupComFailed = 0x9;
static const Shortint CError_ClearComFailed = 0xa;
static const Shortint CError_ModemStatFailed = 0xb;
static const Shortint CError_EscapeComFailed = 0xc;
static const Shortint CError_TransmitFailed = 0xd;
static const Shortint CError_ConnChangeProp = 0xe;
static const Shortint CError_EnumPortsFailed = 0xf;
static const Shortint CError_StoreFailed = 0x10;
static const Shortint CError_LoadFailed = 0x11;
static const Shortint CError_RegFailed = 0x12;
static const Shortint CError_LedStateFailed = 0x13;
static const Shortint CError_ThreadCreated = 0x14;
static const Shortint CError_WaitFailed = 0x15;
static const Shortint CError_HasLink = 0x16;
static const Shortint CError_RegError = 0x17;
static const Shortint CError_UNDEFINED = 0x0;
extern PACKAGE AnsiString __fastcall ComErrorMessage(int index);
extern PACKAGE void __fastcall CportInitAsync(Cporttypes::PCPortAsync &AsyncPtr);
extern PACKAGE void __fastcall CportDoneAsync(Cporttypes::PCPortAsync &AsyncPtr);
extern PACKAGE void __fastcall EnumComPorts(Classes::TStrings* Ports);
extern PACKAGE Cporttypes::TBaudRate __fastcall StrToBaudRate(AnsiString Str);
extern PACKAGE Cporttypes::TStopBits __fastcall StrToStopBits(AnsiString Str);
extern PACKAGE Cporttypes::TDataBits __fastcall StrToDataBits(AnsiString Str);
extern PACKAGE Cporttypes::TParityBits __fastcall StrToParity(AnsiString Str);
extern PACKAGE Cporttypes::TFlowControl __fastcall StrToFlowControl(AnsiString Str);
extern PACKAGE AnsiString __fastcall BaudRateToStr(Cporttypes::TBaudRate BaudRate);
extern PACKAGE int __fastcall BaudRateToInt(Cporttypes::TBaudRate BaudRate);
extern PACKAGE AnsiString __fastcall StopBitsToStr(Cporttypes::TStopBits StopBits);
extern PACKAGE AnsiString __fastcall DataBitsToStr(Cporttypes::TDataBits DataBits);
extern PACKAGE AnsiString __fastcall ParityToStr(Cporttypes::TParityBits Parity);
extern PACKAGE AnsiString __fastcall FlowControlToStr(Cporttypes::TFlowControl FlowControl);

}	/* namespace Cport */
using namespace Cport;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Cport

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -