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

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

HTML-содержимое Web-страницы [D6]


Sergey_Plotkin ©   (2003-10-22 21:45:00) 

На форме есть компонента TMemo (или просто переменная TStrings). как в нее загрузить HTML-код нужной мне страницы? Страницы, лежащей не на жестком диске (тогда все просто), а в глобальной паутине... Напр. содержимое страницы http://delphi.mastak.ru/index.html
Т.е. другими словами сгрузить эту страничку, а затем прочитать...

След. вариант, к сожалению, не работает:
begin
Memo1.Lines.LoadFromFile(" http://www.softboard.ru/111.html");
end;


Мне почему-то кажется, что это можно сделать через компоненту TWebBrowser (вот только как?)... Уже обработанное содержимое страницы при помощи команды Navigate туда загружается, а вот как посмотреть ее внутренности, HTML-код?

Никогда не работал в Delphi с паутиной, поэтому текущая (очень важная) задача поставила меня, просто, в тупик. Помогите, пожалуйста.


Andersen   (2003-10-24 15:30:00) [1]

>Страницы, лежащей не на жестком диске (тогда все просто),

Может глупый вопрос, но если можно отобразить ХТМЛ страницу
в мемо, в её оригинальном состоянии, то покажите как енто можа сделать (пусть даже на винте).
Или вы рассматриваете Memo, как обычный TStringList
в котором ХТМЛ страница типа: <HTML>....</HTML>?


Elic   (2003-10-24 15:18:00) [2]

Memo1.text:=idHTTP1.Get(" http://www.softboard.ru/111.html")


Ihor Osov'yak   (2003-10-23 02:38:00) [3]

Если нужно иметь код, который получается после всех преобразований - то предпочтительнее TWebBrowser, если нужно as is (то есть то, что приходит с сервера) - то нужно использовать что-то более низкоуровневее..

Далее примеры:

function SaveToString(const WebBrowser: IWebBrowser2): string;
var
S: TStringStream;
begin
S := TStringStream.Create("");
try
(WebBrowser.Document as IPersistStreamInit).Save(TStreamAdapter.Create(S), True);
Result := S.DataString;
finally
S.Free;
end;
end;


Как параметр передаем WebBrowser1.DefaultInterface (естественно, после завершения навигации)

Второй подход - см. в направлении
InternetOpen, InternetOpen, InternetOpenUrl, InternetReadFile...

Если это покажется сложноватым - есть готовые компоненты, а том же Indy, или тот же TNMHTTP от фастнет..


Наверх

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