📄 cport.hpp
字号:
__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 + -