Вход/Регистрация
Интернет решения от доктора Боба
вернуться

Swart Bob

Шрифт:

 {$ELSE}

{$R UUCODE.D16}

 {$ENDIF}

 uses

DsgnIntf;

 type

TFileNameProperty = class(TStringProperty)

public

function GetAttributes: TPropertyAttributes; override;

procedure Edit; override;

end;

 procedure Register;

 implementation

 uses

UUCode, Classes, Dialogs, Forms, SysUtils;

function TFileNameProperty.GetAttributes: TPropertyAttributes;

begin

Result := [paDialog]

end {GetAttributes};

procedure TFileNameProperty.Edit;

begin

with TOpenDialog.Create(Application) do

try

Title := GetName; { name of property as OpenDialog caption }

Filename := GetValue;

Filter := 'All Files (*.*)|*.*';

HelpContext := 0;

Options := Options +

[ofShowHelp, ofPathMustExist, ofFileMustExist];

if Execute then SetValue(Filename);

finally

Free

end

end {Edit};

procedure Register;

begin

{ component }

RegisterComponents('DrBob42', [TUUCode]);

{ property editor }

RegisterPropertyEditor(TypeInfo(TFilename), nil,

'InputFile', TFilenameProperty);

end {Register};

 end.

Если вы желаете использовать компонент TUUCode в составе, какого либо пакета, то вы должны поместить компонент UUCode в пакет времени выполнения (runtime package), и модуль UUReg в пакет разработки (design-time), который требует пакет времени выполнения. В действительности, для использования пакетов вы можете использовать UUCode Wizard из следующей главы в пакет времени разработки и сделать его доступным в IDE Delphi для всех пользователей!

1.1.12. UUCode Example Wizard

Для показа прогресса 16-битный пример использует TGauge компонент, в то же время 32-битная версия использует Windows 95 Progress Control.

рис. 1.1. 16-битная версия примера UUCode

рис. 1.2. 32-битная версия примера UUCode

Во время исполнения программы могут возникнуть два исключения. Если входной файл пуст и во время кодирования, если выходной файл пуст. Для 16 битной версии может возникнуть третье исключение, если входной или выходной файл больше 65000 байт (16-битная версия данного компонента может обрабатывать входные и выходные файлы до 64 килобайт). На практике это означает, не может быть более 48 килобайт. 32-битная версия не имеет такого ограничения).

1.1.13. Заключение

В этой главе мы рассмотрели uuencode/uudecode, xxencode/xxdecode, и Base64 алгоритмы кодирования/декодирования. Мы также разработали простой VCL компонент, который поддерживает эти алгоритмы в дополнение к простому копированию. Свойства, методы и события делают данный компонент пригодным для построения Интернет приложений нуждающихся в подобном преобразовании.

Компонент TBUUCode сейчас часть пакета "DrBob42 component package for Delphi and C++Builder".

  • Читать дальше
  • 1
  • ...
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: