Загрузка файлов в THTMLViewer и TFrameBrowser
Falk0ner, вс, 06/07/2008 - 15:34.
Загрузка файлов в THTMLViewer и TFrameBrowser
unit Unit1;
{©Drkb v.3(2007): www.drkb.ru}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Readhtml, FramView, FramBrwz, HtmlView;
type
TForm1 = class(TForm)
FrameBrowser1: TFrameBrowser;
procedure FormCreate(Sender: TObject);
procedure FrameBrowser1GetPostRequest(Sender: TObject; IsGet: Boolean;
const URL, Query: String; Reload: Boolean; var NewURL: String;
var DocType: ThtmlFileType; var Stream: TMemoryStream);
procedure FrameBrowser1ImageRequest(Sender: TObject; const SRC: String;
var Stream: TMemoryStream);
public
BaseDir: string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
BaseDir := 'F:\Download\';
FrameBrowser1.LoadURL('file://F:\Download\index.htm');
end;
procedure TForm1.FrameBrowser1GetPostRequest(Sender: TObject;
IsGet: Boolean; const URL, Query: String; Reload: Boolean;
var NewURL: String; var DocType: ThtmlFileType;
var Stream: TMemoryStream);
var
S, sType: string;
F: TFileStream;
P: Integer;
begin
S := StringReplace(URL, '|', ':', [rfReplaceAll]);
P := Pos(':', S) + 2;
sType := Copy(S, 1, P);
Stream := TMemoryStream.Create;
if AnsiLowerCase(sType) = 'file://' then
begin
S := StringReplace(Copy(S, P + 1, MaxInt), '/', '\', [rfReplaceAll]);
F := TFileStream.Create(S, fmOpenRead);
try
Stream.CopyFrom(F, F.Size);
finally
F.Free;
end;
end;
end;
procedure TForm1.FrameBrowser1ImageRequest(Sender: TObject;
const SRC: String; var Stream: TMemoryStream);
begin
{}
end;
end.
{©Drkb v.3(2007): www.drkb.ru}
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Readhtml, FramView, FramBrwz, HtmlView;
type
TForm1 = class(TForm)
FrameBrowser1: TFrameBrowser;
procedure FormCreate(Sender: TObject);
procedure FrameBrowser1GetPostRequest(Sender: TObject; IsGet: Boolean;
const URL, Query: String; Reload: Boolean; var NewURL: String;
var DocType: ThtmlFileType; var Stream: TMemoryStream);
procedure FrameBrowser1ImageRequest(Sender: TObject; const SRC: String;
var Stream: TMemoryStream);
public
BaseDir: string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
BaseDir := 'F:\Download\';
FrameBrowser1.LoadURL('file://F:\Download\index.htm');
end;
procedure TForm1.FrameBrowser1GetPostRequest(Sender: TObject;
IsGet: Boolean; const URL, Query: String; Reload: Boolean;
var NewURL: String; var DocType: ThtmlFileType;
var Stream: TMemoryStream);
var
S, sType: string;
F: TFileStream;
P: Integer;
begin
S := StringReplace(URL, '|', ':', [rfReplaceAll]);
P := Pos(':', S) + 2;
sType := Copy(S, 1, P);
Stream := TMemoryStream.Create;
if AnsiLowerCase(sType) = 'file://' then
begin
S := StringReplace(Copy(S, P + 1, MaxInt), '/', '\', [rfReplaceAll]);
F := TFileStream.Create(S, fmOpenRead);
try
Stream.CopyFrom(F, F.Size);
finally
F.Free;
end;
end;
end;
procedure TForm1.FrameBrowser1ImageRequest(Sender: TObject;
const SRC: String; var Stream: TMemoryStream);
begin
{}
end;
end.
Взято из http://forum.sources.ru
Автор: Smike
Отправить комментарий