Попов Андрей Викторович
Шрифт:
//элемента 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");
//Открываем выходной файл для записи
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,