Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Windows Script Host для Windows 2000/XP - Андрей Попов

Windows Script Host для Windows 2000/XP - Андрей Попов

Читать онлайн Windows Script Host для Windows 2000/XP - Андрей Попов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 96 97 98 99 100 101 102 103 104 ... 175
Перейти на страницу:

<table border="0" width="100%" style="font-family:Arial; font-size:10pt">

В <tr>

В </tr>

</table>

Здесь аргумент border задает ширину границ таблицы (в нашем случае границы невидимы), а в аргументе style указываются название и размер шрифта, которым будет выводиться содержимое таблицы.

В свою очередь, внутри тегов <tr> и </tr> находятся теги <td> и </td>, определяющие одну ячейку таблицы, например:

<tr>

 <td width="15%">Фамилия</td>

В <td width="85%"><input type="text" name="txtLastName" size="50"></td>

</tr>

Для тегов <td> указывается аргумент width, задающий ширину строки в процентах от общей ширины строки.

Кнопки в форме выводятся друг за другом, нужное расстояние между ними достигается с помощью неразрывных пробелов (escape-последовательность &nbsp), например:

<input type="button" value="<" name="btnPrevious"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="button" value="Новая запись" name="btnNew"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

Листинг 7.6. Описание формы в HTML-файле (Phone.htm)

<html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Форма для записной книжки</title>

</head>

<body bgcolor="silver" scroll="no">

<form name="MainForm">

<table border="0" width="100%" style="font-family:Arial; font-size:10pt">

В <tr>

  <td width="15%">Фамилия</td>

В  <td width="85%"><input type="text" name="txtLastName" size="50"></td>

В </tr>

В <tr>

В  <td>РРјСЏ</td>

В  <td><input type="text" name="txtName" size="50"></td>

В </tr>

В <tr>

  <td>Телефон</td>

В  <td><input type="text" name="txtPhone" size="15"></td>

В </tr>

В <tr>

  <td>Улица</td>

В  <td><input type="text" name="txtStreet" size="50"></td>

В </tr>

В <tr>

  <td>Дом</td>

В  <td><input type="text" name="txtHouse" size="10"></td>

В </tr>

В <tr>

В  <td>РљРІ.</td>

В  <td><input type="text" name="txtApp" size="5"></td>

В </tr>

В <tr>

  <td>Примечание</td>

В  <td><input type="text" name="txtNote" size="80"></td>

В </tr>

</table>

<br>

<input type="button" value="<<" name="btnFirst">

<input type="button" value="<" name="btnPrevious">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="button" value="Новая запись" name="btnNew">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="button" value="Записать" name="btnSave">

<input type="button" value="Отменить" name="btnCancel">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="button" value="Удалить" name="btnDelete">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<input type="button" value=">" name="btnNext">

<input type="button" value=">>" name="btnFinal">

</form>

</body>

</html>

Создание объекта для обмена данными между XML-файлом и формой

В отличие от рассмотренного выше сценария PhoneBook.wsf, в сценарии IEPhoneBook.js функции для работы с записной книжкой не будут разделены по разным заданиям, поэтому для более четкой организации сценария мы воспользуемся объектно-ориентированным подходом и создадим два объекта Person и ListPersons, методы которых и будут осуществлять обработку данных и связь между XML-файлом и пользовательской формой.

Как и раньше, в свойствах объекта Person будет храниться запись об одном человеке. Кроме этого, мы добавим в объект Person метод LoadDialog, который будет заполнять поля ввода в форме данными из соответствующих свойств объекта Person:

//Конструктор объекта Person

function Person() {

В //Рнициализируем свойства объекта

В this.LastName="";

В this.Name="";

В this.Phone="";

В this.Street="";

В this.House="";

В this.App="";

В this.Note="";

 //Устанавливаем для метода LoadDialog указатель на

 //функцию Person_LoadDialog

В this.LoadDialog=Person_LoadDialog;

}

//Заполнение полей в форме для текущей записи

function Person_LoadDialog() {

 //Заполняем поля ввода в форме значениями соответствующих

 //свойств объекта Person

В doc.all.txtLastName.value = this.LastName;

В doc.all.txtName.value=this.Name;

В doc.all.txtPhone.value=this.Phone;

В doc.all.txtStreet.value=this.Street;

В doc.all.txtHouse.value=this.House;

В doc.all.txtApp.value = this.App;

В doc.all.txtNote.value = this.Note;

}

Принцип доступа к полям ввода формы по их именам, который используется в методе LoadDialog(), объясняется ниже (см. разд. "Обработка событий, генерируемых элементами управления формы").

Основным объектом, который обеспечивает обмен данными между XML-файлом записной книжки и разработанной нами формой, является объект ListPersons. Этот объект будет содержать три свойства и десять методов.

Первым свойством объекта ListPersons мы сделаем массив PersonArr объектов Person; этот массив будет служить промежуточным буфером при чтении данных из XML-файла для отображения в форме и при записи измененных данных из формы в файл. В остальных двух свойствах СurRecord и IsChanged объекта ListPersons будут соответственно храниться номер текущей записи и логическое значение (true или false), являющееся признаком того, были ли изменены пользователем данные в форме.

Назначение методов объекта ListPersons ясно из комментариев, которые приведены в конструкторе этого объекта (листинг 7.7). 

Листинг 7.7. Конструктор объекта ListPersons

function ListPersons() {

 //          Свойства объекта

 //Создаем массив PersonArr экземпляров объекта Person

В this.PersonArr = new Array();

В //Рнициализируем номер текущей записи

В this.CurRecord = 0;

 //Сбрасываем признак изменения данных в форме

В this.IsChanged = false;

 //          Методы объекта

 //Устанавливаем для методов указатели на соответствующие функции

1 ... 96 97 98 99 100 101 102 103 104 ... 175
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Windows Script Host для Windows 2000/XP - Андрей Попов.
Комментарии