Главная страница
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.045 c
1-1095379519
Knapp
2004-09-17 04:05
2004.10.03
как сделать так, чтобы при нажати на клавишу Tab ...


4-1093784724
Vasya.ru
2004-08-29 17:05
2004.10.03
программно запретить отчет об ошибках


1-1095652380
Артем К.
2004-09-20 07:53
2004.10.03
Здравствуйте. Как сделать анимированный курсор в программе?


1-1095326364
_PG_
2004-09-16 13:19
2004.10.03
Можно ли изменить ФОНТ заголовка окна?


1-1095154474
webpauk
2004-09-14 13:34
2004.10.03
Parent