Андрей Попов - Windows Script Host для Windows 2000/XP Страница 114
- Категория: Компьютеры и Интернет / Программное обеспечение
- Автор: Андрей Попов
- Год выпуска: -
- ISBN: -
- Издательство: -
- Страниц: 175
- Добавлено: 2019-07-03 10:23:51
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Андрей Попов - Windows Script Host для Windows 2000/XP» бесплатно полную версию:В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Андрей Попов - Windows Script Host для Windows 2000/XP читать онлайн бесплатно
 this.House=House;      //Дом
 this.App=App;          //Квартира
 this.Note=Note;        //Примечание
}
//Определение значения тега tgName XML-элемента obj
function GetTagVal(obj, tgName) {
В var ElemList;
 //Создаем коллекцию дочерних для obj элементов, которые
 //задаются тегом tgName
В ElemList=obj.getElementsByTagName(tgName);
 //Проверяем, есть ли в коллекции ElemList элементы
В if (ElemList.length>0)
 //Возвращаем значение тега tgName
В return ElemList.item(0).text
В else return "";
}
//Заполнение нового элемента массива
function PersonToArray(XNode) {
 //Создаем новый экземпляр PersonRec объекта Person
В PersonRec=new Person();
 //Заполняем поля объекта PersonRec
В PersonRec.LastName=GetTagVal(XNode,"LastName");
В PersonRec.Name=GetTagVal(XNode,"Name");
В PersonRec.Phone=GetTagVal(XNode,"Phone");
В PersonRec.Street=GetTagVal(XNode,"Street");
В PersonRec.House=GetTagVal(XNode,"House");
В PersonRec.App=GetTagVal(XNode,"App");
В PersonRec.Note=GetTagVal(XNode,"Note");
 //Сохраняем объект PersonRec в массиве
В PersonArr[PersonArr.length]=PersonRec;
}
//Создание массива объектов 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 (http://msdn.microsoft.com/data/download.htm).
Мы не будем здесь останавливаться на объектной модели и принципах работы ADO (желающие подробнее разобраться с этими вопросами могут обратиться к документации MSDN), а здесь лишь разберем несколько конкретных примеров работы с таблицей самой простой структуры: DBF- формата (до появления XML формат DBF широко применялся для обмена данными между разными автоматизированными системами, да и сейчас продолжает поддерживаться многими производителями программных продуктов). Как и в предыдущих главах, здесь будут использоваться данные записной книжки (ниже мы создадим сценарий, который будет копировать в таблицу информацию из XML-файла book.xml, с которым мы работали ранее).
Жалоба
Напишите нам, и мы в срочном порядке примем меры.