Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

}

//Функция-обработчик нажатия на кнопку ">"

function btnNext_OnClick {

 //Проверяем, были ли сделаны изменения в форме

 if (objListPersons.IsChanged) { //Изменения были сделаны

//Сохраняем данные в XML-файле

objListPersons.SaveData;

//Заново загружаем данные из XML-файла в массив PersonArr

objListPersons.FileToArray;

 }

 //Переходим
к следующей записи в массиве

 objListPersons.NextRecord;

 //Загружаем в форму данные из массива PersonArr

 //для текущей записи

 objListPersons.LoadDialog;

 //Выводим сообщение в заголовке окна

 doc.title = "Запись N " + (objListPersons.CurRecord + 1);

}

//Функция-обработчик нажатия на кнопку ">>"

function btnFinal_OnClick {

 //Проверяем, были ли сделаны изменения в форме

 if (objListPersons.IsChanged) { //Изменения были сделаны

//Сохраняем данные в XML-файле

objListPersons.SaveData;

//Заново загружаем данные из XML-файла в массив PersonArr

objListPersons.FileToArray;

 }

 //Переходим к последней записи в массиве

 objListPersons.FinalRecord;

 //Загружаем в форму данные из массива PersonArr

 //для текущей записи

 objListPersons.LoadDialog;

 //Выводим сообщение в заголовке окна

 doc.title = "Запись N " + (objListPersons.CurRecord + 1);

}

//Функция-обработчик изменения текста в полях ввода

function txtBoxOnChange {

 //Устанавливаем признак изменения данных в форме

 objListPersons.IsChanged = true;

 //Выводим сообщение в заголовке окна

 doc.title = "Редактирование данных";

}
 

Окончательная доработка сценария IEPhoneBook.js

Выше были описаны все основные функции, которые используются для работы с записной книжкой в диалоговом режиме. Осталось лишь собрать эти функции в один JScript-сценарий IEPhoneBook.js, определить глобальные переменные и добавить вспомогательные функции

GetTagVal(obj, tgName)
и
SetTagVal(obj, tgName, sVal)
для доступа к значениям XML-элементов (листинг 7.13).

Листинг 7.13. Функция для доступа к значениям XML-элементов

//Определение значения тега tgName XML-элемента obj

function GetTagVal(obj, tgName) {

 var ElemList;

 //Создаем коллекцию дочерних для obj элементов, которые

 //задаются тегом tgName

 ElemList=obj.getElementsByTagName(tgName);

 //Проверяем, есть ли в коллекции ElemList элементы

 if (ElemList.length>0)

//Возвращаем значение тега tgName

return ElemList.item(0).text

 else return "";

}

//Изменение значения тега tgName XML-элемента obj

function SetTagVal(obj, tgName, sVal) {

 var ElemList,New;

 //Создаем коллекцию дочерних для obj элементов, которые

 //задаются тегом tgName

 ElemList=obj.getElementsByTagName(tgName);

 //Проверяем, есть ли в коллекции ElemList элементы

 if (ElemList.length>0)

//Устанавливаем значение элемента, задаваемого

//тегом tgName

ElemList.item(0).text=sVal;

 else {

//Создаем новый элемент с именем tgName

NewElem=XML.createElement(tgName);

//Добавляем новый элемент в качестве дочернего для

//элемента obj

obj.appendChild(NewElem);

//Устанавливаем значение добавленного элемента

obj.lastChild.text=sVal;

 }

}

Полный текст сценария IEPhoneBook.js приведен в листинге 7.14.

Листинг 7.14. Сценарий IEPhoneBook.js

/*******************************************************************/

/* Имя: IEPhoneBook.js */

/* Язык: JScript */

/* Описание: Сценарий для работы с записной книжкой */

/* (графический интерфейс пользователя на основе */

/* HTML-формы). */

/*******************************************************************/

//Объявляем глобальные переменные

Поделиться:
Популярные книги

В глубине души

Кренц Джейн Энн
10. Тайное общество
Детективы:
дамский детективный роман
8.18
рейтинг книги
В глубине души

Дневники Палача

Шабельник Руслан
Фантастика:
социально-философская фантастика
детективная фантастика
5.00
рейтинг книги
Дневники Палача

Танцы на снегу

Лукьяненко Сергей Васильевич
2. Геном
Фантастика:
научная фантастика
9.23
рейтинг книги
Танцы на снегу

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI

Ограбить Императора

Сухов Евгений Евгеньевич
Детективы:
исторические детективы
7.00
рейтинг книги
Ограбить Императора

Жертва

Привалов Сергей
2. Звездный Бродяга
Фантастика:
боевая фантастика
космическая фантастика
рпг
попаданцы
6.25
рейтинг книги
Жертва

Музыкант-2

Марченко Геннадий Борисович
5.00
рейтинг книги
Музыкант-2

Пламенев. Книга X

Карелин Сергей Витальевич
10. Пламенев
Фантастика:
аниме
уся
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Пламенев. Книга X

Месть изгоя. Книга 3. Вариант О.Рыбаченко

Большаков Алексей Владимирович
5.00
рейтинг книги
Месть изгоя. Книга 3. Вариант О.Рыбаченко

Платина и шоколад

Чацкая Настя
Любовные романы:
любовно-фантастические романы
эро литература
9.05
рейтинг книги
Платина и шоколад

Лекции профессора Московской Духовной Академии А. И. Осипова

Осипов Алексей Ильич
Религия и эзотерика:
религия
5.00
рейтинг книги
Лекции профессора Московской Духовной Академии А. И. Осипова

Неудержимый. Книга III

Боярский Андрей
3. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга III

Эпоха Опустошителя. Том VI

Павлов Вел
6. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том VI

Сборник.Том 2

Азимов Айзек
2. Отцы-основатели. Весь Азимов
Фантастика:
научная фантастика
5.00
рейтинг книги
Сборник.Том 2