Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Старый 08.03.2014, 22:02   #1
 Разведчик
Аватар для Zeinux
 
Zeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе цену
Регистрация: 15.02.2014
Сообщений: 14
Популярность: 4534
Сказал(а) спасибо: 9
Поблагодарили 14 раз(а) в 11 сообщениях
 
По умолчанию Браузер на делфи.

Всем привет! Сегодня, я хочу вам рассказать как написать свой браузер на делфи. Сделать это достаточно не трудно - было бы желание.. Начнем:

Браузер мы будем создавать конечно же на базе компонента - WebBrowser (Internet).
Кидаем на форму: Один компонент WebBrowser со вкладки Internet , 13-шт компонентов SpeedButton, 1- компонент ComboBox, 1 - компонент Panel, 1 - компонент ProgressBar, 1 - компонент StatusBar, 1 - компонент OpenDialog и 1 - компонент SaveDialog. Разместим их на форме примерно следующим образом:


[Ссылки могут видеть только зарегистрированные пользователи. ]

в uses подключим MSHTML и ActiveX

Далее создаем событие OnCreate на форме и записываем в нем следующий код:

Код:
begin

WebBrowser1.Navigate('http://www.google.com');

end;
Кстати, вместе google.com можно вводить любой адрес страницы. (Любая страница, которую вы бы хотели видеть при старте).

Давайте теперь пропишем кнопку "вперед". Kнопку, которую будем нажимать после ввода адреса в ComboBox. Для этого:

Создадим событие OnClick на SpeedButton6 например, и в коде напишем:

Код:
var

a:string; 

begin

WebBrowser1.Navigate(ComboBox1.Text);  // Передаем в поиск, введенный адрес из ComboBox1;

a:=ComboBox1.text;  // Записываем параллельно этот адрес в переменную;

ComboBox1.Items.Add(a);  // Загружаем введенное в список  ComboBox1;

end;
Заморочка с помещением введенного адреса в выпадающий список, будет позволять нам при нажатии на СomboBox, просматривать историю вводимых вручную адресов, в строку браузера.

Что нужно делать далее? - Далее для нашего с вами удобства сделаем так, чтобы наш механизм работал не только от
SpeedButton6 но и от нажатия нами на клавишу Enter, для этого:

Создаем событие OnKeyPress, y компонента ComboBox1 запишем следующее:

Код:
var

a:string;

begin

if Key=#13 then

begin

WebBrowser1.Navigate(ComboBox1.Text);

a:=ComboBox1.text;

ComboBox1.Items.Add(a);

end;

end;
Теперь серфить в интернете можно и по нажатии клавиши Enter.


Давайте теперь займемся клавишами - шаг назад и шаг вперед. Для клавиши - Шаг назад, пишем в событии OnClick у кнопки SpeedButton1:

Код:
var

Doc, Histor: Variant;

begin

Doc:= WebBrowser1.OleObject.document;  //Ссылаемся на интерфейс документа;

if TVarData(Doc).VDispatch = nil then Exit;  //Если документ отсутствует, тогда выходим;

Histor:=Doc.parentWindow.history;  {Объект документа - объект родительского окна - объект содержащий

историю переходов Шаг назад к предыдущему URL.};

Histor.go(-1);

end;
Для клавиши - Шаг вперед пишем в событии OnClick у кнопки SpeedButton2:

Код:
var

Doc, Histor: Variant;

begin

Doc:= WebBrowser1.OleObject.document;  //Ссылаемся на интерфейс документа;

if TVarData(Doc).VDispatch = nil then Exit;  //Если документ отсутствует, тогда выходим; 

Histor:=Doc.parentWindow.history;  {Объект документа - объект родительского окна - объект содержащий

историю переходов Шаг вперед к предыдущему URL.};

Histor.go(1);

end;

Для остановки загрузки в OnClick на SpeedButton4 пишем;

Код:
begin

WebBrowser1.Stop;

end;


8) Для обновления странички в OnClick на SpeedButton3 пишем;

Код:
begin

WebBrowser1.Refresh;

end;
Все сделали? Переходим к следующему: пропишем еше ряд батонов, придав нашему приложению дополнительную функциональность.
Например, обеспечим открытие файлов в нашем браузере расположенных на локальных дисках.

Для этого в OnClick на SpeedButton7 пишем:

Код:
begin

if OpenDialog1.Execute then

begin

WebBrowser1.Navigate(OpenDialog1.FileName);

ComboBox1.Text:=OpenDialog1.FileName;

end;

end;
Для возможности нашего браузера также сохранять странички на компьютер, в OnClick на SpeedButton9 пишем:

Код:
WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT);  //Сохраняем содержимое WebBrowser1;

end;
Для получения возможности печати по нажатию на SpeedButton8 в OnClick последнего пропишем:

Код:
var

PostData, Headers: OLEvariant;

begin

WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, PostData, Headers);  //Печатаем содержимое TWebBrowser; 

end;

Для предварительного просмотра странички перед печатью, в OnClick на SpeedButton10 пишем:

Код:
begin

WebBrowser1.ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT);  //Предварительный просмотр;

end;
А для предварительной настройки ее параметров, в OnClick на SpeedButton11 пишем:

Код:
begin

WebBrowser1.ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT);  //Параметры страницы;

end;
Теперь организуем поиск слов на страничке, и в OnClick на SpeedButton12 пишем:

Код:
begin

WebBrowser1.ExecWB(OLECMDID_FIND, OLECMDEXECOPT_DODEFAULT);  //Поиск слов на сайте;

end;
Для сохранения исходного кода в текстовый файл, нужно:

а) В разделе Public записываем следующую процедуру:
Код:
procedure SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser);  //процедура сохранения Url;
б) Жмем Ctrl+Shift+C;

в) В сгенерированном автоматически шаблоне TForm1.SaveHTMLSourceToFile(const FileName: string; WB: TWebBrowser);

прописываем:

Код:
var

PersistStream: IPersistStreamInit;

FileStream: TFileStream;

Stream: IStream;

SaveResult: HRESULT;

begin

PersistStream := WB.Document as IPersistStreamInit;

FileStream := TFileStream.Create(FileName, fmCreate);

try

Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;

SaveResult := PersistStream.Save(Stream, True);

if FAILED(SaveResult) then

MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);

finally

FileStream.Free;

end;

end;
г) Пишем в OnClick на SpeedButton13:

Код:
begin

if SaveDialog1.Execute then

SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1);

end;

Так же давайте настроим режим уведомления об успешных загрузках документов, для этого в свойстве OnDocumentComplete компонента WebBrowser1, нужно прописать следующее:

Код:
begin

if URL=WebBrowser1.LocationURL Then

begin

ShowMessage('Документ успешно загружен');

end;

end;

Чтобы ProgressBar1 отображал ход загрузки страниц, в свойстве OnProgressChange компонента WebBrowser1, нужно прописать:

Код:
ProgressBar1.Max:=ProgressMax;

ProgressBar1.Position:=Progress;

end;

Далее, если в событии OnStatusTextChange компонента WebBrowser1, прописать:

Код:
begin

StatusBar1.Panels[0].text:=text;

end;
то URL хода загрузки, будет корректно отображаться в StatusBar.
  Ответить с цитированием
Пользователь сказал cпасибо:
zap96ol (10.03.2014)
Старый 09.03.2014, 11:05   #2
 Разведчик
Аватар для zap96ol
 
zap96ol неизвестен в этих краяхzap96ol неизвестен в этих краях
Регистрация: 05.11.2011
Сообщений: 20
Популярность: -117
Сказал(а) спасибо: 52
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Браузер на делфи.

Увидел компонент WebBrowser и перестал читать дальше...ибо это такой же тормозной аналог IE
Вот если бы ты использовал что то другое вместо wb то было бы на много интереснее!!!
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 09.03.2014, 12:15   #3
 Разведчик
Аватар для Zeinux
 
Zeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе цену
Регистрация: 15.02.2014
Сообщений: 14
Популярность: 4534
Сказал(а) спасибо: 9
Поблагодарили 14 раз(а) в 11 сообщениях
 
По умолчанию Re: Браузер на делфи.

Веб Браузер на основе компонента - "TChromium".

Приступим...

Создаем новый проект в среде Delphi VCL Forms Application. На форму кидаем TChromeTabs и присваиваем ему выравнивание по верхнему краю (align:=alTop). Далее добавляем "адресную строку", для этого будем использовать компонент - TEdit. Кидаем его на форму и присваиваем ему выравнивание по верхнему краю (align:=alTop). Стираем содержимое свойства Text и присваиваем содержимое по умолчанию (TextHint:=’Paste [Ссылки могут видеть только зарегистрированные пользователи. ]). Получиться должно что то вроде этого:

[Ссылки могут видеть только зарегистрированные пользователи. ]

Сейчас, это все компоненты, которые нам нужны. TChromium будем создавать
динамически.


Подключение модулей TChromium:


Прежде всего, нам нужно подключить модуль cefvcl.pas. В нем у нас с вами находится декларация класса TChromium. Компонент требует несколько DLL-библиотек, которые должны лежать в папке проекта, либо же в папке Windows. Копировать их все в папку с проектом смысла нет, так что давайте попробуем заставить TChromium загружать свои библиотеки из папки, в которую он был установлен при интеграции в среду Delphi.

Для этого подключаем модуль ceflib.pas и присваиваем необходимый путь переменной CefLibrary. Для этого достаточно в секции инициализации переназначить эту переменную:

Код:
initialization ceflibrary:='D:\DComponents\dcef3\bin\Win32\libcef.dll';
Теперь при запуске проекта библиотеки будут грузиться из папки D:\DComponents\dcef3\bin\Win32\. Кстати очень удобный прием, его смело можно добавлять в каждый ваш проект — незачем плодить копии одних и тех же библиотек.

Сам Браузер:


Раскидываем компоненты по форме. Далее мы будем создавать экземпляры TChromium прямо на форме, а в зависимости от активного таба выводить определенный экземпляр на передний план методом BringToFront. Табы и экземпляры браузера связаны одинаковым свойством Tag, которое будем генерировать при создании таба.
Добавляем нашей форме поле ActiveChromium (будет хранить ссылку на экземпляр активного в данный момент браузера)


Код:
TForm1 = class(TForm)  ,,,,,,,,,,,,,,,  private activeChromium:tchromium;  ,,,,,,,,,,,,,,,,  end;

Создаем экземпляр TChromium:


Добавляем форме метод для создания экземпляра TChromium:

Код:
procedure TForm1.CreateChromium; var browser:tchromium; begin browser:=tchromium.Create(form1); browser.Parent:=form1; browser.Align:=alclient; browser.Tag:=random(10000); activechromium:=browser; with chrometabs1.Tabs.Add do begin caption:='Новая вкладка'; tag:=browser.tag; end; edit1.Text:=''; end;
Этим методом мы создаем экземпляр класса TChromium, распологаем его на форме, генерируем рандомный тег, присваиваем ActiveChromium созданный экземпляр. Создаем таб, тегу которого присваиваем такой же, как и у TChromium, а заголовку — Новая вкладка. Обнуляем значение адресной строки. Для более надежной генерации случайных чисел, добавим в секцию инициализации процедуру Randomize:

Код:
initialization randomize;

Создаем вкладки


Создаем обработчик событий табов ButtonAddClick. Он будет вызываться всякий раз, когда пользователь щелкнет на кнопку добавления вкладки:

Код:
procedure TForm1.ChromeTabs1ButtonAddClick(Sender: TObject; var Handled: Boolean); begin handled:=true; createChromium; end;
В этом обработчике указываем handled:=true по той простой причине, что нет нужды создавать вкладку автоматически. Она будет создана в методе CreateChromium. Запускаем приложение, добавляем вкладку с помощью хромовского плюсика (по умолчанию сам плюсик не отображается, чтобы его показать, нужно присвоить ChromeTabs1. Options.Display. Addbutton. ShowPlusSign:=true). Как вы уже увидели при нажатии на кнопку добавления создается вкладка Новая вкладка и компонент TChromium.

Добавляем этот метод в обработчик создания формы. Тогда при запуске приложения одна вкладка будет создаваться автоматически:

Код:
procedure TForm1.FormCreate(Sender: TObject); begin createChromium; end;

Переход по адресу:


Добавим обработку адреса. Для этого создадим простой обработчик:

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then begin chrometabs1.ActiveTab.Caption:=edit1.Text; activechromium.Load(edit1.Text); end; end;
Снова запускаем приложение и вводим в адресную строку адрес «yandex.ru«, нажмите Enter и убедитесь, что компонент загружает страничку Яндекса.

[Ссылки могут видеть только зарегистрированные пользователи. ]


Поиск TChromium на форме:


Следующие, что мы должны сделать - это написать метод поиска экземпляра браузера по его тегу:

Код:
function TForm1.FindChromium(atag: integer): tchromium; var i:integer; begin result:=nil; for I := 0 to form1.ControlCount-1 do if form1.Controls[i] is tchromium then if (form1.Controls[i] as tchromium).Tag=atag then result:=form1.Controls[i] as tchromium; end;
Переключение вкладок:


Теперь, когда у нас есть функция поиска экземпляра, мы можем написать обработчик события для переключения вкладок:

Код:
procedure TForm1.ChromeTabs1ActiveTabChanged(Sender: TObject; ATab: TChromeTab); var browser:tchromium; begin browser:=findChromium(atab.Tag); if (browser<>nil) then with browser do begin bringtofront; edit1.Text:=browser.MainFrame.Url; end; end;
Теперь, запустив приложение, вы можете создать несколько вкладок и свободно переключаться между ними. Отображаться будут соответствующие экземпляры браузера.

[Ссылки могут видеть только зарегистрированные пользователи. ]

Освобождение ресурсов:


Создаем обработчик закрытия вкладки:

Код:
procedure TForm1.ChromeTabs1ButtonCloseTabClick(Sender: TObject; ATab: TChromeTab; var Close: Boolean); var browser:tchromium; begin browser:=findChromium(atab.Tag); browser.Free; close:=true; if chrometabs1.Tabs.Count=1 then application.Terminate; end;
В этот обработчик передается экземпляр TChromeTab — вкладка, которая закрывается, и параметр Close, значение которого необходимо определить. Если close:=true — компонент TChromeTabs удаляет вкладку. Иначе он просто не позволит ее закрыть — щелчки по кнопке закрытия будут проигнорированы. Сначала мы ищем соответствующий вкладке экземпляр TChromium. Затем освобождаем его методом Free и присваиваем close:=true — пусть TChromeTabs сам разберется с закрытием вкладки. Также ставим условие — если вкладка была последняя — прерываем выполнение приложения. Tabs.count указано 1 т.к. на момент вызова этой функции как минимум 1 вкладка существует — закрываемая.

Вот и все готово!
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
NebesaBag (09.03.2014), Tr0y (10.03.2014), zap96ol (10.03.2014)
Старый 09.03.2014, 21:52   #4
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Браузер на делфи.

ссылку можно ещё на браузер хрома?) пощупать охота)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 09.03.2014, 22:49   #5
 Разведчик
Аватар для Zeinux
 
Zeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе цену
Регистрация: 15.02.2014
Сообщений: 14
Популярность: 4534
Сказал(а) спасибо: 9
Поблагодарили 14 раз(а) в 11 сообщениях
 
По умолчанию Re: Браузер на делфи.

Цитата:
ссылку можно ещё на браузер хрома?

Ты про исходник что ли?
  Ответить с цитированием
Пользователь сказал cпасибо:
zap96ol (10.03.2014)
Старый 10.03.2014, 01:46   #6
 Пехотинец
Аватар для NebesaBag
 
NebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражанияNebesaBag блестящий пример для подражания
Регистрация: 27.12.2011
Сообщений: 73
Популярность: 2425
Сказал(а) спасибо: 334
Поблагодарили 57 раз(а) в 27 сообщениях
 
По умолчанию Re: Браузер на делфи.

Цитата:
Сообщение от ZeinuxПосмотреть сообщение
Ты про исходник что ли?

Не, исполняемый файл откомпилированный)
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]

Пишу софт на заказ(Delphi / C# / PHP-скрипты). Описывайте задачи и цели софта, сообщайте сумму на которую рассчитываете.
Skype: vinozavr (Молдова)


Кто плюсует популярность, подписывайтесь пожалуйста)
  Ответить с цитированием
Старый 10.03.2014, 04:59   #7
Почетный Пользователь
 Сержант
Аватар для MembRupt
 
MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(
Регистрация: 18.07.2013
Сообщений: 148
Популярность: 83981
Сказал(а) спасибо: 564
Поблагодарили 258 раз(а) в 195 сообщениях
 
По умолчанию Re: Браузер на делфи.

Цитата:
Сообщение от NebesaBagПосмотреть сообщение
Не, исполняемый файл откомпилированный)

Он бесплатный, поэтому скачать с официального сайта труда не составит
Кстати, некоторые браузеры выпускаются с открытым исходным кодом, например [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Пользователь сказал cпасибо:
Zeinux (10.03.2014)
Старый 10.03.2014, 12:16   #8
 Разведчик
Аватар для Zeinux
 
Zeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе ценуZeinux знает себе цену
Регистрация: 15.02.2014
Сообщений: 14
Популярность: 4534
Сказал(а) спасибо: 9
Поблагодарили 14 раз(а) в 11 сообщениях
 
По умолчанию Re: Браузер на делфи.

Реально, на основе IE - браузер получается фиговенький. Так что я решил полазить и нашел компоненты и маленький семпл браузера.

1. Инсталируем пакеты,
2. добавляем пути до папок GeckoSDK и GeckoComponents,
3. Инсталируем .dpk файл из папки GeckoSDK,
4. Инсталим .dpk файл из папки GeckoComponents,
5. Компилим проект Sam~1

Готово. Компоненты и т.п. качаем тут - [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Пользователь сказал cпасибо:
zap96ol (10.03.2014)
Старый 10.03.2014, 20:35   #9
 Разведчик
Аватар для zap96ol
 
zap96ol неизвестен в этих краяхzap96ol неизвестен в этих краях
Регистрация: 05.11.2011
Сообщений: 20
Популярность: -117
Сказал(а) спасибо: 52
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Браузер на делфи.

Извините , возможно за тупой вопрос, но где взять TChromeTabs ?
Или его скачать надо откуда то?
Можно сылre откуда скачать и как его установить на DelphiXE2

Спасибо
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 10.03.2014, 20:39   #10
Почетный Пользователь
 Сержант
Аватар для MembRupt
 
MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(MembRupt сломал счётчик популярности :(
Регистрация: 18.07.2013
Сообщений: 148
Популярность: 83981
Сказал(а) спасибо: 564
Поблагодарили 258 раз(а) в 195 сообщениях
 
По умолчанию Re: Браузер на делфи.

Цитата:
Сообщение от zap96olПосмотреть сообщение
Извините , возможно за тупой вопрос, но где взять TChromeTabs ?
Или его скачать надо откуда то?
Можно сылre откуда скачать и как его установить на DelphiXE2

Спасибо

Попробуйте здесь [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Пользователь сказал cпасибо:
zap96ol (10.03.2014)
Старый 22.11.2014, 16:54   #11
 Разведчик
Аватар для NUBOREZKA2012
 
NUBOREZKA2012 неизвестен в этих краяхNUBOREZKA2012 неизвестен в этих краяхNUBOREZKA2012 неизвестен в этих краяхNUBOREZKA2012 неизвестен в этих краяхNUBOREZKA2012 неизвестен в этих краяхNUBOREZKA2012 неизвестен в этих краях
Регистрация: 04.02.2012
Сообщений: 8
Популярность: -639
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для NUBOREZKA2012 с помощью Skype™
 
По умолчанию Re: Браузер на делфи.

Еще есть компонент Tchromiumtabs - вкладки как у хрома, там куча настроек у них. В общем на делфи вполне можно написать красивый браузер на движке хрома как яндекс браузер, гугл хром и другие. Это не так уж и сложно. Хотя возникали проблемы с этими вкладками. Они то сами по себе переключаются, но не имеют тела. Поэтому если кто будет делать:
Создаете массив tchromium, webbrowser или что вы там используете.
Ну и потом уже работайте через него, просто убирая visible На нужных компонентах из массива.
________________
Тык спасибку если заслужил!
За помощью обращаться в Skype™
  Ответить с цитированием
Старый 24.03.2015, 18:24   #12
 Разведчик
Аватар для Vitorrio
 
Vitorrio никому не известный тип
Регистрация: 24.03.2015
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Браузер на делфи.

Цитата:
Сообщение от MembRuptПосмотреть сообщение
Он бесплатный, поэтому скачать с официального сайта труда не составит
Кстати, некоторые браузеры выпускаются с открытым исходным кодом, например [Ссылки могут видеть только зарегистрированные пользователи. ]

А есть модуль libcef.dll новее версии 3.2171.1979 ?
а то недавно скачанный dcef3 при простой загрузке страницы ошибку выдает acess violation at 0x.. : read of address 0x00000000 ругаясь на этот модуль
  Ответить с цитированием
Старый 30.03.2015, 22:36   #13
 Разведчик
Аватар для fix13
 
fix13 никому не известный тип
Регистрация: 30.03.2015
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Браузер на делфи.

Ребят, подскажите, пожалуйста, а как к опциям обратиться если создаю также динамически?
Т.е. вот если кидаю TChromium на форму, то там в инспекторе объектом понятное дело легко отключить, а вот если создаю динамически, то не могу понять как этим флагам обратиться.

Нужно выключить, например, картинки и Java.
  Ответить с цитированием
Старый 04.06.2016, 22:11   #14
 Разведчик
Аватар для Mad1k1
 
Mad1k1 никому не известный тип
Регистрация: 03.06.2016
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Браузер на делфи.

Привет всем.
Цитата:
Добавляем нашей форме поле ActiveChromium (будет хранить ссылку на экземпляр активного в данный момент браузера)

Код:
TForm1 = class(TForm)  ,,,,,,,,,,,,,,,  private activeChromium:tchromium;  ,,,,,,,,,,,,,,,,  end;

Помогите сделать это поле, не понимаю куда писать.

Последний раз редактировалось Mad1k1; 04.06.2016 в 22:18.
  Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Делфи 7 komoel1911 Вопросы и ответы, обсуждения 3 07.04.2012 09:44

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 16:16.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net