Интернет решения от доктора Боба - страница 7

стр.

>


>   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 страницу
Секция заголовков
Заголовок документа
Секция содержимого страницы

Заголовок (возможные уровни 1..6)
Жирный текст
Наклонный текст

Разрыв строки

Горизонтальная черта

Абзац
….Ссылка на другую страницу или URL

HTML страница всегда начинается тегом и заканчивается тегом .

Содержимое страницы размещается между тегами и . Множественные разрывы строк и пробелы/табуляции игнорируются и заменяются на один пробел, это причина, по которой требуется специальный тег разрыва строки
и

. Простая HTML страница с одним заголовком и ссылкой выглядит так.

>

>

>

Hello, world!

>

>

>

>Dr.Bob's Delphi Clinic

>

>

>

Примечание: тег

, который мы можем использовать для помещения адресной информации и ссылки на домашнюю страницу или e-mail адрес. Эта информация будет отображена наклонным шрифтом. Тег часть основы HTML; данная форма используется для указания гипер-ссылки, в данном случае на другую страницу (мою домашнюю страницу) по адресу http://www.drbob42.com. Для данной простой HTML страницы, браузер (такой как Netscape Navigator) покажет одну страницу с заголовком и с ссылкой.