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

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

На нашем литературном портале можно бесплатно читать книгу Андрей Попов - Windows Script Host для Windows 2000/XP, Андрей Попов . Жанр: Программное обеспечение. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Андрей Попов - Windows Script Host для Windows 2000/XP
Название: Windows Script Host для Windows 2000/XP
ISBN: -
Год: -
Дата добавления: 3 июль 2019
Количество просмотров: 328
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

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-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Перейти на страницу:

//Определяем число полей в наборе данных

RS_NomFields = RS.Fields.Count;

//Определяем число записей в наборе данных

RS_NomRecs = RS.RecordCount;

В переменной SOut будет формироваться текст для вывода на экран:

SOut="ТАБЛРЦА Phone СОДЕРЖРРў "+NomFields+" ПОЛЯ(ЕЙ):nn";

Для получения списка полей мы перебираем в цикле for все элементы коллекции Fields:

//Перебираем все поля набора данных RS

for (i=0; i<RS.Fields.Count; i++) {

 //Формируем строку с номером и именем поля таблицы

 SOut+"Поле N "+i+": "+RS.Fields(i).Name+"n";

}

После завершения цикла к переменной SOut добавляется информация о количестве записей, набор записей RS закрывается и значение переменной SOut выводится на экран:

SOut+="nР "+NomRecs+" Р—РђРџРРЎР¬(ЕЙ)";

//Закрываем объект Recordset

RS.Close();

//Выводим на экран строку SOut

WScript.Echo(SOut);

Листинг 9.4. Получение информации о полях таблицы

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

/* РРјСЏ: TableInfo.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                   */

/* Описание: Получение информации о полях таблицы                  */

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

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

var

 RS,       //Экземпляр объекта Recordset

 SSource,  //Строка с текстом SQL-запроса к БД

 SConnect, //Строка с параметрами соединения с БД

 SOut,     //Строка, в которой сохраняется выходная информация

 NomField, //Количество полей в таблице

 NomRecs,  //Количество записей в таблице

В i;

//Формируем SQL-запрос к таблице Phone

SSource = "SELECT * FROM Phone";

//Формируем строку с параметрами соединения с БД

//(указываем нужный DSN)

SConnect = "DSN=PhoneDS";

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

RS=WScript.CreateObject("ADODB.Recordset");

//Задаем статический курсор

RS.CursorType = 3;

//Открываем набор записей-результат запроса

RS.Open(SSource,SConnect);

//Определяем число полей в наборе данных RS

NomFields = RS.Fields.Count;

//Определяем число записей в наборе данных RS

NomRecs = RS.RecordCount;

SOut="ТАБЛРЦА Phone СОДЕРЖРРў "+NomFields+" ПОЛЯ(ЕЙ):nn";

//Перебираем все поля набора данных RS

for (i=0; i<RS.Fields.Count; i++) {

 //Формируем строку с номером и именем поля таблицы

 SOut+="Поле N "+i+": "+RS.Fields(i).Name+"n";

}

SOut+="nР "+NomRecs+" Р—РђРџРРЎР¬(ЕЙ)";

//Закрываем объект Recordset

RS.Close();

//Выводим на экран строку SOut

WScript.Echo(SOut);

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

Сортировка записей в таблице 

Рспользуя предложение ORDER BY РІ операторе SELECT, РјРѕР¶РЅРѕ получить РёР· источника данных записи, отсортированные РїРѕ какому-либо полю. Например, следующий SQL-запрос

SELECT * FROM Phone ORDER BY LastName

вернет упорядоченный по полю LastName набор, содержащий все записи из таблицы Phone (рис. 9.12).

Рис. 9.12. Сортировка записей таблицы Phone по полю LastName


Мы напишем сценарий SortRecords.wsf, с помощью которого можно будет выводить записи из таблицы Phone, отсортированные либо по фамилии (поле LastName), либо по телефону (поле Phone). Выбор осуществляется с помощью ввода соответствующего значения в диалоговом окне (рис. 9.13).

Рис. 9.13. Выбор поля для сортировки


Само диалоговое окно реализуется с помощью VBScript-функции WSHInputBox(Message, Title):

Function WSHInputBox(Message, Title)

 'Выводим диалоговое окно со строкой ввода

В WSHInputBox = InputBox(Message,Title)

End Function

Эта функция вызывается из написанной на JScript части сценария следующим образом:

//Формируем текст сообщения в диалоговом окне ввода

SMenu="1 - Сортировка по фамилииn";

SMenu+="2 - Сортировка по телефонуn";

SMenu+="nnКоманда:";

//Выводим диалоговое окно для ввода режима сортировки

Res=WSHInputBox(SMenu, "Работа с базой данных");

Введенное в диалоговом окне значение записывается в переменную Res и анализируется в операторе switch:

//Анализируем введенное значение

switch (Res) {

case "1": {

В SSort="LastName";

В break;

}

case "2": {

В SSort="Phone";

В break;

}

default: {

 WScript.Echo("Вы ввели неправильное значение!");

В WScript.Quit();

}

}

После того как в переменную SSort занесено имя поля, по которому нужно производить сортировку, мы можем полностью сформировать нужный SQL-запрос к таблице Phone:

//Формируем SQL-запрос к таблице Phone SSource = "SELECT * FROM Phone ORDER BY "+SSort;

Оставшаяся часть сценария взята из сценария ListRecords1.js и комментариев не требует.

Полностью текст сценария SortRecords.wsf приведен в листинге 9.5.

Листинг 9.5. Сортировка записей в таблице по заданному полю

<job id="SortRecs">

<runtime>

<description>

РРјСЏ: SortRecords.wsf

Описание: Сортировка записей таблицы БД по заданному полю

</description>

</runtime>

<script language="VBScript">

'Функция для реализации диалогового окна со строкой ввода

'в сценариях JScript

Function WSHInputBox(Message,Title)

'Выводим диалоговое окно со строкой ввода

WSHInputBox = InputBox(Message,Title)

End Function

Перейти на страницу:
Комментариев (0)