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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

 ElemList=obj.getElementsByTagName(tgName);

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

 if (ElemList.length>0)

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

return ElemList.item(0).text

 else return "";

}

//Заполнение нового элемента массива

function PersonToArray(XNode) {

 //Создаем новый
экземпляр PersonRec объекта Person

 PersonRec=new Person;

 //Заполняем поля объекта PersonRec

 PersonRec.LastName=GetTagVal(XNode,"LastName");

 PersonRec.Name=GetTagVal(XNode,"Name");

 PersonRec.Phone=GetTagVal(XNode,"Phone");

 PersonRec.Street=GetTagVal(XNode,"Street");

 PersonRec.House=GetTagVal(XNode,"House");

 PersonRec.App=GetTagVal(XNode,"App");

 PersonRec.Note=GetTagVal(XNode,"Note");

 //Сохраняем объект PersonRec в массиве

 PersonArr[PersonArr.length]=PersonRec;

}

//Запись в выходной файл заголовка отчета

function TopReport(Mess) {

 FOut.WriteLine(Mess);

 FOut.WriteLine("--------------------");

 FOut.WriteLine("");

}

//Запись в выходной файл итоговой информации

function BottomReport(Mess) {

 FOut.WriteLine(Mess);

}

//Запись данных из объекта Person в выходной файл

function PrintPerson(PersRec) {

 FOut.WriteLine("Фамилия: "+PersRec.LastName);

 FOut.WriteLine("Имя: "+PersRec.Name);

 FOut.WriteLine("Телефон: "+PersRec.Phone);

 FOut.WriteLine("Улица: "+PersRec.Street);

 FOut.WriteLine("Дом: "+PersRec.House);

 FOut.WriteLine("Кв.: "+PersRec.App);

 FOut.WriteLine("Заметки: "+PersRec.Note);

 FOut.WriteLine("*********************************");

 NomRec++;

}

//Просмотр содержимого выходного файла в Блокноте

function MakeOut {

 //Закрываем выходной файл

 FOut.Close;

 //Открываем выходной файл в Блокноте

 WshShell.Run("notepad "+PathOut,1);

}

//Построение путей к файлам

function InitPath {

 BasePath=WshShell.CurrentDirectory+"\\";

 //Путь
к файлу с данными

 PathBook=BasePath+"book.xml",

 //Путь к выходному файлу

 PathOut=BasePath+"out.txt";

}

/************* Конец *********************************************/

Также в отдельный файл WSHInputBox.vbs мы поместим функцию

WSHinputBox(Message, Title)
на языке VBScript, с помощью которой из JScript-сценариев будет выводиться диалоговое окно со строкой ввода (напомним, что ни язык JScript, ни объектная модель WSH такой функции не предоставляют):

Function WSHInputBox(Message,Title)

 'Выводим диалоговое окно со строкой ввода

 WSHInputBox = InputBox(Message,Title)

End Function

Сами задания из файла PhoneBook.wsf составлены (с некоторыми изменениями, на которых мы подробно останавливаться не будем) из одиночных сценариев, которые были рассмотрены в предыдущей главе: см. листинг 6.3 (просмотр всех записей в алфавитном порядке), листинг 6.4 (добавление записей) и листинг 6.5 (поиск записей по фамилии и удаление записей).

В листинге 7.3 приводится полный текст сценария PhoneBook.wsf.

Листинг 7.3. Многозадачный сценарий PhoneBook.wsf для работы с записной книжкой

<package>

<!-- ****************** Просмотр всех записей ******************* -->

<job id="SortName">

<script language="JScript" src="usage.js"/>

<script language="JScript">

//Создание массива объектов Person

function FileToArray {

 var XML,Root,NomRec,CurrNode,ex,i;

 //Создаем массив PersonArr

 PersonArr=new Array;

 //Создаем объект XML DOM

 XML = WScript.CreateObject("Msxml.DOMDocument");

 //Загружаем XML-документ из файла

 XML.load(PathBook);

 //Сохраняем в переменной Root ссылку на корневой элемент

 //документа

 Root=XML.documentElement;

 //Перебираем все дочерние элементы первого уровня вложенности

 //для корневого элемента

 for (i=1; i<=Root.childNodes.length-1;i++) {

//Выделяем в коллекции XML-элементов i-й элемент

CurrNode=Root.childNodes.item(i);

//Добавляем новый элемент в массив объектов Person

PersonToArray(CurrNode);

 }

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

Эммануэль

Арсан Эммануэль
1. Эммануэль
Любовные романы:
эро литература
7.38
рейтинг книги
Эммануэль

Большой Сочи. История Кавказа

Андреев Александр Радьевич
Приключения:
путешествия и география
5.00
рейтинг книги
Большой Сочи. История Кавказа

Игрушка

Лобанов Владимир Алексеевич
5.00
рейтинг книги
Игрушка

Тень в зеркале

Ирвин Ян
1. Сказания трех миров
Фантастика:
фэнтези
7.38
рейтинг книги
Тень в зеркале

Завещание предков

Стрелков Владислав Валентинович
Приключения:
исторические приключения
6.14
рейтинг книги
Завещание предков

Егерь. Столичный гамбит

Скиба Николай
4. Зверолов
Фантастика:
рпг
уся
фэнтези
фантастика: прочее
попаданцы
6.67
рейтинг книги
Егерь. Столичный гамбит

Вечность в смерти (сборник)

Робертс Нора
Любовные романы:
исторические любовные романы
остросюжетные любовные романы
6.86
рейтинг книги
Вечность в смерти (сборник)

Игра киллера

Бонансинга Джей
Детективы:
боевики
6.25
рейтинг книги
Игра киллера

Тайна смерти Петра III

Елисеева Ольга Игоревна
Тайны Российской империи
Научно-образовательная:
история
5.00
рейтинг книги
Тайна смерти Петра III

История любовная

Шмелев Иван Сергеевич
Проза:
классическая проза
6.25
рейтинг книги
История любовная

Земля Злого Духа

Прозоров Александр Дмитриевич
1. Драконы Севера
Фантастика:
историческое фэнтези
7.44
рейтинг книги
Земля Злого Духа

Выпуск II. Том 7

Кристи Агата
17. Агата Кристи. Собрание сочинений в 20 томах
Детективы:
классические детективы
5.00
рейтинг книги
Выпуск II. Том 7

Первый среди равных. Книга IX

Бор Жорж
9. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга IX

Счастливый ребенок. Универсальные правила

Курпатов Андрей Владимирович
Универсальные правила
Дом и Семья:
воспитание детей
здоровье детей
5.00
рейтинг книги
Счастливый ребенок. Универсальные правила