Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лр2.doc
Скачиваний:
2
Добавлен:
11.11.2019
Размер:
287.23 Кб
Скачать

Разработка web-браузера

Средство визуального программирования Delphi 5.0 позволяет написать свой собственный браузер с помощью стандартных компонентов. Необходимые элементы находятся в палитре компонентов "Internet". Если версия Delphi меньше, чем 5.0, то этого компонента может и не быть. Он также может отсутствовать, если при установке не были установлены INET-компоненты (по умолчанию они ставятся).

Для разработки WEB-браузера необходимо ознакомиться со следующими компонентами: WebBrowser, CoolBar, ToolBar, ComboBox, OpenDialog, StatusBar, ProgressBar.

В случае отсутствия INTERNET- компонентов необходимо их установить, выполнив следующие действия:

Выберите "Import ActiveX Control" из меню "Component". Должно открыться окно, как на рисунке 1.

Рисунок 1 – Выбор вкладки Microsoft Internet Control

В списке выбора этого окна (сверху) необходимо найти строку "Microsoft Internet Controls (Version 1.1)". Устанавливаете компонент нажатием кнопку "Install". Перед Вами откроется окно, как на рисунке 2. На запрос Вы должны ответить "OK".

Рисунок 2 – Окно установки компонентов

После этого появится запрос на компиляцию пакета как на рисунке 3. Delphi перекомпилирует необходимые файлы и установит компонент для работы с браузером.

Рисунок 3 – Окно компиляции устанавливаемых компонентов

После этого появится окно, которое сообщит об успешной установке нового компонента. Нажмите "OK" и закройте все, что открыл Delphi. Для этого выберите "Close All" из меню "File". Теперь у Вас есть компонент "WebBrowser", только он расположен на странице "ActiveX" палитры компонентов.

Для разработки собственного WEB-браузера используется набор компонентов "Microsoft Internet Controls". Это значит, что Ваш браузер будет иметь те же достоинства и недостатки, что и у стандартного Internet Explorer. Единственное, что может успокоить - так это то, что интерфейс может быть таким, каким Вы захотите, потому что сделан Вашими руками.

Создание браузера заключается в следующих шагов:

1. Создайте новый проект ("File" -> "New Application") и сразу измените заголовок и иконку.

2. Установите на форму компонент "WebBrowser" (он находится на закладке "Internet" или "ActiveX") - у Вас появится белый квадрат с именем WebBrowser1.

3. Расположите на форме также компонент "CoolBar", который находится на закладке "Win32" палитры компонентов. Это панелька, которая должна выровняться по верхнему краю формы.

4. Выделите WebBrowser1 и перейдите в Object Inspector. Щелкните по свойству "Align" и в выпадающем списке выберите "alClient". "WebBrowser" должен растянуться на все свободное место формы. В результате Вы увидите нечто похожее на рисунок 4.

Рисунок 4 – Окно WEB-Browser

5. Установите на CoolBar1 панель "ToolBar" из закладки "Win32" и "ComboBox" из закладки "Standart" палитры компонентов (Все это Вы должны расположить именно внутри CoolBar1). После этого нужно выделить CoolBar1 и перейти в ObjectInspector. Здесь необходимо изменить строку "AutoSize" на "true" (по умолчанию она "false").

6. Выделите ComboBox1 (выпадающий список) и перейдите в ObjectInspector. Здесь необходимо перейти на закладку "Events", выбрать строку "OnKeyDown" и ввести имя процедуру (двойное нажатие кнопки мыши). Delphi создаст процедуру, которая будет вызываться каждый раз, когда Вы будете вводить какую-нибудь букву в "ComboBox". Здесь Вы должны написать следующее:

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key= VK_RETURN then WebBrowser1.Navigate(ComboBox1.Text); end;

7. Запустите программу, введите какой-нибудь адрес в строку ComboBox и нажмите клавишу Enter Если вы правильно ввели адрес, то в WebBrowser1 через несколько минут должен появиться указанная страница.

Введение дополнительных возможностей в WEB-браузер.

Выберите ToolBar1 и перейдите в ObjectInspector. Здесь нужно изменить свойства "AutoSize", "ShowCaption" и "Flat" на "true" (все они по умолчанию равны false). Нажмите правую кнопку мыши на ToolBar1 и из появившегося меню выберите пункт "New Button". На ToolBar1 должна появиться новая кнопка с именем "ToolButton1". Выделите ее и в ObjectInspector-е поменяйте свойство Caption на "Открыть". Создайте еще насколько кнопок с заголовками: Назад, Вперед, Стоять, Обновить и Печать. Результат должен быть похож на рисунок 5.

Рисунок 5 – Окно WEB-браузера с дополнительными кнопками

Установите также на форму "OpenDialog" из закладки "Dialogs" палитры компонентов.

Теперь дважды кликните по кнопке "Открыть", и Delphi автоматически создаст процедуру, которая будет вызываться при нажатии этой кнопки. В этой процедуре нужно написать следующее:

procedure TForm1.ToolButton1Click(Sender: TObject); begin if OpenDialog1.Execute then begin WebBrowser1.Navigate(OpenDialog1.FileName); ComboBox1.Text:=OpenDialog1.FileName; end; end;

Теперь можно запустить программу и открыть с помощью этой кнопки любой файл на диске.

Для работы кнопки "Назад" необходимо в процедуре, соответствующей событию OnClick вставить строку:

procedure TForm1.ToolButton2Click(Sender: TObject); begin WebBrowser1.GoBack; end;

Для кнопки "Вперед" напишите следующий код:

procedure TForm1.ToolButton3Click(Sender: TObject); begin WebBrowser1.GoForward; end;

Для кнопки "Стоять" напишите:

procedure TForm1.ToolButton4Click(Sender: TObject); begin WebBrowser1.Stop; end;

Для кнопки "Обновить":

procedure TForm1.ToolButton5Click(Sender: TObject); begin WebBrowser1.Refresh; end;

И, наконец, для кнопки "Печать":

procedure TForm1.ToolButton6Click(Sender: TObject); var PostData, Headers:OLEvariant; begin WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT,PostData, Headers); end;

В этой строке посылается команду через OLE ядру IE.

Ваш браузер почти готов. Можете немного изменить работу программы для лучшего восприятия.

Для этого размещаем на форме StatusBar из закладки "Win32" и изменяем у него свойство "SimplePanel" в true (по умолчанию false). Выделяем WebBrowser1 и переходим на закладку "Events" в ОbjecInspector-е. Дважды кликните по строке "OnStatusTextChange" и напишите в созданной процедуре следующее:

procedure TForm1.WebBrowser1StatusTextChange(Sender: TObject; const Text: WideString); begin StatusBar1.SimpleText:=Text; end;

Здесь мы присваиваем переменную "Text" (в ней хранится текст подсказки) в StatusBar1. Теперь можно видеть подсказки в строке состояния.

Добавьте ещё индикатор загрузки. Для этого расположите на форме ProgressBar из закладки "Win32". Измените у него свойство "Align" на "alBottom", чтобы он находился вдоль нижней границы формы. Снова выделите WebBrowser1 и щелкните по закладке "Events" в ОbjecInspector-е. Дважды щелкните по строке "OnProgressChange" и напишите в созданной процедуре:

procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress, ProgressMax: Integer); begin ProgressBar1.Max:=ProgressMax; ProgressBar1.Position:=Progress; end;

Здесь созданному ProgressBar1 (индикатор загрузки) присваивается максимальное значение (ProgressMax) и текущее значение (Progress).