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


Автор: MastaK 27.10.2006, 21:09
Как в Делфи можно скачать контент страницы целиком(ХТМЛ, рисунки, ява, css)? Какой объект заюзать smile 

Автор: Snowy 27.10.2006, 22:58
Целиком - никак.
Это всё отдельные объекты и запрашиваются поотдельности.

Автор: Desperate 5.11.2006, 16:07
Вот код... сохраняет с картинками и т.п. по крайней мере сохраняет так же как еслиб ты страницу сохранил через IE
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw, ActiveX, MSHTML;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure SaveHTMLSourceToFile(const FileName: string;
  WB: TWebBrowser);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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
    FileStream.Free;  
  end;

  try
    WebBrowser1.ExecWB(4, 0);
  except
    on E: Exception do  ShowMessage('bred');
  end;
end;  

procedure TForm1.Button1Click(Sender: TObject);
begin  
  if SaveDialog1.Execute then
    SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1); {сохранение загруженной странички.} 
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);{по нажатию кнопки открывается в окне WebBrowser1 страничка с адрессом указанным в Edit1.Text}
end;

end.


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