Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Windows Script Host для Windows 2000/XP - Андрей Попов

Windows Script Host для Windows 2000/XP - Андрей Попов

Читать онлайн Windows Script Host для Windows 2000/XP - Андрей Попов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 92 93 94 95 96 97 98 99 100 ... 175
Перейти на страницу:

 //Печатаем итоговую информацию

 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");

 //Открываем выходной файл для записи

В 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();

 //Вводим значения полей добавляемой записи с помощью диалогового

1 ... 92 93 94 95 96 97 98 99 100 ... 175
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Windows Script Host для Windows 2000/XP - Андрей Попов.
Комментарии