Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Сохранение веб страницы


Автор: svarogik 13.12.2008, 23:49
С помощью класса Twebbrowser сделал браузер, как сделать сохранение загруженной вебстраницы на жестком диске, и как потом организовать ее обратную загрузку с жесткого диска в браузер?

Автор: Rrader 14.12.2008, 07:51
Код

uses OleCtrls, SHDocVw, ActiveX;

...

{ Открытие страницы с жесткого диска }
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    WebBrowser1.Navigate('file://' + OpenDialog1.FileName);
end;

...

{ Сохранение через диалог Save As }
procedure InvokeCommand(Document: IDispatch; CmdID, Options: Integer;
  var vaIn, vaOut: OleVariant);
var
  CmdTarget: IOleCommandTarget;
begin
  { Документ не пустой }
  if Document <> NIL then
  begin
    Document.QueryInterface(IOleCommandTarget, CmdTarget);
    if CmdTarget <> NIL then
    try
      CmdTarget.Exec(NIL, CmdID, Options, vaIn, vaOut);
    finally
      CmdTarget := NIL;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  vaIn, vaOut: OleVariant;
  Flags: DWORD;
begin
  with WebBrowser1 do
  begin
    Flags := QueryStatusWB(OLECMDID_SAVEAS);
    if (Flags and OLECMDF_SUPPORTED <> 0) and (Flags and OLECMDF_ENABLED <> 0) then
      InvokeCommand(Document, OLECMDID_SAVEAS,
        OLECMDEXECOPT_DODEFAULT, vaIn, vaOut);
  end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)