Difference between revisions of "Webbrowser/ru"
m (Text replace - "Delphi>" to "syntaxhighlight>") |
m (Fixed syntax highlighting; deleted category included in page template) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Webbrowser}} | ||
+ | |||
=Запуск веб-браузера для просмотра страницы/адреса= | =Запуск веб-браузера для просмотра страницы/адреса= | ||
+ | |||
+ | ==OpenURL== | ||
+ | |||
+ | OpenURL — это простейший способ открыть URL. Эта процедура определит, какой программой адрес должен быть открыт по умолчанию, и откроет в ней указанный URL. Она может использоваться для адресов вида <nowiki>'mailto:aname@AnAddress?subject=:::A subject line'</nowiki>, веб-адресов вида <nowiki>'http://'</nowiki> и адресов файлов в виде <nowiki>'file:///'</nowiki>. | ||
+ | |||
+ | <syntaxhighlight lang=pascal> | ||
+ | uses LCLIntf; | ||
+ | ... | ||
+ | OpenURL('http://www.lazarus.freepascal.org'); | ||
+ | </syntaxhighlight> | ||
==Определение браузера, используемого по умолчанию== | ==Определение браузера, используемого по умолчанию== | ||
Line 5: | Line 17: | ||
Для каждой платформы существует свой механизм, позволяющий определять программы, используемые по умолчанию. Модуль LCL ''lazhelphtml'' содержит класс THTMLBrowserHelpViewer, позволяющий запускать веб-браузер для просмотра справки LCL. Можно использовать его (класса THTMLBrowserHelpViewer) метод FindDefaultBrowser, чтобы определить браузер, используемый по умолчанию, и запустить его. Далее пример: | Для каждой платформы существует свой механизм, позволяющий определять программы, используемые по умолчанию. Модуль LCL ''lazhelphtml'' содержит класс THTMLBrowserHelpViewer, позволяющий запускать веб-браузер для просмотра справки LCL. Можно использовать его (класса THTMLBrowserHelpViewer) метод FindDefaultBrowser, чтобы определить браузер, используемый по умолчанию, и запустить его. Далее пример: | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
uses | uses | ||
Classes, ..., LCLProc, LazHelpHTML; | Classes, ..., LCLProc, LazHelpHTML; | ||
Line 32: | Line 44: | ||
==Запуск браузера== | ==Запуск браузера== | ||
− | Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы | + | Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустить браузер: |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
uses | uses | ||
Classes, ..., LCLProc, LazHelpHTML, UTF8Process; | Classes, ..., LCLProc, LazHelpHTML, UTF8Process; | ||
Line 77: | Line 89: | ||
Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности: | Lazarus предоставляет пакет TurboPowerIPro (lazarus/components/turbopower_ipro/turbopoweripro.lpk), который имеет следующие возможности: | ||
− | * Содержит | + | * Содержит компоненты, которые можно поместить на форму. Когда вы установите пакет в IDE, появятся несколько новых компонентов на палитре (панели компонентов), которые можно бросить на форму, также, как и другие компоненты LCL. |
* Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций. | * Он полностью написан на паскале, и будет работать на всех платформах "из коробки" без каких-либо дополнительных манипуляций. | ||
* Вы получите полный контроль над тем, какие файлы/адреса будут открываться. | * Вы получите полный контроль над тем, какие файлы/адреса будут открываться. | ||
Line 86: | Line 98: | ||
=QT Webkit= | =QT Webkit= | ||
− | Если вы | + | Если вы используете набор визуальных компонентов Qt, то вы сможете использовать Qt Webkit для того, чтобы вставить браузер в LCL-форму. |
Lazarus LCL/Qt WebKit доступен по адресу [http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html]. | Lazarus LCL/Qt WebKit доступен по адресу [http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html]. | ||
Line 99: | Line 111: | ||
[http://wiki.lazarus.freepascal.org/GeckoPort GeckoPort вики] | [http://wiki.lazarus.freepascal.org/GeckoPort GeckoPort вики] | ||
+ | |||
+ | ==[[LazActiveX]]== | ||
+ | Импортированная библиотека объектов Internet Explorer. | ||
+ | |||
+ | ==LazWebKit== | ||
+ | Webkit для GTK2 | ||
+ | [http://sourceforge.net/p/lazwebkit/wiki/Home/ lazwebkit] | ||
+ | |||
+ | =See also= | ||
+ | |||
+ | * [[Executing External Programs]] |
Latest revision as of 10:47, 4 March 2020
│
Deutsch (de) │
English (en) │
español (es) │
русский (ru) │
Запуск веб-браузера для просмотра страницы/адреса
OpenURL
OpenURL — это простейший способ открыть URL. Эта процедура определит, какой программой адрес должен быть открыт по умолчанию, и откроет в ней указанный URL. Она может использоваться для адресов вида 'mailto:aname@AnAddress?subject=:::A subject line', веб-адресов вида 'http://' и адресов файлов в виде 'file:///'.
uses LCLIntf;
...
OpenURL('http://www.lazarus.freepascal.org');
Определение браузера, используемого по умолчанию
Для каждой платформы существует свой механизм, позволяющий определять программы, используемые по умолчанию. Модуль LCL lazhelphtml содержит класс THTMLBrowserHelpViewer, позволяющий запускать веб-браузер для просмотра справки LCL. Можно использовать его (класса THTMLBrowserHelpViewer) метод FindDefaultBrowser, чтобы определить браузер, используемый по умолчанию, и запустить его. Далее пример:
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;
В Убунту (Linux) вы можете получить, как пример:
Browser=/usr/bin/xdg-open Params=%s
В Windows:
Browser=C:\windows\system32\rundll32.exe Params=url.dll,FileProtocolHandler %s
Запуск браузера
Если вы знаете, что такое командная строка и параметры, вы можете использовать класс TProcessUTF8, чтобы запустить браузер:
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;
Использование компонента 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.
LazActiveX
Импортированная библиотека объектов Internet Explorer.
LazWebKit
Webkit для GTK2 lazwebkit