Глава 4. РАБОТА С ЭЛЕМЕНТАМИ УПРАВЛЕНИЯ ActiveX
Когда без элемента ActiveX не
обойтись
Действительно, бывают случаи, когда требуется воспользоваться объектом, который не отображается на Web-странице, тогда этот объект надо описать, т.е. задать ему параметры в кодах HTML. Например, необходимо отображать на Web-странице значения из полей базы данных, которая сформирована в виде текстового файла (Таблица.3) и находится либо на рабочем месте пользователя, либо на сервере.
Таблица 4. Сведения о сотрудниках
|
Номер |
Фамилия |
Должность |
Жительство |
|
1 |
Павлов |
Профессор |
Москва |
|
2 |
Иванов |
Рабочий |
Саратов |
|
3 |
Петров |
Доцент |
Астрахань |
|
4 |
Сапожников |
Преподаватель |
Киев |
|
5 |
Агеева |
Доцент |
Москва |
Для того чтобы такие сведения отобразить в браузере целесообразно воспользоваться стандартным элементом ActiveX – Tabular Data Control (работа с данными из таблиц). Такой элемент рассматривается как самостоятельный объект, имеющий ряд параметров, необходимых для взаимодействия программы с данными, которые находятся в файле data.txt. С позиции разработчика – требуется создать интерфейс для пользователя в виде Web-страницы, на которой будут отображаться записи из таблицы. Проект Web-страницы представлен на рис. 26, который содержит интерфейс пользователя с текстовыми окнами для отображения записей из базы данных и двух управляющих кнопок, позволяющих пролистывать записи в прямом и обратном направлениях. Наиболее простым способом для разработки HTML-кодов, является присоединение элемента ActiveX, который можно вызвать через редактор ActiveX Control Pad.

Рис. 26. Интерфейс пользователя для просмотра базы данных
После проведения поиска в диалоговом окне Insert ActiveX Control объекта Tabular Data Control (рис. 27), будет сформированы HTML – коды объекта, к которым остается добавить тэги для описания интерфейса пользователя и сценарий для управления просмотра данных с помощью двух командных кнопок.

Рис. 27. Отображение элемента ActiveX для просмотра табличных данных
Элемент ActiveX для просмотра табличных данных имеет множество свойств, которые следует назначать непосредственно в тех местах программных кодов HTML-страницы, которые имеют отношение к их использованию. Поэтому при формировании объекта Tabular Data Control в тэге <OBJECT…> располагается код объекта (CLASSID) и параметр (VALUE), которому разработчик назначает путь к исходному файлу с данными:
<OBJECT
ID="Base1"
CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<PARAM NAME="DataURL"
VALUE="Dop_files\DATA.TXT">
</OBJECT>
Листинг 13 с программными кодами для обработки событий, при нажатии на кнопки, для программы отображения записей на экране будет выглядеть следующим образом:
Листинг 13.
<HTML>
<HEAD>
<META
HTTP-EQUIV="Content-Type" content="text/html;
charset=win-1251">
<TITLE>Объект Data Control</TITLE>
<SCRIPT
LANGUAGE="VBScript">
Sub Kn1_OnClick
Document.Base1.Recordset.MoveNext
' Обращение к текстовому файлу
If Document.Base1.Recordset.EOF
Then ' Проверка конца файла
Document.Base1.Recordset.MoveLast
' Метод MoveLast - просмотр следующей записи
End If
End Sub
Sub Kn2_OnClick
Document.Base1.Recordset.MovePrevious
If Document.Base1.Recordset.EOF Then
Document.Base1.Recordset.MoveFirst
End If
End Sub
</SCRIPT>
</HEAD>
<BODY>
<!-- Это коды и параметры объекта:
Tabular Data Control -->
<OBJECT ID="Base1" CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<PARAM
NAME="DataURL" VALUE="Dop_files\DATA.TXT">
</OBJECT>
<!-- Используем записи из файла, которые
связываются DATASRC (Имя объекта) и DATAFLD (Имя заголовка списка) -->
<INPUT ID="lngНомер"
TYPE="TEXT" SIZE=2 DATASRC=#Base1 DATAFLD="Номер">Номер<BR>
<INPUT ID="strФамилия" TYPE="TEXT" SIZE=44 DATASRC=#Base1
DATAFLD="Фамилия">Фамилия<BR>
<INPUT ID="strЖительство" TYPE="TEXT" SIZE=44 DATASRC=#Base1
DATAFLD="Жительство">Место жительства<BR>
<INPUT ID="strДолжность" TYPE="TEXT" SIZE=44 DATASRC=#Base1
DATAFLD="Должность">Должность<BR>
<INPUT TYPE="BUTTON"
NAME="Kn1" VALUE="Следующая - ->">
<INPUT
TYPE="BUTTON" NAME="Kn2" VALUE= "<- Предыдущая">
</BODY>
</HTML>
В программе командные кнопки имеют имена Kn1 и Kn2, которые связаны с программами на VBScript. В программе для первой кнопки используются методы: MoveNext (Переместить на следующую) и MoveLast (Переместить на последнюю), а для второй кнопки используются методы: MovePreviors (Переместить на предыдущую) и MoveFist (Переместить на первую). С помощью условного оператора if … then осуществляется проверка состояния просмотра записей в базе данных. Метод EOF (конец просмотра записи) позволяет прекратить цикл просмотра записей, когда найдена последняя. Метод BOF указывает на то, что мы находимся на начале записей в файле. Файл, созданный в приложении Блокнот (data.txt) довольно простой, его внешний вид представлен на рис. 28.

Рис. 28. Внешний вид записей в файле data.txt
Для просмотра примера встраивания элемента управления Data Control на HTML-страницу, достаточно нажать на гиперссылку: ПРИМЕР11.