Средства реализации прикладных протоколов Internet в среде разработки Borland Delphi

В среде программирования Borland Delphi существуют прикладные библиотеки для реализации прикладных протоколов Internet.

Для работы с прикладным протоколом необходимо создать экземпляр класса, реализующего такую работу. Следующим действием, как правило, становится установка необходимых параметров для созданного класса - примерами таких параметров служат, прежде всего, адрес и порт ЭВМ, с которой будет устанавливаться соединение, затем, имя и пароль пользователя и т.д. Конкретный состав параметров зависит от типа протокола и того, для какой цели его планируется использовать.

После того, как все необходимые параметры заданы, можно инициировать обмен данными. Для этого нужно вызвать некоторый метод протокола и передать ему нужные аргументы. Тогда объект установит соединение, а также автоматически транслирует значения всех установленных свойств в последовательность команд протокола. Когда все команды будут выполнены, прикладная программа может завершить обмен, или же, изменив какие-то данные, инициировать его снова. В процессе обмена могут возникать события, связанные, например, с разрывом соединения, ошибкой передачи данных, отсутствием прав пользователя и другими ситуациями. По многим из этих ситуаций у объектов предусмотрена активизация связанных с ними событий - функций и процедур языка программирования, в которых разработчик может предусмотреть все необходимые действия по реакции прикладной программы на событие.

По завершении обмена данными прикладная программа должна закрыть соединение и удалить экземпляр класса.

Примеры для разработки программной оболочки

WEB-браузер

Для разработки собственного 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" должен растянуться на все свободное место формы. В результате Вы увидите нечто похожее на рис. 1.

Рис. 1 – Окно WEB-браузера
 

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 на "Открыть". Создайте еще насколько кнопок с заголовками: Назад, Вперед, Стоять, Обновить и Печать. Результат должен быть похож на рис. 2.

Рис. 2 – Окно 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).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: