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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

Для того чтобы вызвать наступление события, внутри элемента

<script>
используется функция
fireEvent
с именем нужного события в качестве параметра.

Элементы <resource>, <object> и <reference>

Элементы

<resource>
,
<object>
и
<reference>
имеют тот же смысл, что и в модели WS XML (см. описание этих элементов в главе 3).

Элемент <script>

В

элементе
<script>
приводится сценарий на языках JScript или VBScript, который определяет поведение создаваемого СОМ-объекта — здесь нужно задать глобальные переменные, соответствующие объявленным в элементах
<property>
свойствам объекта, описать функции или процедуры для объявленных с помощью элементов
<method>
методов объекта и т.д.

Перейдем теперь к рассмотрению конкретного примера, для которого мы подробно опишем создание компонента-сценария, регистрацию его в системе в качестве СОМ-объекта и использование этого объекта в JScript-сценарии.

Пример: СОМ-объект для архивирования файлов

Представим себе следующую ситуацию. Имеется несколько каталогов на жестком диске, в которых хранятся рабочие файлы разных пользователей. Необходимо каждый день с помощью программы-архиватора arj.exe делать архивы этих файлов в заданный каталог, при этом имя архивного файла должно соответствовать шаблону ппММДД.arj", где пп — уникальный для каждого пользователя префикс, ММ — текущий месяц, ДД — текущий день.

Мы создадим компонент-сценарий

DateArc.WSC
, с помощью свойств и методов которого можно будет выполнить поставленную задачу.

Начнем мы с того, что определимся, какие именно свойства и методы будет содержать создаваемый объект (табл. 10.1).

Таблица 10.1. Свойства и методы объекта DateArc.WSC

Название Свойство/метод Режим доступа Описание
SFrom
Свойство Чтение/запись Исходный каталог для архивирования
SArch
Свойство Чтение/запись Каталог, в котором хранятся архивные файлы
SPref
Свойство Чтение/запись Префикс файла-архива
SMask
Свойство Чтение/запись Маска, по которой отбираются файлы для архивирования
SErrMess
Свойство Чтение Текст сообщения об ошибке
FilesToArchiv
Метод   Метод, осуществляющий архивирование файлов

Имея зарегистрированный в системе СОМ-объект с такими свойствами и методами, несложно написать сценарий (назовем его RunArj.js), в котором создавался бы экземпляр объекта

DateArc.WSC
и производилось с помощью метода
FilesToArchiv
архивирование файлов из исходного в целевой каталог (листинг 10.2).

Листинг 10.2. Архивирование
файлов с помощью СОМ-объекта
DateArc.WSC

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

/* Имя: RunArj.js */

/* Язык: JScript */

/* Описание: Архивирование файлов с помощью COM-объекта DateArc.WSC */

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

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

var

 DateArc, //Экземпляр объекта DateArc.WSC

 Result; //Результат выполнения метода FilesToArchiv

//Инициализируем константы для диалоговых окон

var vbCritical=16,vbInformation=64;

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

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

//Создаем объект DateArc.WSC

DateArc=WScript.CreateObject("DateArc.WSC");

DateArc.SFrom="D:\\1"; //Исходный каталог

DateArc.SArch="D:\\2"; //Каталог, в который будут архивироваться

//файлы

DateArc.SPref="aa"; //Префикс для файл-архива

DateArc.SMask="*.*"; //Маска, по которой будут отбираться файлы

//для архивирования

//Запускаем метод FilesToArchiv

Result=DateArc.FilesToArchiv;

if (!Result)

 //Если возникла ошибка, выводим соответствующее сообщение

 WshShell.Popup(DateArc.SErrMess, 0, "Архивирование файлов", vbCritical);

else WshShell.Popup("Архивирование завершено успешно!", 0,

 "Архивирование файлов", vbInformation);

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

Создание макета файла DateArc.wsc с помощью Windows Script Component Wizard (JScript)

Из листинга 10.1 можно понять, что создание компонента-сценария связано с написанием большого количества вспомогательного кода (нужно заполнить элементы

<registration>
,
<property>
,
<method>
и
<events>
, написать функции для чтения и записи каждого из свойств объекта и т.д). Поэтому мы воспользуемся специальным мастером для создания компонентов-сценариев Windows Script Component Wizard (эту программу можно свободно получить с сайта Microsoft http://msdn.microsoft.com/scripting).

Первым шагом после запуска мастера является заполнение полей диалогового окна, представленного на рис. 10.1. Здесь нужно ввести имя создаваемого компонента ("DateArc"), имя файла с его описанием ("DateArc"), программный идентификатор ("DateArc.WSC"), версию компонента ("1.00") и каталог, в котором будет создан WSC-файл ("C:\WSC").

Рис. 10.1. Общая информация о создаваемом компоненте-сценарии

На втором шаге работы мастера мы выберем, какой язык будет использоваться при написании сценария ("JScript"), и укажем, что при регистрации и работе объекта нужно выполнять проверку ошибок ("Error checking") (рис. 10.2).

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

Второгодка. Книга 4. Подавать холодным

Ромов Дмитрий
4. Второгодка
Фантастика:
героическая фантастика
альтернативная история
сказочная фантастика
5.00
рейтинг книги
Второгодка. Книга 4. Подавать холодным

Я уже царь. Книга XXIX

Дрейк Сириус
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я уже царь. Книга XXIX

Неудержимый. Книга XXVI

Боярский Андрей
26. Неудержимый
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XXVI

Афганский рубеж

Дорин Михаил
1. Рубеж
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Афганский рубеж

Спокойный Ваня 2

Кожевников Павел Андреевич
2. Спокойный Ваня
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Спокойный Ваня 2

Развод с драконом. Отвергнутая целительница

Шашкова Алена
Фантастика:
фэнтези
4.75
рейтинг книги
Развод с драконом. Отвергнутая целительница

Московское золото и нежная попа комсомолки. Часть Четвертая

Хренов Алексей
4. Летчик Леха
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Четвертая

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Оживший камень

Кас Маркус
1. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Оживший камень

Двойник Короля

Скабер Артемий
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Двойник Короля

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Анти-Ксенонская Инициатива

Вайс Александр
7. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Анти-Ксенонская Инициатива

Камень. Книга пятая

Минин Станислав
5. Камень
Фантастика:
боевая фантастика
6.43
рейтинг книги
Камень. Книга пятая

Барон Дубов 8

Карелин Сергей Витальевич
8. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 8