Windows Script Host для Windows 2000/XP
Шрифт:
//Конструктор объекта Person
function Person(LastName,Name,Phone,Street,House,App,Note) {
this.LastName=LastName; //Фамилия
this.Name=Name; //Имя
this.Phone=Phone; //Телефон
this.Street=Street; //Улица
this.House=House; //Дом
this.App=App; //Квартира
this.Note=Note; //Примечание
}
//Определение значения тега tgName XML-элемента obj
function GetTagVal(obj, tgName) {
//Возвращаем значение тега tgName
return obj.Children.Item(tgName,0).Text;
}
//Заполнение нового элемента массива
function PersonToArray(XItem) {
//Создаем новый экземпляр PersonRec объекта Person
PersonRec=new Person;
//Заполняем поля объекта PersonRec
PersonRec.LastName=GetTagVal(XItem,"LastName");
PersonRec.Name=GetTagVal(XItem,"Name");
PersonRec.Phone=GetTagVal(XItem,"Phone");
PersonRec.Street=GetTagVal(XItem,"Street");
PersonRec.House=GetTagVal(XItem,"House");
PersonRec.App=GetTagVal(XItem,"App");
PersonRec.Note=GetTagVal(XItem,"Note");
//Сохраняем объект PersonRec в массиве
PersonArr[PersonArr.length]=PersonRec;
}
//Создание массива объектов Person
function FileToArray {
var
XML,NomRec,XItem,ex;
//Создаем массив PersonArr
PersonArr=new Array;
//Создаем объект MSXML
XML=WScript.CreateObject("MSXML");
//Задаем путь к файлу с данными
XML.url=PathBook;
//Инициализируем счетчик числа элементов Person
//в XML-файле
NomRec=0;
try {
//Определяем число элементов Person в XML-файле
NomRec=XML.root.children.item("Person").length;
if (typeof(NomRec)=="undefined") NomRec=1;
} catch (ex) {
NomRec=0;
}
//Перебираем коллекцию XML-элементов Person
for (i=0;i<NomRec;i++) {
//Выделяем в коллекции XML-элементов i-й элемент Person
XItem=XML.root.children.item("Person",i);
//Добавляем новый элемент в массив объектов Person
PersonToArray(XItem);
}
}
//Запись в выходной файл заголовка отчета
function TopReport(Mess) {
FOut.WriteLine(Mess);
FOut.WriteLine("--------------------");
FOut.WriteLine("");
}
//Запись в выходной файл итоговой информации
function BottomReport {
FOut.WriteLine("Всего записей: "+NomRec);
}
//Запись данных из объекта 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 ListPersonArray {
var i,a;
//Сортировка массива по фамилии
PersonArr.sort(SortLastName);
//Цикл по всем элементам массива PersonArr
for (i=0;i<=PersonArr.length-1;i++) {
//Запись информации в выходной файл
PrintPerson(PersonArr[i]);
}
}
//Функция для сортировки массива по фамилии
function SortLastName(Pers1,Pers2) {
if (Pers1.LastName<Pers2.LastName) return -1;
else if (Pers1.LastName==Pers2.LastName) return 0;
else return 1;
}
//Вывод содержимого файла с данными
function ListFile {
//Считывание данных из файла в массив
FileToArray;
//Запись информации из массива в выходной файл
Поделиться:
Популярные книги
Проводник
2. Другая сторона
Фантастика:
боевая фантастика
рпг
7.41
рейтинг книги
Газлайтер. Том 1
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Последний Паладин. Том 6
6. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника XXXI
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Барон обходит правила
14. Закон сильного
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи 7
7. Лекарь Империи
Фантастика:
городское фэнтези
аниме
боевая фантастика
попаданцы
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Пятая
5. Летчик Леха
Фантастика:
попаданцы
5.00
рейтинг книги
Имя нам Легион. Том 1
1. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Цеховик. Книга 1. Отрицание
1. Цеховик
Фантастика:
попаданцы
альтернативная история
5.75
рейтинг книги
Звездная Кровь. Экзарх I
1. Экзарх
Фантастика:
боевая фантастика
рпг
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Петля, Кадетский корпус. Книга первая
1. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
6.11
рейтинг книги
Двойник короля 18
18. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Железный Воин Империи
1. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кай из рода красных драконов 3
3. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00