Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HTML


Страницы:   1 2 3

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 ©


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо