Windows Script Host для Windows 2000/XP
Шрифт:
FOut=FSO.OpenTextFile(PathOut,ForWriting,true);
//Печатаем заголовок отчета
TopReport("Поиск записей");
//Вводим фамилию для поиска
LastName=WSHInputBox("Введите фамилию для поиска:","Записная книжка")
//Ищем в XML-файле нужные записи и сохраняем их в массиве PersonArr
RecordsToArray(LastName);
//Выводим все найденные записи из массива PersonArr
в выходной файл
PrintAllFind(LastName);
//Печатаем итоговую информацию
BottomReport("Всего найдено: "+PersonArr.length);
//Открываем выходной файл в Блокноте
MakeOut;
}
//Запускаем основную функцию
Main;
</script>
</job>
<!-- *************** Удаление записи по фамилии *************** -->
<job id="DelRec">
<script language="VBScript" src="WSHInputBox.vbs"/>
<script language="JScript" src="usage.js"/>
<script language="JScript">
//Поиск фамилии в записной книжке и удаление всех
//реквизитов, относящихся к этой фамилии
function FindAndDelRecord(LastName) {
var Root,sSelect,i,Parent,NodeList;
//Создаем объект 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);
else { //Требуемая фамилия найдена
//Цикл по всем найденным элементам LastName
for (i=0;i<=NodeList.length-1;i++) {
//Определяем родительский элемент (Person) для найденного
//элемента LastName
Parent=NodeList.item(i).parentNode;
//Удаляем
элемент Person вместе со всеми его дочерними элементами
Root.removeChild(Parent);
//Выводим диалоговое окно с сообщением
WshShell.Popup("Запись удалена!",0,
"Записная книжка",vbInformation+vbOkOnly);
}
//Сохраняем содержимое XML-файла на диске
XMLDoc.save(PathBook);
}
}
//Основная запускная функция
function Main {
var LastName,Res;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Определяем пути к файлам
InitPath;
LastName=WSHInputBox("Введите фамилию для удаления:","Записная книжка")
//Запрос на удаление записи
Res=WshShell.Popup("Удалить фамилию "+LastName+ " из \n"+PathBook+"?",0,
"Записная книжка",vbQuestion+vbYesNo);
if (Res==vbYes) { //Нажата кнопка Да
//Ищем в книжке нужную фамилию и удаляем относящуюся к
//ней запись
FindAndDelRecord(LastName);
}
}
//Запускаем основную функцию
Main;
</script>
</job>
<!-- *************** Добавление записи *************** -->
<job id="AddRec">
<script language="VBScript" src="WSHInputBox.vbs"/>
<script language="JScript" src="Usage.js"/>
<script language="JScript">
//Ввод значений полей объекта PersonRec
function MakePersonRec {
//Создаем новый экземпляр PersonRec объекта Person
PersonRec=new Person;
//Вводим значения полей добавляемой записи с помощью диалогового
//окна со строкой ввода
PersonRec.LastName=WSHInputBox("Введите фамилию","Добавление записи");
PersonRec.Name=WSHInputBox("Введите имя","Добавление записи");
Поделиться:
Популярные книги
Третий Генерал: Тома I-II
1. Третий Генерал
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Первый среди равных. Книга XII
12. Первый среди Равных
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Первый среди равных. Книга VIII
8. Первый среди Равных
Фантастика:
аниме
фантастика: прочее
эпическая фантастика
попаданцы
5.00
рейтинг книги
Моров. Том 8
7. Моров
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Роза ветров
6. Артефактор
Фантастика:
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
На границе империй. Том 10. Часть 7
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Инкарнатор
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Идеальный мир для Лекаря 16
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Император Пограничья 9
9. Император Пограничья
Фантастика:
городское фэнтези
аниме
фантастика: прочее
попаданцы
5.00
рейтинг книги
Я все еще не царь. Книга XXVI
26. Дорогой барон!
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Имперец. Том 3
2. Имперец
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.43
рейтинг книги
Хозяин Стужи
1. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Дитя прибоя
Дитя прибоя
Фантастика:
боевая фантастика
попаданцы
фэнтези
5.00
рейтинг книги
Романов. Том 1 и Том 2
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
5.25