На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Rouse_, jack128, Krid
  
    > Загрузка файлов в THTMLViewer и TFrameBrowser
      ExpandedWrap disabled
        unit Unit1;
         
        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.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0151 ]   [ 16 queries used ]   [ Generated: 29.03.24, 13:14 GMT ]