TBUUCode êîìïîíåíò
Îïðåäåëåíèå èíòåðôåéñà êîìïîíåíòà TUUCode, áàçèðóåòñÿ íà ðàíåå ïðèâåäåííûõ è îáúÿñíåííûõ ïðîöåäóð Triplet2Kwartet è Kwartet2Triplet, çàìåòèì, ÷òî íèæå ïðèâåäåííûé êîä èñïîëüçóåò óñëîâíîå êîìïèëèðîâàíèå â çàâèñèìîñòè îò âåðñèé Delphi è C++Builder.
unit UUCode;
interface
uses
{$IFDEF WIN32}
Windows,
{$ELSE}
WinTypes, WinProcs,
{$ENDIF}
SysUtils, Messages, Classes, Graphics, Controls, Forms;
{$IFNDEF WIN32}
type
ShortString = String;
{$ENDIF}
type
EUUCode = class(Exception);
TAlgorithm = (filecopy, uuencode, uudecode,
xxencode, xxdecode,
Base64encode, Base64decode);
TUnixCRLF = (CRLF, LF);
TProgressEvent = procedure(Percent:Word) of Object;
TBUUCode = class(TComponent)
public
{ Public class declarations (override) }
constructor
Create(AOwner: TComponent); override;
private
{ Private field declarations }
FAbout: ShortString;
FActive: Boolean;
FAlgorithm: TAlgorithm;
FFileMode: Word;
FHeaders: Boolean;
FInputFileName: TFileName;
FOutputFileName: TFileName;
FOnProgress: TProgressEvent;
FUnixCRLF: TUnixCRLF;
{ Dummy method to get read-only About property }
procedure
Dummy(Ignore: ShortString);
protected
{ Protected Activate method }
procedure
Activate(GoActive: Boolean);
public
{ Public UUCode interface declaration }
procedure
UUCode;
published
{ Published design declarations }
property
About: ShortString read FAbout write Dummy;
property
Active: Boolean read FActive write Activate;
property
Algorithm: TAlgorithm read
Falgorithm
write FAlgorithm;
property
FileMode: Word read FFileMode write FFileMode;
property
Headers: Boolean read FHeaders write FHeaders;
property
InputFile: TFileName read
FInputFileName
write FInputFileName;
property
OutputFile: TFileName read
FOutputFileName
write FOutputFileName;
property
UnixCRLF: TUnixCRLF read FUnixCRLF write FUnixCRLF;
published
{ Published Event property }
property
OnProgress: TProgressEvent read
FOnProgress
write FOnProgress;
end {TUUCode};