Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Aktuelle Seite vom TWebbrowser sichern... (https://www.delphipraxis.net/17733-aktuelle-seite-vom-twebbrowser-sichern.html)

Ricane 9. Mär 2004 08:02


Aktuelle Seite vom TWebbrowser sichern...
 
Moin moin,

also ich suche schon seit längerer Zeit nach der Lösung des oben genannten Problems. Ich zeige mir also eine Seite in der TWebBrowser Komponente an und möchte diese dann sichern... aber ich finde keine Möglichkeit.

Habe auch schon mal im SwissDelphiCenter geguckt, aber auch da nix gefunden!

Ich dachte immer man kommt über ...

Delphi-Quellcode:
  WebBrowser1.Document.SaveToFile .....
in irgendeiner Form weiter! Leider gibt es den Befehl SaveToFile nicht.

Jemand ne´ Idee?!


Beste Grüsse,

Ricane

sakura 9. Mär 2004 08:42

Re: Aktuelle Seite vom TWebbrowser sichern...
 
Die Funktion sollte helfen (ungetestet)

Delphi-Quellcode:
procedure TForm1.SaveHTMLSourceToFile(const FileName: string;
  WB: TWebBrowser);
var
  PersistStream: IPersistStreamInit;
  FileStream: TFileStream;
  Stream: IStream;
  SaveResult: HRESULT;
begin
  PersistStream := WB.Document as IPersistStreamInit;
  if FileExists(FileName) then
    DeleteFile(FileName);
  FileStream := TFileStream.Create(FileName, fmCreate);
  try
    Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;
    SaveResult := PersistStream.Save(Stream, True);
    if Failed(SaveResult) then
      MessageBox(Handle, 'Failed to save HTML source', 'Error', 0);
  finally
    FileStream.Free;
  end;
end;

pocedure TForm1.Button1Click(Sender: TObject);
begin
  if SaveDialog1.Execute then
    SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1);
end;
...:cat:...

Ricane 9. Mär 2004 09:48

Re: Aktuelle Seite vom TWebbrowser sichern...
 
Oder:

Delphi-Quellcode:
Var

  HTMLDocument: IHTMLDocument2;
  PersistFile: IPersistFile;

Begin

  HTMLDocument := wbParsen.Document As IHTMLDocument2;
  PersistFile := HTMLDocument As IPersistFile;
  PersistFile.Save(StringToOleStr('c:\SavedFile.html'), System.True);

End;
Delphi-Quellcode:
Uses:
ActiveX, MSHTML, OleCtrls, StdCtrls

Getestet und für gut befunden :mrgreen:



Ricane


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz