О создании Гостевой книги
Оформил: DeeCo
Автор: Евгений Акованцев
Самый простой способ - использование класса TWebModule. Для этого из File|New выбираем
Web Server Application, дальше тип:
ISAPI/NSAPI, CGI или Win-CGI.
Смотрим свойства TWebModule1 в Object
Inspector и добавляем новое действие (action). Обработчик события OnAction выполняется при запросе вида http://www.yourhost.com/cgi-bin/web.exe/path где path определяется
свойством PathInfo. Установка Default в True
приведет к выполнению этого действия по умолчанию (если /path не задан или такое
действие не найдено). В обработчик события передаются объекты Request и Response.
- Request хранит информацию о запросе,
например, адрес удаленного хоста (Request.RemoteAddr), передаваемые параметры
(Request.QueryFields) и т.д.
- Response, соответственно, возвращаемую
информацию.
Для использования "шаблонов" можно взять TPageProducer. В его свойствах можно указать либо путь
к html файлу шаблона, либо ввести его самому в HTMLDoc. При встрече тэга
определенного вида <#DATA> будет
вызван обработчик события OnHTMLTag, где
можно подставить вместо этого тэга свой текст. Пример:
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
PageProducer1.HTMLFile := 'test.html';
// Использовать результат работы PageProducer1
Response.Content := PageProducer1.Content;
end;
procedure TWebModule1.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
if TagString = 'FIRSTNAME' then
// Если встретился тэг <#FIRSTNAME> заменить его на "Петров"
ReplaceText := 'Петров';
if TagString = 'LASTNAME' then
ReplaceText := 'Иван';
end;
В результате работы этого cgi пользователь увидит файл test.html, в котором вместо тэгов <#FIRSTNAME> и
<#LASTNAME> были подставлены значения "Иван" и "Петров"
|