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

📄 cport.hpp.svn-base

📁 comm接口程序
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Cport.pas' rev: 10.00

#ifndef CportHPP
#define CportHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Inifiles.hpp>	// Pascal unit
#include <Registry.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Cport
{
//-- type declarations -------------------------------------------------------
typedef AnsiString TPort;

#pragma option push -b-
enum TBaudRate { brCustom, br110, br300, br600, br1200, br2400, br4800, br9600, br14400, br19200, br38400, br56000, br57600, br115200, br128000, br256000 };
#pragma option pop

#pragma option push -b-
enum TStopBits { sbOneStopBit, sbOne5StopBits, sbTwoStopBits };
#pragma option pop

#pragma option push -b-
enum TDataBits { dbFive, dbSix, dbSeven, dbEight };
#pragma option pop

#pragma option push -b-
enum TParityBits { prNone, prOdd, prEven, prMark, prSpace };
#pragma option pop

#pragma option push -b-
enum TDTRFlowControl { dtrDisable, dtrEnable, dtrHandshake };
#pragma option pop

#pragma option push -b-
enum TRTSFlowControl { rtsDisable, rtsEnable, rtsHandshake, rtsToggle };
#pragma option pop

#pragma option push -b-
enum TFlowControl { fcHardware, fcSoftware, fcNone, fcCustom };
#pragma option pop

#pragma option push -b-
enum TComEvent { evRxChar, evTxEmpty, evRxFlag, evRing, evBreak, evCTS, evDSR, evError, evRLSD, evRx80Full };
#pragma option pop

typedef Set<TComEvent, evRxChar, evRx80Full>  TComEvents;

#pragma option push -b-
enum TComSignal { csCTS, csDSR, csRing, csRLSD };
#pragma option pop

typedef Set<TComSignal, csCTS, csRLSD>  TComSignals;

#pragma option push -b-
enum TComError { ceFrame, ceRxParity, ceOverrun, ceBreak, ceIO, ceMode, ceRxOver, ceTxFull };
#pragma option pop

typedef Set<TComError, ceFrame, ceTxFull>  TComErrors;

#pragma option push -b-
enum TSyncMethod { smThreadSync, smWindowSync, smNone };
#pragma option pop

#pragma option push -b-
enum TStoreType { stRegistry, stIniFile };
#pragma option pop

#pragma option push -b-
enum TStoredProp { spBasic, spFlowControl, spBuffer, spTimeouts, spParity, spOthers };
#pragma option pop

typedef Set<TStoredProp, spBasic, spOthers>  TStoredProps;

#pragma option push -b-
enum TComLinkEvent { leConn, leCTS, leDSR, leRLSD, leRing, leRx, leTx, leTxEmpty, leRxFlag };
#pragma option pop

typedef void __fastcall (__closure *TRxCharEvent)(System::TObject* Sender, int Count);

typedef void __fastcall (__closure *TRxBufEvent)(System::TObject* Sender, const void *Buffer, int Count);

typedef void __fastcall (__closure *TComErrorEvent)(System::TObject* Sender, TComErrors Errors);

typedef void __fastcall (__closure *TComSignalEvent)(System::TObject* Sender, bool OnOff);

#pragma option push -b-
enum TOperationKind { okWrite, okRead };
#pragma option pop

struct TAsync
{
	
public:
	_OVERLAPPED Overlapped;
	TOperationKind Kind;
	void *Data;
	int Size;
} ;

typedef TAsync *PAsync;

class DELPHICLASS TComLink;
class PASCALIMPLEMENTATION TComLink : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	TComSignalEvent FOnConn;
	TRxBufEvent FOnRxBuf;
	TRxBufEvent FOnTxBuf;
	Classes::TNotifyEvent FOnTxEmpty;
	Classes::TNotifyEvent FOnRxFlag;
	TComSignalEvent FOnCTSChange;
	TComSignalEvent FOnDSRChange;
	TComSignalEvent FOnRLSDChange;
	Classes::TNotifyEvent FOnRing;
	TComSignalEvent FOnTx;
	TComSignalEvent FOnRx;
	
public:
	__property TComSignalEvent OnConn = {read=FOnConn, write=FOnConn};
	__property TRxBufEvent OnRxBuf = {read=FOnRxBuf, write=FOnRxBuf};
	__property TRxBufEvent OnTxBuf = {read=FOnTxBuf, write=FOnTxBuf};
	__property Classes::TNotifyEvent OnTxEmpty = {read=FOnTxEmpty, write=FOnTxEmpty};
	__property Classes::TNotifyEvent OnRxFlag = {read=FOnRxFlag, write=FOnRxFlag};
	__property TComSignalEvent OnCTSChange = {read=FOnCTSChange, write=FOnCTSChange};
	__property TComSignalEvent OnDSRChange = {read=FOnDSRChange, write=FOnDSRChange};
	__property TComSignalEvent OnRLSDChange = {read=FOnRLSDChange, write=FOnRLSDChange};
	__property Classes::TNotifyEvent OnRing = {read=FOnRing, write=FOnRing};
	__property TComSignalEvent OnTx = {read=FOnTx, write=FOnTx};
	__property TComSignalEvent OnRx = {read=FOnRx, write=FOnRx};
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TComLink(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TComLink(void) { }
	#pragma option pop
	
};


class DELPHICLASS TComThread;
class DELPHICLASS TCustomComPort;
class DELPHICLASS TComBuffer;
class PASCALIMPLEMENTATION TComBuffer : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TCustomComPort* FComPort;
	int FInputSize;
	int FOutputSize;
	void __fastcall SetComPort(const TCustomComPort* AComPort);
	void __fastcall SetInputSize(const int Value);
	void __fastcall SetOutputSize(const int Value);
	
protected:
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	
public:
	__fastcall TComBuffer(void);
	__property TCustomComPort* ComPort = {read=FComPort};
	
__published:
	__property int InputSize = {read=FInputSize, write=SetInputSize, default=1024};
	__property int OutputSize = {read=FOutputSize, write=SetOutputSize, default=1024};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TComBuffer(void) { }
	#pragma option pop
	
};


class DELPHICLASS TComParity;
class PASCALIMPLEMENTATION TComParity : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TCustomComPort* FComPort;
	TParityBits FBits;
	bool FCheck;
	bool FReplace;
	char FReplaceChar;
	void __fastcall SetComPort(const TCustomComPort* AComPort);
	void __fastcall SetBits(const TParityBits Value);
	void __fastcall SetCheck(const bool Value);
	void __fastcall SetReplace(const bool Value);
	void __fastcall SetReplaceChar(const char Value);
	
protected:
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	
public:
	__fastcall TComParity(void);
	__property TCustomComPort* ComPort = {read=FComPort};
	
__published:
	__property TParityBits Bits = {read=FBits, write=SetBits, nodefault};
	__property bool Check = {read=FCheck, write=SetCheck, default=0};
	__property bool Replace = {read=FReplace, write=SetReplace, default=0};
	__property char ReplaceChar = {read=FReplaceChar, write=SetReplaceChar, default=0};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TComParity(void) { }
	#pragma option pop
	
};


class DELPHICLASS TComTimeouts;
class PASCALIMPLEMENTATION TComTimeouts : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TCustomComPort* FComPort;
	int FReadInterval;
	int FReadTotalM;
	int FReadTotalC;
	int FWriteTotalM;
	int FWriteTotalC;
	void __fastcall SetComPort(const TCustomComPort* AComPort);
	void __fastcall SetReadInterval(const int Value);
	void __fastcall SetReadTotalM(const int Value);
	void __fastcall SetReadTotalC(const int Value);
	void __fastcall SetWriteTotalM(const int Value);
	void __fastcall SetWriteTotalC(const int Value);
	
protected:
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	
public:
	__fastcall TComTimeouts(void);
	__property TCustomComPort* ComPort = {read=FComPort};
	
__published:
	__property int ReadInterval = {read=FReadInterval, write=SetReadInterval, default=-1};
	__property int ReadTotalMultiplier = {read=FReadTotalM, write=SetReadTotalM, default=0};
	__property int ReadTotalConstant = {read=FReadTotalC, write=SetReadTotalC, default=0};
	__property int WriteTotalMultiplier = {read=FWriteTotalM, write=SetWriteTotalM, default=100};
	__property int WriteTotalConstant = {read=FWriteTotalC, write=SetWriteTotalC, default=1000};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TComTimeouts(void) { }
	#pragma option pop
	
};


class DELPHICLASS TComFlowControl;
class PASCALIMPLEMENTATION TComFlowControl : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TCustomComPort* FComPort;
	bool FOutCTSFlow;
	bool FOutDSRFlow;
	TDTRFlowControl FControlDTR;
	TRTSFlowControl FControlRTS;
	bool FXonXoffOut;
	bool FXonXoffIn;
	bool FDSRSensitivity;
	bool FTxContinueOnXoff;
	char FXonChar;
	char FXoffChar;
	void __fastcall SetComPort(const TCustomComPort* AComPort);
	void __fastcall SetOutCTSFlow(const bool Value);
	void __fastcall SetOutDSRFlow(const bool Value);
	void __fastcall SetControlDTR(const TDTRFlowControl Value);
	void __fastcall SetControlRTS(const TRTSFlowControl Value);
	void __fastcall SetXonXoffOut(const bool Value);
	void __fastcall SetXonXoffIn(const bool Value);
	void __fastcall SetDSRSensitivity(const bool Value);
	void __fastcall SetTxContinueOnXoff(const bool Value);
	void __fastcall SetXonChar(const char Value);
	void __fastcall SetXoffChar(const char Value);
	void __fastcall SetFlowControl(const TFlowControl Value);
	TFlowControl __fastcall GetFlowControl(void);
	
protected:
	virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
	
public:
	__fastcall TComFlowControl(void);
	__property TCustomComPort* ComPort = {read=FComPort};
	
__published:
	__property TFlowControl FlowControl = {read=GetFlowControl, write=SetFlowControl, stored=false, nodefault};
	__property bool OutCTSFlow = {read=FOutCTSFlow, write=SetOutCTSFlow, nodefault};
	__property bool OutDSRFlow = {read=FOutDSRFlow, write=SetOutDSRFlow, nodefault};
	__property TDTRFlowControl ControlDTR = {read=FControlDTR, write=SetControlDTR, nodefault};
	__property TRTSFlowControl ControlRTS = {read=FControlRTS, write=SetControlRTS, nodefault};
	__property bool XonXoffOut = {read=FXonXoffOut, write=SetXonXoffOut, nodefault};
	__property bool XonXoffIn = {read=FXonXoffIn, write=SetXonXoffIn, nodefault};
	__property bool DSRSensitivity = {read=FDSRSensitivity, write=SetDSRSensitivity, default=0};
	__property bool TxContinueOnXoff = {read=FTxContinueOnXoff, write=SetTxContinueOnXoff, default=0};
	__property char XonChar = {read=FXonChar, write=SetXonChar, default=17};
	__property char XoffChar = {read=FXoffChar, write=SetXoffChar, default=19};
public:
	#pragma option push -w-inl
	/* TPersistent.Destroy */ inline __fastcall virtual ~TComFlowControl(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TCustomComPort : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	TComThread* FEventThread;
	bool FThreadCreated;
	unsigned FHandle;
	unsigned FWindow;
	int FUpdateCount;
	Classes::TList* FLinks;
	bool FTriggersOnRxChar;
	Classes::TThreadPriority FEventThreadPriority;
	bool FHasLink;
	bool FConnected;
	TBaudRate FBaudRate;
	int FCustomBaudRate;
	AnsiString FPort;
	TStopBits FStopBits;
	TDataBits FDataBits;
	bool FDiscardNull;
	char FEventChar;
	TComEvents FEvents;
	TComBuffer* FBuffer;
	TComParity* FParity;
	TComTimeouts* FTimeouts;
	TComFlowControl* FFlowControl;
	TSyncMethod FSyncMethod;
	TStoredProps FStoredProps;
	TRxCharEvent FOnRxChar;
	TRxBufEvent FOnRxBuf;
	Classes::TNotifyEvent FOnTxEmpty;
	Classes::TNotifyEvent FOnBreak;
	Classes::TNotifyEvent FOnRing;
	TComSignalEvent FOnCTSChange;
	TComSignalEvent FOnDSRChange;
	TComSignalEvent FOnRLSDChange;
	TComErrorEvent FOnError;
	Classes::TNotifyEvent FOnRxFlag;
	Classes::TNotifyEvent FOnAfterOpen;
	Classes::TNotifyEvent FOnAfterClose;
	Classes::TNotifyEvent FOnBeforeOpen;
	Classes::TNotifyEvent FOnBeforeClose;
	Classes::TNotifyEvent FOnRx80Full;
	bool __fastcall GetTriggersOnRxChar(void);
	void __fastcall SetTriggersOnRxChar(const bool Value);
	void __fastcall SetConnected(const bool Value);
	void __fastcall SetBaudRate(const TBaudRate Value);
	void __fastcall SetCustomBaudRate(const int Value);
	void __fastcall SetPort(const AnsiString Value);
	void __fastcall SetStopBits(const TStopBits Value);
	void __fastcall SetDataBits(const TDataBits Value);

⌨️ 快捷键说明

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