else return 1;

}

Замечание

Сортировать массивы подобным образом можно только в сценариях JScript, где массивы рассматриваются как объекты. В сценариях VBScript отсутствуют встроенные средства для сортировки массивов

После сортировки массива содержимое его элементов в цикле выводится в файл out.txt с помощью функции PrintPerson(PersRec):

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++;

}

В листинге 5.21 приводится полный текст сценария SortName.js.

Листинг 5.21. Вывод содержимого записной книжки с сортировкой по фамилии

/*******************************************************************/

/* Имя: SortName.js                                                */

/* Язык: JScript                                                   */

/* Описание: Записная книжка (данные в текстовом файле book.txt).  */

/*           Вывод всех записей с сортировкой по фамилии           */

/*******************************************************************/

//Объявляем переменные

var

 WshShell,FSO,

 BasePath,  //Путь к текущему каталогу

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

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

 FBook,     //Файл с данными

 FOut,      //Выходной файл

 NomRec=0,  //Счетчик количества записей

 PersonRec, //Объект для хранения данных об одном человеке

 PersonArr; //Массив для хранения объектов PersonRec

//Инициализируем константы для работы с файлами

var 

 ForReading=1,

 ForWriting=2;

//Конструктор объекта Person

function Person(LastName,Name,Phone,Street,House,App,Note) {

 this.LastName=LastName; //Фамилия

 this.Name=Name;         //Имя

 this.Phone=Phone;       //Телефон

 this.Street=Street;     //Улица

 this.House=House;       //Дом

 this.App=App;           //Квартира

 this.Note=Note;         //Примечание

}

//Заполнение нового элемента массива

function PersonToArray(sArr) {

 //Создаем новый объект Person

 PersonRec=new Person(sArr[0], sArr[1], sArr[2], sArr[3], sArr[4], sArr[5], sArr[6]);

 //Сохраняем объект Person в массиве

 PersonArr[PersonArr.length]=PersonRec;

}

//Создание массива объектов Person

function FileToArray() {

var s,ss;

 //Открываем файл с данными для чтения

 FBook=FSO.OpenTextFile(PathBook,ForReading,true);

 //Создаем массив PersonArr

 PersonArr=new Array(); 

 //Читаем содержимое файла FBook

 while (!FBook.AtEndOfStream) {

  //Считываем строку

  s=FBook.ReadLine();

  //Записываем содержимое строки s в массив ss

  ss = s.split('|');

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

  PersonToArray(ss);

 }

 //Закрываем файл

 FBook.Close();

}

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

function TopReport(Mess) {

 FOut.WriteLine(Mess);

 FOut.WriteLine('--------------------');

 FOut.WriteLine('');

}

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

function BottomReport() {

 FOut.WriteLine('Всего записей: '+NomRec);

}

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

function PrintPerson(PersRec) {

 FOut.WriteLine('Фамилия : '+PersRec.LastName);

 FOut.WriteLine('Имя : '+PersRec.Name);

 FOut.WriteLine('Телефон: '+PersRec.Phone);

 FOut.WriteLine('Улица: '+PersRec.Street);

 FOut.WriteLine('Дом: '+PersRec.House);

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату