📄 adprotcl.pas
字号:
procedure SetHonorDirectory(const NewOpt : Boolean);
function GetIncludeDirectory : Boolean;
procedure SetIncludeDirectory(const NewOpt : Boolean);
function GetRTSLowForWrite : Boolean;
procedure SetRTSLowForWrite(const NewOpt : Boolean);
function GetAbortNoCarrier : Boolean;
procedure SetAbortNoCarrier(const NewOpt : Boolean);
function GetBP2KTransmit : Boolean;
procedure SetBP2KTransmit(const NewOpt : Boolean);
function GetAsciiSuppressCtrlZ : Boolean;
procedure SetAsciiSuppressCtrlZ(const NewOpt : Boolean);
function GetUpcaseFileNames : Boolean;
procedure SetUpcaseFileNames(NewUpcase : Boolean);
{Port close callback}
{procedure apwPortCallback (CP : TObject;
Opening : Boolean);}
procedure apwPortCallbackEx(CP : TObject; CallbackType : TApdCallbackType);
{Protocol event methods}
procedure apwProtocolAccept(CP : TObject; var Accept : Boolean;
var FName : TPassString); virtual;
procedure apwProtocolError(CP : TObject; ErrorCode : Integer); virtual;
procedure apwProtocolFinish(CP : TObject; ErrorCode : Integer); virtual;
procedure apwProtocolLog(CP : TObject; Log : Cardinal); virtual;
procedure apwProtocolNextFile(CP : TObject; var FName : TPassString); virtual;
procedure apwProtocolResume(CP : TObject;
var Resume : TWriteFailAction); virtual;
procedure apwProtocolStatus(CP : TObject; Options : Cardinal); virtual;
public
PData : PProtocolData; {Protocol data}
constructor Create(AOwner : TComponent); override;
{-Create a TApdProtocol component}
destructor Destroy; override;
{-Destroy a TApdProtocol component}
procedure Assign(Source : TPersistent); override;
{-Assign fields from TApdProtocol object specified by Source}
{.Z-}
function EstimateTransferSecs(const Size : Longint) : Longint;
{-Return the number of seconds to transmit Size bytes}
function StatusMsg(const Status : Cardinal) : String;
{-Return a status message for Status}
procedure StartTransmit;
{-Start a background transmit session}
procedure StartReceive;
{-Start a background receive session}
procedure CancelProtocol;
{-Cancel the background protocol session}
{General properties}
property ComPort : TApdCustomComPort
read FComPort write SetComPort;
{General protocol control properties}
property ProtocolType : TProtocolType
read FProtocolType write SetProtocolType;
property DestinationDirectory : String
read GetDestinationDirectory write SetDestinationDirectory;
property FileMask : TFileName
read GetFileMask write SetFileMask;
property BlockCheckMethod : TBlockCheckMethod
read GetBlockCheckMethod write SetBlockCheckMethod;
property HandshakeRetry : Cardinal
read GetHandshakeRetry write SetHandshakeRetry default awpDefHandshakeRetry;
property HandshakeWait : Cardinal
read GetHandshakeWait write SetHandshakeWait default awpDefHandshakeWait;
property TransmitTimeout : Cardinal
read GetTransmitTimeout write SetTransmitTimeout default awpDefTransTimeout;
property FinishWait : Cardinal
read GetFinishWait write SetFinishWait default awpDefFinishWait;
property ActualBPS : Longint
read GetActualBPS write SetActualBPS;
property TurnDelay : Cardinal
read GetTurnDelay write SetTurnDelay default awpDefTurnDelay;
property Overhead : Cardinal
read GetOverhead write SetOverhead default awpDefOverhead;
property WriteFailAction : TWriteFailAction
read GetWriteFailAction write SetWriteFailAction
default awpDefWriteFailAction;
{Option properties}
property HonorDirectory : Boolean
read GetHonorDirectory write SetHonorDirectory
default awpDefHonorDirectory;
property IncludeDirectory : Boolean
read GetIncludeDirectory write SetIncludeDirectory
default awpDefIncludeDirectory;
property RTSLowForWrite : Boolean
read GetRTSLowForWrite write SetRTSLowForWrite
default awpDefRTSLowForWrite;
property AbortNoCarrier : Boolean
read GetAbortNoCarrier write SetAbortNoCarrier
default awpDefAbortNoCarrier;
property BP2KTransmit : Boolean
read GetBP2KTransmit write SetBP2KTransmit
default awpDefBP2KTransmit;
property AsciiSuppressCtrlZ : Boolean
read GetAsciiSuppressCtrlZ write SetAsciiSuppressCtrlZ
default awpDefAsciiSuppressCtrlZ;
property UpcaseFileNames : Boolean
read GetUpcaseFileNames write SetUpcaseFileNames
default awpDefUpcaseFileNames;
{Read only properties}
property Batch : Boolean
read GetBatch;
property BlockLength : Cardinal
read GetBlockLength;
property BlockNumber : Cardinal
read GetBlockNumber;
property ProtocolStatus : Cardinal
read GetProtocolStatus;
property ProtocolError : SmallInt
read GetProtocolError;
property FileLength : LongInt
read GetFileLength;
property FileDate : TDateTime
read GetFileDate;
property InitialPosition : LongInt
read GetInitialPosition;
{Status properties}
property StatusDisplay : TApdAbstractStatus
read FStatusDisplay write SetStatusDisplay;
property ProtocolLog : TApdProtocolLog
read FProtocolLog write SetProtocolLog;
property StatusInterval : Cardinal
read GetStatusInterval write SetStatusInterval default awpDefStatusInterval;
property InProgress : Boolean
read GetInProgress;
property BlockErrors : Cardinal
read GetBlockErrors;
property TotalErrors : Cardinal
read GetTotalErrors;
property BytesRemaining : LongInt
read GetBytesRemaining;
property BytesTransferred : LongInt
read GetBytesTransferred;
property ElapsedTicks : LongInt
read GetElapsedTicks;
property FileName : String
read GetFileName write SetFileName;
{Xmodem/Ymodem properties}
property XYmodemBlockWait : Cardinal
read GetXYmodemBlockWait write SetXYmodemBlockWait
default awpDefXYmodemBlockWait;
{Zmodem properties}
property ZmodemOptionOverride : Boolean
read GetZmodemOptionOverride write SetZmodemOptionOverride
default awpDefZmodemOptionOverride;
property ZmodemSkipNoFile : Boolean
read GetZmodemSkipNoFile write SetZmodemSkipNoFile
default awpDefZmodemSkipNoFile;
property ZmodemFileOption : TZmodemFileOptions
read GetZmodemFileOption write SetZmodemFileOption
default awpDefZmodemFileOption;
property ZmodemRecover : Boolean
read GetZmodemRecover write SetZmodemRecover default awpDefZmodemRecover;
property Zmodem8K : Boolean
read GetZmodem8K write SetZmodem8K default awpDefZmodem8K;
property ZmodemZRQINITValue : LongInt
read GetZmodemZRQINITValue write SetZmodemZRQINITValue
default awpDefZmodemZRQINITValue;
property ZmodemFinishRetry : Cardinal
read GetZmodemFinishRetry write SetZmodemFinishRetry
default awpDefZmodemFinishRetry;
{Kermit properties}
property KermitMaxLen : Cardinal
read GetKermitMaxLen write setKermitMaxLen
default awpDefKermitMaxLen;
property KermitMaxWindows : Cardinal
read GetKermitMaxWindows write SetKermitMaxWindows
default awpDefKermitMaxWindows;
property KermitSWCTurnDelay : Cardinal
read GetKermitSWCTurnDelay write SetKermitSWCTurnDelay
default awpDefKermitSWCTurnDelay;
property KermitTimeoutSecs : Cardinal
read GetKermitTimeoutSecs write SetKermitTimeoutSecs
default awpDefKermitTimeoutSecs;
property KermitPadCharacter : Char
read GetKermitPadCharacter write SetKermitPadCharacter
default awpDefKermitPadCharacter;
property KermitPadCount : Cardinal
read GetKermitPadCount write SetKermitPadCount
default awpDefKermitPadCount;
property KermitTerminator : Char
read GetKermitTerminator write SetKermitTerminator
default awpDefKermitTerminator;
property KermitCtlPrefix : Char
read GetKermitCtlPrefix write SetKermitCtlPrefix
default awpDefKermitCtlPrefix;
property KermitHighbitPrefix : Char
read GetKermitHighbitPrefix write SetKermitHighbitPrefix
default awpDefKermitHighbitPrefix;
property KermitRepeatPrefix : Char
read GetKermitRepeatPrefix write SetKermitRepeatPrefix
default awpDefKermitRepeatPrefix;
property KermitWindowsTotal : Cardinal
read GetKermitWindowsTotal;
property KermitWindowsUsed : Cardinal
read GetKermitWindowsUsed;
property KermitLongBlocks : Boolean
read GetKermitLongBlocks;
property AsciiCharDelay : Cardinal
read GetAsciiCharDelay write SetAsciiCharDelay
default awpDefAsciiCharDelay;
property AsciiLineDelay : Cardinal
read GetAsciiLineDelay write SetAsciiLineDelay
default awpDefAsciiLineDelay;
property AsciiEOLChar : Char
read GetAsciiEOLChar write SetAsciiEOLChar
default awpDefAsciiEOLChar;
property AsciiCRTranslation : TAsciiEOLTranslation
read GetAsciiCRTranslation write SetAsciiCRTranslation
default awpDefAsciiCRTranslation;
property AsciiLFTranslation : TAsciiEOLTranslation
read GetAsciiLFTranslation write SetAsciiLFTranslation
default awpDefAsciiLFTranslation;
property AsciiEOFTimeout : Cardinal
read GetAsciiEOFTimeout write SetAsciiEOFTimeout
default awpDefAsciiEOFTimeout;
{Protocol events}
property OnProtocolAccept : TProtocolAcceptEvent
read FOnProtocolAccept write FOnProtocolAccept;
property OnProtocolError : TProtocolErrorEvent
read FOnProtocolError write FOnProtocolError;
property OnProtocolFinish : TProtocolFinishEvent
read FOnProtocolFinish write FOnProtocolFinish;
property OnProtocolLog : TProtocolLogEvent
read FOnProtocolLog write FOnProtocolLog;
property OnProtocolNextFile : TProtocolNextFileEvent
read FOnProtocolNextFile write FOnProtocolNextFile;
property OnProtocolResume : TProtocolResumeEvent
read FOnProtocolResume write FOnProtocolResume;
property OnProtocolStatus : TProtocolStatusEvent
read FOnProtocolStatus write FOnProtocolStatus;
end;
{Abstract protocol status class}
TApdAbstractStatus = class(TApdBaseComponent)
protected {private}
{.Z+}
FDisplay : TForm;
FPosition : TPosition;
FCtl3D : Boolean;
FVisible : Boolean;
FCaption : TCaption;
procedure Notification(AComponent : TComponent;
Operation: TOperation); override;
protected
FProtocol : TApdCustomProtocol;
procedure SetPosition(const NewPosition : TPosition);
procedure SetCtl3D(const NewCtl3D : Boolean);
procedure SetVisible(const NewVisible : Boolean);
procedure SetCaption(const NewCaption : TCaption);
procedure GetProperties;
procedure Show;
public
constructor Create(AOwner : TComponent); override;
{-Create a TApdAbstractStatus component}
destructor Destroy; override;
{-Destroy a TApdAbstractStatus component}
{.Z-}
procedure UpdateDisplay(First, Last : Boolean); virtual; abstract;
{-Update the status display with current data}
procedure CreateDisplay; dynamic; abstract;
{-Create the status display}
procedure DestroyDisplay; dynamic; abstract;
{-Destroy the status display}
property Display : TForm
read FDisplay write FDisplay;
published
property Position : TPosition
read FPosition write SetPosition;
property Ctl3D : Boolean
read FCtl3D write SetCtl3D;
property Visible : Boolean
read FVisible write SetVisible;
property Protocol : TApdCustomProtocol
read FProtocol write FProtocol;
property Caption : TCaption
read FCaption write SetCaption;
end;
{Builtin log procedure}
TApdProtocolLog = class(TApdBaseComponent)
protected {private}
{.Z+}
FDeleteFailed : TDeleteFailed;
FHistoryName : String;
FProtocol : TApdCustomProtocol;
procedure Notification(AComponent : TComponent;
Operation: TOperation); override;
public
constructor Create(AOwner : TComponent); override;
{-Create a TApdProtocolLog component}
{.Z-}
procedure UpdateLog(const Log : Cardinal); virtual;
{-Add a log entry}
published
property Protocol : TApdCustomProtocol
read FProtocol write FProtocol;
property DeleteFailed : TDeleteFailed
read FDeleteFailed write FDeleteFailed default awpDefDeleteFailed;
property HistoryName : String
read FHistoryName write FHistoryName;
end;
{Protocol component}
TApdProtocol = class(TApdCustomProtocol)
published
property ComPort;
property ProtocolType;
property DestinationDirectory;
property FileMask;
property BlockCheckMethod;
property HandshakeRetry;
property HandshakeWait;
property TransmitTimeout;
property FinishWait;
property TurnDelay;
property Overhead;
property WriteFailAction;
property HonorDirectory;
property IncludeDirectory;
property RTSLowForWrite;
property AbortNoCarrier;
property BP2KTransmit;
property AsciiSuppressCtrlZ;
property StatusDisplay;
property ProtocolLog;
property StatusInterval;
property FileName;
property XYmodemBlockWait;
property ZmodemOptionOverride;
property ZmodemSkipNoFile;
property ZmodemFileOption;
property ZmodemRecover;
property Zmodem8K;
property ZmodemFinishRetry;
property KermitMaxLen;
property KermitMaxWindows;
property KermitSWCTurnDelay;
property KermitTimeoutSecs;
property KermitPadCharacter;
property KermitPadCount;
property KermitTerminator;
property KermitCtlPrefix;
property KermitHighbitPrefix;
property KermitRepeatPrefix;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -