На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> THTMLViewer и TFrameBrowser
    Я знаю, что первый не умеет "ходить" назад и вперёд. А второй у меня не грузит паги. Мне надо, чтобы всё это работало в одном флаконе. Возможно ли, без ручного контроля History?
      Цитата Rrader @
      А второй у меня не грузит паги.

      Что значит не грузит? :blink:
        Цитата

        Что значит не грузит? :blink:

        А то, что метод LoadURL всегда вызывает ошибку Can't load ....
        Я пробовал перейти на 'http://www.google.com', когда Инет был включен, ничего не грузится - ошибка. :(
          Ну так правильно... Этот компонент не является полноценным веб-браузером, он не умеет загружать файлы из интернета. Но для этого у него есть соответствующие события, а загружать файлы можно с помощью других библиотек, например Indy.
            А можно, пожалуйста, пример загрузки страницы в TFrameBrowser с винчестера посмотреть? Т. е. вывод HTML- кода. ;)
              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.
                А поле BaseDir зачем?

                P. S.
                Спасибо! Лови плюс! ;)
                  Цитата Rrader @
                  А поле BaseDir зачем?

                  Reserved. Для дальнейшего расширения программы. ;)
                    Цитата

                    Я знаю, что первый не умеет "ходить" назад и вперёд.

                    Я так думал, потому что видел методы GoFwd и GoBack. :) Но на самом деле ничего не работает. Браузер не ходит назад и вперёд! Почему?
                      Rrader, в хелпе по компоненту все написано. Читай "Setting up a History List".
                        Цитата

                        Читай "Setting up a History List".

                        Я его ранее читал, но не присмотрелся к одному предложению! А сейчас перечитал, всё понял. У меня св-во HistoryMaxCount было равным нулю!

                        Вопрос решён! 8-)
                        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0282 ]   [ 15 queries used ]   [ Generated: 18.07.25, 09:04 GMT ]