Помогите Сохранить Html-файл!

  • Автор темы bagish
  • Дата начала
B

bagish

#1
Уважаемые Дельфины! Тема довольно-таки избитая, но мне никак не удается сохранить(с помощью Delphi) выборку с интересующего меня сайта. www.scoreexchange.com
К примеру, загружаю в WebBrowser такой адрес: Search results = Orchestra
В браузере "все путем" - 32-я страница,
Посмотреть вложение scoreexchange.bmp
а после сохранения получаю другую.
Посмотреть вложение scoreexchange2.bmp
Пробовал разные коды, но все безуспешно.
Помогите чайнику кто чем сможет!
 

Вложения

acorn

PHP Developer
29.08.2004
585
3
#3
скрины bmp - это издевательство. перехотелось даже открывать.
 
B

bagish

#4
Испробовал несколько вариантов.
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;
2.
Код:
procedure WB_SaveAs_MHT(WB: TWebBrowser; FileName: TFileName);
var
Msg: IMessage;
Conf: IConfiguration;
Stream: _Stream;
URL : widestring;
begin
if not Assigned(WB.Document) then Exit;

URL := WB.LocationURL;

Msg := CoMessage.Create;
Conf := CoConfiguration.Create;
try
Msg.Configuration := Conf;
Msg.CreateMHTMLBody(URL, cdoSuppressAll, '', '');
Stream := Msg.GetStream;
Stream.SaveToFile(FileName, adSaveCreateOverWrite);
finally
Msg := nil;
Conf := nil;
Stream := nil;
end;
end; (* WB_SaveAs_MHT *)