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

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 87 88 89 90 91 92 93 94 95 ... 175
Перейти на страницу:

В  CurrNode=Root.childNodes.item(i);

  //Добавляем новый элемент в массив объектов Person

В  PersonToArray(CurrNode);

В }

}

//Запись в выходной файл заголовка отчета

function TopReport(Mess) {

В FOut.WriteLine(Mess);

В FOut.WriteLine("--------------------");

В FOut.WriteLine("");

}

//Запись в выходной файл итоговой информации

function BottomReport(Mess) {

В FOut.WriteLine(Mess);

}

//Запись данных из объекта 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;

 //Сортировка массива по фамилии

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

 //Запись информации из массива в выходной файл

В ListPersonArray();

}

//Просмотр содержимого выходного файла в Блокноте

function MakeOut() {

 //Закрываем выходной файл

В FOut.Close();

 //Открываем выходной файл в Блокноте

В WshShell.Run("notepad "+PathOut,1);

}

//Построение путей к файлам

function InitPath() {

В BasePath=WshShell.CurrentDirectory+"\";

 //Путь к файлу с данными

В PathBook=BasePath+"book.xml",

 //Путь к выходному файлу

В PathOut=BasePath+"out.txt";

}

//Основная запускная функция

function Main() {

 //Создаем объект WshShell

В WshShell = WScript.CreateObject("WScript.Shell");

 //Определяем пути к файлам

В InitPath();

 //Создаем объект FileSystemObject

В FSO=WScript.CreateObject("Scripting.FileSystemObject");

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

В FOut=FSO.OpenTextFile(PathOut,ForWriting,true);

 //Печатаем заголовок отчета

 TopReport("Сортировка по фамилии");

 //Выводим содержимого файла с данными

В ListFile();

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

 BottomReport("Всего записей: "+PersonArr.length);

 //Открываем выходной файл в Блокноте

В MakeOut();

}

/*******************  Начало  **********************************/

Main();

/*************  Конец *********************************************/

Добавление информации в записную книжку

В принципе можно добавлять информацию в записную книжку, просто записывая строки с соответствующими тегами в текстовый файл book.xml. Однако лучше для этой цели воспользоваться специальными методами XML DOM (в этом случае не нужно, например, заботиться о закрывающих тегах).

Для иллюстрации методов XML DOM, позволяющих записывать данные в XML-файл, рассмотрим сценарий AddRecord.js, в котором производится добавление в book.xml следующей записи:

<Person>

В <LastName>РЎРёРґРѕСЂРѕРІ</LastName>

 <Name>Aнтон</Name>

В <Phone>18-18-18</Phone>

 <Strееt>Саранская</Street>

В <House>12</House>

В <App>4</App>

 <Note>Запись добавлена из сценария</Note>

</Person>

Процесс добавления записи в книжку осуществляется в функции AddRecord(). Здесь сначала заполняются нужными значениями поля объекта PersonRec (функция MakePersonRec()), а затем данные из PersonRec добавляются в файл book.xml (функция RecordToFile(PersonRec)):

function AddRecord() {

 //Заполняем поля объекта PersonRec

В MakePersonRec();

 //Сохраняем данные из объекта PersonRec в XML-файле

В RecordToFile(PersonRec);

}

Ртак, наиболее важной РІ сценарии является функция RecordToFile(PersonRec). Р’ этой функции сначала создается экземпляр XMLDoc объекта DOMDocument Рё СЃ помощью метода load загружается файл book.xml:

XMLDoc = WScript.CreateObject("Msxml.DOMDocument");

XMLDoc.load(PathBook);

Указатель на корневой элемент сохраняется в переменной Root:

Root=XMLDoc.documentElement;

После этого с помощью метода createElement создается новый элемент Person, который затем добавляется в book.xml (метод appendChild):

//Создаем XML-элемент Person

NewElem=XMLDoc.createElement("Person");

//Добавляем новый элемент в XML-файл

Root.appendChild(NewElem);

Другие добавляемые элементы (LastName, Name, Phone, Street, House, App и Note) должны быть дочерними относительно элемента Person, поэтому в переменной Root мы сохраним ссылку на последний добавленный элемент Person:

Root=Root.lastChild;

Все элементы добавляются с помощью вызовов методов createElement и appendChild, например:

//Создаем элемент LastName

NewElem=XMLDoc.createElement("LastName");

//Добавляем новый элемент в XML-файл (внутри элемента Person)

Root.appendChild(NewElem);

Содержимое добавляемых элементов (свойство text) берется из соответствующих полей объекта PersRec, например:

//Подставляем в качестве содержимого элемента LastName

//значение поля LastName объекта PersRec

Root.lastChild.text=PersRec.LastName;

После того как все нужные элементы добавлены, измененный файл book.xml с помощью метода save сохраняется на жестком диске:

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