- •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 ReplaceText; String); procedure PageProducerlHtmlTag(Sender: tObject; Tag: tTag;
const TagString: String; TagParams: TStrings;
Var ReplaceText: String); procedure DataSetTableProducerlFormatCell(Sender: tObject; CellRow,
CellColumn: Integer; var BgColor: THTMLBgColor;
Var Align: thtmlAlign; var vAlign: thtmlvAlign; var CustomAttrs, f
CellData: String); end; ;■•,:,..■ . :..'-. '.,..,'■,- ' •'■.'■■ ' "'■''■
var
HTMLForm: THTMLForm;
implementation {$R *.DFM}
uses
ShellAPI;
procedure THTMLForm.FormCreate(Sender: TObject);
begin
// Инициализация наборов данных
Tablel.Close;
Tablel.DatabaseName := 'DBDEMOS';
Tablel.TableName := 'Animals.dbf;
Tablel.Open;
Queryl.DatabaseName := 'Authors';
Queryl.Open;
end;
procedure THTMLForm.ShowHtmlClick(Sender: TObject);
begin
// Сохранение сгенерированного HTML-документа
Memol.Lines.SaveToFile ('htmltest.htm') ;
// Загрузка HTML-документа в браузер
ShellExecute (Handle, 'open', PChar('htmltest.htm'), '', '', sw_ShowNormal);
end;
// Генерация HTML-страницы компонента PageProducer
procedure THTMLForm.GenPageProducerClick(Sender: TObject);
begin
Memol.Clear;
Memol.Text := PageProducerl.Content;
end;
// Генерация HTML-страницы компонента DataSetPageProducer
procedure THTMLForm.GenDataSetPageProducerClick(Sender: TObject);
begin
Tablel.First,•
Memol.Clear;
Memol.Text := DataSetPageProducerl.Content;
end;
// Генерация HTML-страницы компонента TablePageProducer
procedure THTMLForm.GenTableProducerClick(Sender: TObject);
begin
Memol.Clear;
Memol.Text := DataSetTableProducerl.Content;
end; ■
// Генерация HTML-страницы компонента QueryTableProducer
procedure THTMLForm.GenQueryTableProducerClick(Sender: TObject);
begin
Memol.Clear;
Memol.Text := QueryTableProducerl.Content;
end;
// Обработка события OnHTMLTag компонента PageProducerl,
// используемая для замены тегов-транспарантов
procedure THTMLForm.PageProducerlHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String); begin
// Замена тегов <#dbname> и <#date> if TagString = 'dbname'
then ReplaceText :=Tablel.TableName
else if TagString = 'date' then ReplaceText := DateToStr(Date); end;
// Обработка события OnHTMLTag компонента DataSetPageProducerl,
// используемая для замены тегов-транспарантов
procedure THTMLForm.DataSetPageProducerlHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
// Замена тегов <#dbname> и <#date>
if TagString = 'dbnaine'
then ReplaceText :=Tablel.TableName
else if TagString = 'date' then ReplaceText := DateToStr(Date); // Замена тегов <#name>, <#size>,<#weight>, <#area> на значения // соответствующих полей текущей записи БД производится автоматически end;
// Обработка события OnFormatCell компонента DataSetTableProducerl procedure THTMLForm.DataSetTableProducerlFormatCell(Sender: TObject;
CellRow, CellColumn: Integer; var BgColor: THTMLBgColor;
