Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

Как получить исходник страницы?   Найти похожие ветки 

 
mrGrey ©   (2004-07-18 12:57) [0]

Люди добрые, хелп плиз!!!!
Как получить в TStrings исходник HTML-страницы (текст)?
Заранее спасибо.


 
Скив   (2004-07-18 14:28) [1]

смотря что используешь?
если стандартный webbrowser, то вот:


uses
ActiveX;

function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
var
ps: IPersistStreamInit;
fs: TFileStream;
sa: IStream;
begin
ps := WebBrowser.Document as IPersistStreamInit;
fs := TFileStream.Create(FileName, fmCreate);
try
sa := TStreamAdapter.Create(fs, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
finally
fs.Free;
end;
end;

function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var
ps: IPersistStreamInit;
ss: TStringStream;
sa: IStream;
s: string;
begin
ps := WebBrowser.Document as IPersistStreamInit;
s := "";
ss := TStringStream.Create(s);
try
sa := TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;


 
Скив   (2004-07-18 14:29) [2]

Если embeddedwb, то просто embeddedwb1.savetostrings


 
VID ©   (2004-07-18 14:36) [3]

//сохранить исходник страницы в файл
function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
var
 ps: IPersistStreamInit;
 fs: TFileStream;
 sa: IStream;
begin
 Result := False;
 IF WebBrowser.Document = nil then exit;
 ps := WebBrowser.Document as IPersistStreamInit;
 fs := TFileStream.Create(FileName, fmCreate);
 try
   sa := TStreamAdapter.Create(fs, soReference) as IStream;
   Result := Succeeded(ps.Save(sa, True));
 finally
   fs.Free;
 end;
end;

//загрузить исходник страницы  в Strings
function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var
 ps: IPersistStreamInit;
 ss: TStringStream;
 sa: IStream;
 s: string;
begin
 ps := WebBrowser.Document as IPersistStreamInit;
 s := "";
 ss := TStringStream.Create(s);
 try
   sa := TStreamAdapter.Create(ss, soReference) as IStream;
   Result := Succeeded(ps.Save(sa, True));
   if Result then ACode.Add(ss.Datastring);
 finally
   ss.Free;
 end;
end;


 
VID ©   (2004-07-18 14:36) [4]

Скив   (18.07.04 14:28) [1]
Весело получилось :)


 
Скив   (2004-07-18 14:39) [5]

я быстрее нашёл ;)
действительно много проблем имел ;)
и вообще если вы ещё используете webbrowser.
Ставьте Embeddedwb.
http://www.euromind.com/iedelphi/embeddedwb.htm
и снимите разом ОЧЕНЬ много проблем


 
mrGrey ©   (2004-07-18 14:54) [6]

Аграмадное спасибо всем. Попробую все.


 
Лев Ландау   (2004-07-28 08:23) [7]

Грубо говоря исходник мы изменили (тот, который был сохранен в строковой переменной), как его загрузить (сгенерировать) в  WebBrowser-ре....?!
----
з.ы. Всем ответившим спасибо!


 
Piter ©   (2004-07-28 12:52) [8]

Скив   (18.07.04 14:29) [2]
VID ©   (18.07.04 14:36) [3]

а как вы догадываетесь, что хотел спросить автор? Например, как вот вы сейчас догадались, что речь вообще шла о WebBrowser?



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.04 c
1-1095258065
atmospheric
2004-09-15 18:21
2004.10.03
Печать из RichEdit (параметры страницы)?


6-1090467422
v2
2004-07-22 07:37
2004.10.03
Indy TCP CLient не соединяется с прокси-сервером


14-1094909766
Piter
2004-09-11 17:36
2004.10.03
Новый тарифный план от Точка.ру - СТРИМ-НЕО


14-1095349300
DimOn2
2004-09-16 19:41
2004.10.03
Вкладка


1-1095250634
bloodman
2004-09-15 16:17
2004.10.03
Как пройтись по всем компонентам на форме в рантайм.