![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TWebBrowser, текст страници [D7]
partizan © (2007-08-15 15:38:00)Как получить из TWebBrowser-a исходный код загруженной страници?
partizan (2007-08-15 16:28:00) [1]Может еще кому-то надо будет, нагуглил процедурку:
procedure TForm1.SaveHTMLSourceToFile(const FileName: string;
WB: TWebBrowser);
var
PersistStream: IPersistStreamInit;
FileStream: TFileStream;
Stream: IStream;
SaveResult: HRESULT;
begin
PersistStream := WB.Document as IPersistStreamInit;
FileStream := TFileStream.Create(FileName, fmCreate);
try
Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;
SaveResult := PersistStream.Save(Stream, True);
if FAILED(SaveResult) then
MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);
finally
{ В ответ на уничтожение объекта TFileStream, передаём
soReference в конструктор TStreamAdapter. }
FileStream.Free;
end;
end;
И для строки переделал:
function TForm1.SaveHTMLSourceToString(WB: TWebBrowser):string;
var
PersistStream: IPersistStreamInit;
StringStream: TStringStream;
Stream: IStream;
SaveResult: HRESULT;
begin
PersistStream := WB.Document as IPersistStreamInit;
StringStream := TStringStream.Create('');
try
Stream := TStreamAdapter.Create(StringStream, soReference) as IStream;
SaveResult := PersistStream.Save(Stream, True);
if FAILED(SaveResult) then
MessageBox(Handle, 'Fail to get HTML source', 'Error', 0);
StringStream.Seek(0, soFromBeginning);
result:=StringStream.DataString;
finally
StringStream.Free;
end;
end;