- •1. Компоненты, используемые при разработке Web-приложений
- •2. Статическая публикация
- •3. Компоненты генерации html-страниц
- •3.1. Компонент PageProducer
- •3.2. Компонент DataSetPageProducer
- •3.3. Компонент DataSetTableProducer
- •Var Align: thtmlAlign; var vAlign: thtmlvAlign; var CustomAttrs,
- •3.4. Компонент QueryTableProducer
- •3.5. Пример генератора html-страниц
- •Var ReplaceText; String); procedure PageProducerlHtmlTag(Sender: tObject; Tag: tTag;
- •Var ReplaceText: String); procedure DataSetTableProducerlFormatCell(Sender: tObject; CellRow,
- •Var Align: thtmlAlign; var vAlign: thtmlvAlign; var CustomAttrs, f
- •Var Align: thtmlAlign; var vAlign: thtmlvAlign; var CustomAttrs,
- •4. Динамическая публикация
- •4.1. Создание модуля cgi
- •II:integer;
- •Var I: integer;
- •Var I: integer;
- •Var I: integer;
- •4.2. Создание isapi-модуля расширения сервера
- •4.3. Обработка ввода пользователя в модуле isapi
- •5. Публикация графики
- •Interface
- •Var Align: thtmlAlign; var vAlign: thtmlvAlign; var CustomAttrs,
- •6. Использование интерфейса ado
Var Align: thtmlAlign; var vAlign: thtmlvAlign; var CustomAttrs,
CellData: String);
Здесь параметры CellRow и ceiicoiumn содержат номера редактируемой строки и колонки таблицы, соответственно, при этом параметр CellRow имеет значение о при формировании заголовка таблицы, а нулевое значение CellColumn соответствует формированию первого столбца таблицы.
Параметры Bgcolor, Align и VAlign задают цвет фона ячейки и горизонтальное и вертикальное выравнивание. Поскольку они входят в процедуру с описателем var, то их значения могут быть изменены программно. Например:
if (CellRow = 0) then BgColor:='gray'
else if (CellRow > 5) BgColor:='silver';
Параметру Align допускается присваивать значения haLeft, haRight, haCenter, что обеспечивает выравнивание влево, вправо и по центру ячейки, соответственно.
Значения параметра VAlign выбираются из набора патор, haMiddie, haBottom, haBaseiine, что приводит к выравниванию по верху, посередине, по низу и по базовой линии в ячейке, соответственно.
Параметр CellData содержит выводимые в ячейке данные. Этот параметр можно программно задавать для каждой ячейки. Например:
if (CellColumn > 2) then
CellData := '<Font size=6>' + CellData + '</Font>';
Свойство columns компонента DataSetTabieProducer связано с Редактором колонок (стобцов). При двойном щелчке мыши в Инспекторе объектов на свойстве Columns или на значке компонента DataSetTabieProducer на рабочей форме всплывает Редактор, внешний вид которого показан на рис. 16.4. Отметим, что этот Редактор колонок не имеет ничего общего с Редактором, используемым для настройки столбцов компонента DBGrid.
Загрузить Редактор можно также путем выбора пункта Response Editor контекстного меню компонента DataSetTabieProducer.
Замечание
Информация из БД становится доступной в Редакторе столбцов.если в связанном с компонентом DataSetTabieProducer объекте Table СВОЙСТВУ Active установлено значение True.
В верхней части окна Редактора колонок находится панель с кнопками для управления порядком вывода полей БД в результирующую HTML-таблицу. Кроме того, можно изменять количество и порядок следования полей БД с помощью команд контекстного меню Редактора. Перечислим назначение некоторых кнопок панели инструментов:
Add All Fields — добавляет все поля таблицы, при этом появляется запрос на удаление уже присутствующих полей;
Delete Selected —- удаляет выбранные поля;
Add New — добавляет новые поля;
Move Selected Up и Move Selected Down — перемещают выбранное поле вверх или вниз;
Restore Defaults — устанавливает для выбранного поля таблицы значения свойств форматирования по умолчанию.
При успешном открытии таблицы БД ее поля отображаются в нижней части Редактора.
Редактор колонок позволяет определять группу выводимых столбцов и параметры таблицы с помощью средств визуального программирования. При этом создается HTML-код, в котором атрибутам табличных тегов присваиваются соответствующие значения параметров, установленные в Редакторе колонок.
Рис. 16.4. Вид Редактора столбцов компонента DataSetTableProducer
С помощью панели Table Properties можно задать следующие свойства, относящиеся ко всем полям таблицы:
Align — горизонтальное выравнивание текста в ячейке таблицы, допустимые значения: haDefault, haCenter, haLeft, haRight;
Border — толщина рамки (при значении Border, равном — 1, рамка не выводится);
Bgcolor — цвет фона ячеек таблицы, может принимать значения констант стандартных цветов, используемых в Delphi; по умолчанию цвет ячеек совпадает с цветом фона HTML-страницы;
CeiiPadding — отступ в пикселах между текстом ячейки и рамкой таблицы;
Cellspacing — отступ между ячейками таблицы в пикселах;
width — ширина таблицы в процентах от ширины HTML-страницы.
Редактирование отдельного столбца таблицы происходит с одновременным использованием Редактора колонок и Инспектора объектов. При выделении поля в правом верхнем окне Редактора в Инспекторе объектов становятся доступными свойства этого поля. Задание свойств Align и Bgcolor для колонки аналогично их заданию для всей таблицы. Кроме того, становятся доступными дополнительные свойства. Перечислим наиболее часто используемые:
FieldName — имя поля в таблице БД.
Title — настройка свойств заголовка колонки, имеет аналогичные всей таблице свойства Align и Bgcolor. Свойство caption задает название заголовка столбца, свойство custom добавляет дополнительные атрибуты к генерируемому элементу HTML, а свойство VAiign определяет вертикальное выравнивание заголовка и может принимать следующие значения: haDefault, haTop, haBottom, haMiddle, haBaseLine.
