Чтение онлайн

на главную - закладки

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

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

function FileToArray {

 var XML,Root,NomRec,CurrNode,i;

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

 PersonArr=new Array;

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

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

 //Загружаем XML-документ из файла

 XML.load(PathBook);

 //Сохраняем
в переменной Root ссылку на корневой элемент документа

 Root=XML.documentElement;

 //Перебираем все дочерние элементы первого уровня вложенности

 //для корневого элемента

 for (i=1; i<=Root.childNodes.length-1;i++) {

//Выделяем в коллекции XML-элементов i-й элемент

CurrNode=Root.childNodes.item(i);

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

PersonToArray(CurrNode);

 }

}

//Вывод заголовка отчета

function TopReport {

//Печатаем в ячейки текст

 XL.Cells(1,1).Value="Фамилия";

 XL.Cells(1,2).Value="Имя";

 XL.Cells(1,3).Value="Телефон";

 //Выделяем три ячейки

 XL.Range("A1:C1").Select;

 //Устанавливаем полужирный текст для выделенного диапазона

 XL.Selection.Font.Bold = true;

 //Устанавливаем выравнивание по центру для выделенного диапазона

 XL.Selection.HorizontalAlignment=xlCenter;

}

//Печать содержимого полей объекта Person

function PrintPerson(PersRec) {

 //Увеличиваем счетчик количества записей

 NomRec++;

 //В первом столбце печатаем фамилию

 XL.Cells(NomRec+1,1).Value=PersRec.LastName;

 //Во втором столбце печатаем имя

 XL.Cells(NomRec+1,2).Value=PersRec.Name;

 //В третьем столбце печатаем телефон

 XL.Cells(NomRec+1,3).Value=PersRec.Phone;

}

//Сортировка массива и печать его содержимого

function ListPersonArray {

 var i;

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

 PersonArr.sort(SortLastName);

 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 Main {

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

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

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

 InitPath;

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

 XL=WScript.CreateObject("Excel.Application");

 //Делаем окно Microsoft Excel видимым

 XL.Visible=true;

 //Открываем новую рабочую книгу

 XL.WorkBooks.Add;

 //Устанавливаем нужную ширину колонок

 XL.Columns(1).ColumnWidth = 40;

 XL.Columns(2).ColumnWidth = 40;

 XL.Columns(3).ColumnWidth = 10;

 //Печатаем заголовок таблицы

 TopReport;

 //Печатаем содержимое файла с данными

 ListFile;

 //Сохраняем созданный документ под именем out.xls

 XL.ActiveWorkbook.SaveAs(PathOut);

}

//Запускаем основную функцию

Main;

</script>

</job>

</package>

Глава 9

Использование в сценариях баз данных

На практике довольно часто возникают задачи, для решения которых необходимо из сценариев получать доступ к данным, хранящимся во внешних базах самого различного формата (структурированные текстовые файлы, таблицы DBF и Paradox, базы данных Microsoft Access и Microsoft SQL Server и т.д.). Это довольно просто можно сделать с помощью технологии Microsoft ADO (ActiveX Data Objects). Объекты ADO являются частью компонентов доступа к данным Microsoft (MDAC, Microsoft Data Access Components), которые поставляются, например, с браузером Microsoft Internet Explorer версии 5.0 и выше (таким образом, в Windows ХР эти компоненты присутствуют изначально) или могут быть свободно получены с сервера Microsoft .

Поделиться:
Популярные книги

Третий Генерал: Тома I-II

Зот Бакалавр
1. Третий Генерал
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Третий Генерал: Тома I-II

Легат

Прокофьев Роман Юрьевич
6. Стеллар
Фантастика:
боевая фантастика
рпг
6.73
рейтинг книги
Легат

Целеполагание

Владимиров Денис
4. Глэрд
Фантастика:
фэнтези
боевая фантастика
рпг
5.00
рейтинг книги
Целеполагание

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Наследие Маозари 6

Панежин Евгений
6. Наследие Маозари
Фантастика:
попаданцы
постапокалипсис
рпг
фэнтези
эпическая фантастика
5.00
рейтинг книги
Наследие Маозари 6

Хозяин Стужи

Петров Максим Николаевич
1. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Хозяин Стужи

Серпентарий

Мадир Ирена
Young Adult. Темный мир Шарана. Вселенная Ирены Мадир
Фантастика:
фэнтези
готический роман
5.00
рейтинг книги
Серпентарий

Возвращение

Кораблев Родион
5. Другая сторона
Фантастика:
боевая фантастика
6.23
рейтинг книги
Возвращение

Вернувшийся: Посол. Том IV

Vector
4. Вернувшийся
Фантастика:
космическая фантастика
киберпанк
5.00
рейтинг книги
Вернувшийся: Посол. Том IV

Вперед в прошлое 2

Ратманов Денис
2. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 2

Неучтенный элемент. Том 2

NikL
2. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 2

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

Наша навсегда

Зайцева Мария
2. Наша
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Наша навсегда