Èíòåðíåò-ðåøåíèÿ îò äîêòîðà Áîáà

       

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};



Ñîäåðæàíèå ðàçäåëà