Чтение онлайн

ЖАНРЫ

Интернет решения от доктора Боба

Swart Bob

Шрифт:

1.1.11. Регистрация компонента

При регистрации компонента TUUCode, полезно добавить редактор свойства FileName (InputFile), что обеспечит дополнительный комфорт для конечного пользователя. Редактор этого свойства реализован в модуле UUReg, который регистрирует компонент TUUCode в палитре компонентов Дельфи.

unit UUReg;

 interface

 {$IFDEF WIN32}

{$R UUCODE.D32}

 {$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.2. HTML

Аббревиатура HTML означает HyperText Mark-up Language (язык разметки гипертекстовых документов), который является базовым для построения статических страниц. HTML страница является простым текстовым ASCII файлом с HTML-тегами между "<" и ">" (часто парами). Браузеры, такие как Netscape Navigator и Internet Explorer просто интерпретируют HTML коды на данных страницах для показа заголовков, жирного и наклонного текста, изображений и также фреймов и таблиц. Следующая таблица приводит несколько основных HTML тегов, которые будут рассмотрены далее в этой главе.

HTML tag text effect
<HTML>…</HTML> Ограничивает HTML страницу
<HEADER>…</HEADER> Секция заголовков
<TITLE>…</TITLE> Заголовок документа
<BODY>…</BODY> Секция содержимого страницы
<H1>…</H1> Заголовок (возможные уровни 1..6)
<B>…</B> Жирный текст
<I>…</I> Наклонный текст
<BR> Разрыв строки
<HR> Горизонтальная черта
Абзац
<A href="#">….</A> Ссылка на другую страницу или URL
Поделиться с друзьями: