Difference between revisions of "Webbrowser/ru"

From Free Pascal wiki
Jump to navigationJump to search
(New page: =Запуск веб-браузера для просмотра страницы/адреса= ==Определение браузера, используемого по умолчани...)
 
Line 32: Line 32:
 
==Запуск браузера==
 
==Запуск браузера==
  
Если вы знаете, что такое командная строка и парамерты, вы можете использовать класс TProcessUTF8, чтобы запустиь браузер:
+
Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустиь браузер:
  
 
<Delphi>
 
<Delphi>

Revision as of 12:18, 11 May 2010

Запуск веб-браузера для просмотра страницы/адреса

Определение браузера, используемого по умолчанию

Для каждой платформы существует свой механизм, позволяющий определять программы, используемые по умолчанию. Модуль LCL lazhelphtml содержит класс THTMLBrowserHelpViewer, позволяющий запускать веб-браузер для просмотра справки LCL. Можно использовать его (класса THTMLBrowserHelpViewer) метод FindDefaultBrowser, чтобы определить браузер, используемый по умолчанию, и запустить его. Далее пример:

<Delphi> uses

 Classes, ..., LCLProc, LazHelpHTML;

...

implementation

procedure TMainForm.Button1Click(Sender: TObject); var

 v: THTMLBrowserHelpViewer;
 BrowserPath, BrowserParams: string;

begin

 v:=THTMLBrowserHelpViewer.Create(nil);
 v.FindDefaultBrowser(BrowserPath,BrowserParams);
 debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
 v.Free;

end; </Delphi>

В Убунту (Linux) вы можете получить, как пример:

Browser=/usr/bin/xdg-open Params=%s

В Windows:

Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s

Запуск браузера

Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустиь браузер:

<Delphi> uses

 Classes, ..., LCLProc, LazHelpHTML, UTF8Process;

...

implementation

procedure TMainForm.Button1Click(Sender: TObject); var

 v: THTMLBrowserHelpViewer;
 BrowserPath, BrowserParams: string;
 p: LongInt;
 URL: String;
 BrowserProcess: TProcessUTF8;

begin

 v:=THTMLBrowserHelpViewer.Create(nil);
 try
   v.FindDefaultBrowser(BrowserPath,BrowserParams);
   debugln(['Path=',BrowserPath,' Params=',BrowserParams]);
   URL:='http://www.lazarus.freepascal.org';
   p:=System.Pos('%s', BrowserParams);
   System.Delete(BrowserParams,p,2);
   System.Insert(URL,BrowserParams,p);
   // запуск браузера
   BrowserProcess:=TProcessUTF8.Create(nil);
   try
     BrowserProcess.CommandLine:=BrowserPath+' '+BrowserParams;
     BrowserProcess.Execute;
   finally
     BrowserProcess.Free;
   end;
 finally
   v.Free;
 end;

end; </Delphi>

Использование компонента turbopower internet pro

Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности:

  • Содержит компонеты, которые можно поместить на форму. Когда вы установите пакет в IDE, появятся несколько новых компонентов на палитре (панели компонентов), которые можно бросить на форму, также, как и другие компоненты LCL.
  • Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций.
  • Вы получите полный контроль над тем, какие файлы/адреса будут открываться.
  • Все-таки у него меньше возможностей, чем у полноценного веб-браузера. Не умеет проигрывать мультимедийные данные, использовать ява-скрипт или flash. Эти функции должны быть добавлены вами.

Можно найти несколько примеров в lazarus/components/turbopower_ipro/examples, демонстрирующих как открывать локальный html-файл с изображениями, гиперссылками и кнопками истории посещений.

QT Webkit

Если вы исползуете набор визуальных компонентов Qt, то вы сможете использовать Qt Webkit для того, чтобы вставить браузер в LCL-форму. Lazarus LCL/Qt WebKit доступен по адресу [1].

THtmlPort

THtmlPort - это версия HTML-компонентов, разработанных Дэйвом Болдуином, для Lazarus/Free Pascal, включает THtmlViewer, TFrameViewer и TFrameBrowser. THtmlPort вики

GeckoPort

GeckoPort - это адаптированная для Lazarus/Free Pascal версия Gecko SDK, разработанного Таканори Ито для Delphi, включая компонент TGeckoBrowser.

GeckoPort вики