 |  |
 |  | |  | |
Евгений Акованцев дата публикации 27-04-2000 00:00 К вопросу о создании 'гостевой книги'
Самый простой способ - использование класса 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> были
подставлены значения "Иван" и "Петров"
[TObject] [TStrings] [TWebRequest] [TWebResponse] [TWebModule] [TPageProducer] [ISAPI]
Обсуждение материала [ 29-01-2003 19:00 ] 4 сообщения |
|
|  |  |  | |
 |  |
Время на сайте: GMT минус 5 часов
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.
©
При использовании любых материалов «Королевства Delphi»
необходимо указывать источник информации.
Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются
собственностью их производителей.