Windows Script Host для Windows 2000/XP
Шрифт:
}
//Сортировка массива и вывод его содержимого в выходной файл
function ListPersonArray {
var i;
//Сортировка массива по фамилии
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 Main {
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Определяем пути к файлам
InitPath;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Открываем выходной файл для записи
FOut=FSO.OpenTextFile(PathOut,ForWriting,true);
//Печатаем заголовок отчета
TopReport("Список всех записей, сортировка по фамилии");
//Считываем данные из файла в массив
FileToArray;
//Записываем информацию из массива в выходной файл
ListPersonArray;
//Печатаем итоговую информацию
BottomReport("Всего записей: "+PersonArr.length);
//Открываем выходной файл в Блокноте
MakeOut;
}
//Запускаем основную функцию
Main;
</script>
</job>
<!-- *************** Поиск записей по фамилии ************** -->
<job id="FindName">
<script language="VBScript" src="WSHInputBox.vbs"/>
<script language="JScript" src="usage.js"/>
<script language="JScript">
//Поиск в XML-файле нужных записей и сохранение их в
//массиве PersonArr
function RecordsToArray(LastName) {
var XMLDoc,Root,sSelect,i,Parent,NodeList;
//Создаем
массив PersonArr
PersonArr=new Array;
//Создаем объект DOMDocument
XMLDoc = WScript.CreateObject("Msxml.DOMDocument");
//Загружаем XML-файл
XMLDoc.load(PathBook);
//Сохраняем в переменной Root ссылку на корневой элемент
//документа
Root=XMLDoc.documentElement;
//Формируем строку для поиска фамилии
sSelect="Person/LastName[text='"+LastName+"']";
//Создаем коллекцию NodeList всех элементов LastName,
//значение которых совпадает со значением переменной LastName
NodeList=XMLDoc.documentElement.selectNodes(sSelect);
if (NodeList.length==0) {//Коллекция NodeList пуста
//Выводим диалоговое окно с сообщением
WshShell.Popup("Фамилия "+ LastName+ " не найдена!", 0,
"Записная книжка",vbInformation+vbOkOnly);
//Завершаем выполнение задания
WScript.Quit;
} else { //Требуемая фамилия найдена
//Цикл по всем найденным элементам LastName
for (i=0;i<=NodeList.length-1;i++) {
//Определяем родительский элемент (Person) для найденного
//элемента LastName
Parent=NodeList.item(i).parentNode;
//Добавляем новый элемент в массив объектов Person
PersonToArray(Parent);
}
}
}
//Вывод в выходной файл информации о найденных записях
function PrintAllFind {
var i;
for (i=0;i<PersonArr.length;i++) {
PrintPerson(PersonArr[i]);
}
}
//Основная запускная функция
function Main {
var LastName;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Определяем пути к файлам
InitPath;
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Открываем выходной файл для записи
Поделиться:
Популярные книги
Тридцать первое июня (сборник юмористической фантастики)
Зарубежная фантастика
Фантастика:
юмористическая фантастика
7.00
рейтинг книги
Ермак. Регент
10. Ермак
Фантастика:
попаданцы
альтернативная история
4.80
рейтинг книги
Элементы обороны: заметки о российском оружии
Документальная литература:
публицистика
5.00
рейтинг книги
Точка Бифуркации XI
11. ТБ
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Вивальди
Проза:
роман
5.00
рейтинг книги
Том 4. История западноевропейской литературы
4. Собрание сочинений в восьми томах
Документальная литература:
критика
5.00
рейтинг книги
Миграция или нашествие?
Документальная литература:
публицистика
5.20
рейтинг книги
Антивоенный синдром или преданная армия?..
Проза:
военная проза
4.50
рейтинг книги
Спецобъекты Сталина. Экскурсия под грифом «секретно»
Научно-образовательная:
история
политика
военная история
6.60
рейтинг книги
Дневник
Проза:
современная проза
5.00
рейтинг книги
1421 - год, когда Китай открыл мир
Тайны древних цивилизаций
Научно-образовательная:
история
прочая научная литература
6.25
рейтинг книги
Воронцов. Перезагрузка. Книга 2
2. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Наемные убийцы
5.00
рейтинг книги
Защитник
11. Другая сторона
Фантастика:
боевая фантастика
попаданцы
рпг
5.00