>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Разработка приложения на движке Gecko в Delphi http://forum.mozilla-russia.org/viewtopic.php?id=47125 |
MORPEH > 30-11-2010 10:29:42 |
Большое количество вопросов задается на разных форумах, и малое количество ответов на столь простой вопрос можно найти. Встроенный компонент TWebBrowser(в новых версиях компонент называется по другому, но работает по тому же принципу) работает с IE, поэтому большое количество программ для работы с интернетом используют этот браузер. Но давно существует несколько простых решение и для программистов Delphi: использовать компонент TGeckoBrowser и ActiveX от Mozilla. Что первое, что и последнее, давно уже не развивается, но работают исправно, за исключением первого: TGeckoBrowser уже не работает с Gecko 2.0, но если у вас есть руки, то исправить это можно. А вот с ActiveX все проще. Да и функций у него больше. Что бы не быть голословным, напишем простой браузер на Delphi. Ведь надо начинать с простого. В разработке будем использовать ActiveX Подготовка к разработке 1. Сначала нам нужно скачать и установить Mozilla Control(ActiveX). Скачать Первое приложение на Gecko 1. Создаем проект. Назовем его White Falcon. Кидаем на форму панель, кнопки, TEdit, TMozillaBrowser, StatusBar. 2. Для первой кнопки пишем следующую процедуру при нажатии на которую, будет переходить на указанный сайт написанный нами в TEdit: Где mzlbrwsr1 - MozillaBrowser, edt1 - TEdit 3. Для третей кнопки пишем следующую процедуру при нажатии на которую, браузер откроет предыдущую страницу: 4. Четвертая кнопка будет возвращать на более новую открытую страницу 5. Пятая кнопка будет останаливать процесс загрузки страницы: 6. Теперь сделаем что бы в заголовке окна у нас появилась информация из Title, и заодно менялась ссылка в нашем TEdit. OnNavigateComplete2 компонента MozillaBrowser пишем следующий код: Выделить код Код:if mzlbrwsr1.LocationName <> '' then Caption := mzlbrwsr1.LocationName + ' - White Falcon' else Caption := 'White Falcon'; edt1.Text := mzlbrwsr1.LocationURL; 7. Теперь добавим StatusBar для отображения загружаемых элементов страницы. OnStatusTextChange компонента MozillaBrowser пишем следующий код: 8. И что бы у нас при завершение программы, когда она завершает свою работу, не возникало ошибок, пишем в OnClodeQuery нашей формы следующий код: Теперь компилируем проект и запускаем. Все работает. Исходник и исполняемый файл можно скачать отсюда P.S. В следующий раз расскажу, что еще можно сделать с компонентом |
optical > 03-03-2012 21:08:39 |
все ссылки битые. смысл от этой темы. |
ПротопопулуS > 03-03-2012 22:38:57 |
Писать на делфях под сишные компоненты - изврат, имхо. |
Lain_13 > 04-03-2012 02:11:05 |
ПротопопулуS |
ПротопопулуS > 04-03-2012 03:52:23 |
Lain_13, не могу не согласиться. |
hydrolizer > 04-03-2012 09:35:18 |
Lain_13
В поздних версиях ({$IFDEF VER210}/{$IFDEF VER220}) при наличии дисциплины кодирования - вполне сносно. Там и дженерики появились, и anonymous routines, и внятная поддержка рефлекшена - они даже сподобились статик-методы сделать . Хотя любить этот язык от наличия всего вышеперечисленного я не стал. |
optical > 04-03-2012 11:16:08 |
Я даже спорить не стану. Сам ненавижу этот язык, но у меня просто не остается другого выхода. |
MORPEH > 05-03-2013 23:44:54 |
Ссылки не работают, так как домена нет и сайта тоже нет. Постараюсь чуть позже перезалить файлы, к тому же все есть в интернете. Здесь ничего нет сложного. Для себя уже выбрал другой компонент |