![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
HTML
student22 © (2011-01-13 16:02:00)Подскажите как делать правильнее:
формировать ответ клиенту в виде HTML-страницы приямо внутри приложения делфи, к примеру:
AResponseInfo.ContentText:='<html>'+
'<h1 align="center"> Время сервера EditTime.Text +
'</h1><br>'+ '</html>';
или же надо отдельно создавать HTML-файл, тянуть в него данные из приложения и только потом отправлять клиенту?
student22 (2011-01-13 23:19:00) [21]да ничего я ни партизаню, дело было так:
Я нашел пример веб-сервера на indy (idhttpserver). И пытаюсь понять как формировать html-страницы для клиента в зависимости от того что клиент просит. Например хочу станицу ту или ту, а я пока научился только формировать ответ серверу вот так:
AResponseInfo.ContentText:='<html>'+ '<h1 align="center"> Время сервера '+ EditTime.Text + '</h1>
А мне надо вот например как в WebBroker, по параметрам в адресной строке сервер видит, что именно хочет клиент и отдает нужную информацию. Т.е. например клиент запросил значение переменной такой-то и сервер ему его показал, т.е. как динамически формировать страницы.
Вот последние часа 4 я и пытаюсь начится это делать, правда плохо получается.
sniknik (2011-01-13 23:04:00) [22]ну, как хочешь. партизань дальше.
student22 (2011-01-13 23:01:00) [23]procedure TfrmMain.PageProducer1HTMLTag(Sender: TObject; Tag: TTag;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
case Tag of
tgCustom: if TagString = 'Name' then ReplaceText := 'Partner';
end;
sniknik (2011-01-13 22:43:00) [24]серьезней некуда, нет кода = не о чем говорить.
student22 (2011-01-13 21:53:00) [25]а если серьезно
sniknik (2011-01-13 21:51:00) [26]> с IdHTTPServer, в этом может быть причина?
именно в этом! + фон рабочего стола розового цвета, это всегда дает нерабочую комбинацию... а код использования ну совершенно не причем.
продолжай в том же духе, вали сессию.
student22 (2011-01-13 21:37:00) [27]событие у TPageProducer onHTMLTag вообще не срабатывает!!! везде приведены примеры где TPageProducer используется нв веб-форме, у меня же веб-сервер с IdHTTPServer, в этом может быть причина?
Медвежонок Пятачок (2011-01-13 20:24:00) [28]заниматься пейджпродусером и тратить на него время было оправдано в 19 столетии. но сегодня уже 21 век.
sniknik (2011-01-13 19:44:00) [29]> Не могу разобраться почему
а отладчика у тебя совсем совсем нету? бедненький.
student22 (2011-01-13 19:01:00) [30]ну там же про TPageProducer упомянто в двух местах и все
Anatoly Podgoretsky (2011-01-13 18:47:00) [31]http://podgoretsky.com/Redir.aspx?id=140&DownloadFile=~/ftp/Docs/Delphi/Podgoretsky/drbobinetrus.doc
student22 (2011-01-13 18:45:00) [32]подскажите в чем дело, добавил на форму TPageProducer, указал путь к html-файлу, в обработчике прописал:
procedure TfrmMain.PageProducer2HTMLTag(Sender: TObject; Tag: TTag;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
case tag of
tgCustom: if TagString = 'Time1' then ReplaceText := EditTime.Text;
end;
end;
html-файл:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Server Time </title>
</head>
<body>
<H3> Время сервера: <#Time1> </H3>
</body>
</html>
В браузере отображается строчка:
Время сервера: <#Time1>
Не могу разобраться почему
Ega23 (2011-01-13 18:20:00) [33]
> Хотя, в общем-то и ajax через get работает, насколько я
> помню.
И get и post
Дмитрий Белькевич (2011-01-13 18:13:00) [34]Хотя, в общем-то и ajax через get работает, насколько я помню. Ну - только параметры запроса/ответа хитрые.
Дмитрий Белькевич (2011-01-13 18:12:00) [35]
> Лучше формировать JSON
JSON - для активных страниц, парсить json ответы на стороне клиента некому, боюсь, да и запрашивать.
Для простых реализаций - get достаточно, незачем в ajax лезть. Хотя активное прикольно смотрится.
sniknik (2011-01-13 17:26:00) [36]json это для активной странички с ajax, а так кто его примет и обработает без него? ну если к примеру get запрос на старте от браузера страницы index.html?
Ega23 (2011-01-13 17:16:00) [37]Лучше формировать JSON
Дмитрий Белькевич (2011-01-13 17:07:00) [38]
> или же надо отдельно создавать HTML-файл, тянуть в него
> данные из приложения и только потом отправлять клиенту?
Как угодно. Как сделаешь - так и будет работать. Но с TPageProducer, думаю, удобнее. Мы у себя TDataSetPageProducer пользуем, хотя он кроме прицепленного датасета и обвязки ничем не отличается от TPageProducer.
12 (2011-01-13 16:36:00) [39]проще использовать TPageProducer
+1
самостоятельно додумался так(как то давно делал)
в бд в txt-поле HTML-файлы с метками
аля
<html><h1 align="center"> Время сервера @MyTagTime@ </h1><br></html>
а потом
Response := StringReplace(q.FieldBynaem().asstring,'@MyTagTime@', Value)
student22 (2011-01-13 16:30:00) [40]спасибо
> sniknik ©