Difference between revisions of "Webbrowser/ru"
(New page: =Запуск веб-браузера для просмотра страницы/адреса= ==Определение браузера, используемого по умолчани...) |
|||
Line 32: | Line 32: | ||
==Запуск браузера== | ==Запуск браузера== | ||
− | Если вы знаете, что такое командная строка и | + | Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустиь браузер: |
<Delphi> | <Delphi> |
Revision as of 13: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.