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

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

Жанры

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).

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

Стеллар. Трибут

Прокофьев Роман Юрьевич
2. Стеллар
Фантастика:
боевая фантастика
рпг
8.75
рейтинг книги
Стеллар. Трибут

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Совершенно несекретно

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

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Прометей: каменный век II

Рави Ивар
2. Прометей
Фантастика:
альтернативная история
7.40
рейтинг книги
Прометей: каменный век II

Единственная для темного эльфа 3

Мазарин Ан
3. Мир Верея. Драконья невеста
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Единственная для темного эльфа 3

Жандарм

Семин Никита
1. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
4.11
рейтинг книги
Жандарм

Долгий путь домой

Русич Антон
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
6.20
рейтинг книги
Долгий путь домой

Прогрессор поневоле

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

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

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

Я еще не барон

Дрейк Сириус
1. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще не барон

Лолита

Набоков Владимир Владимирович
Проза:
классическая проза
современная проза
8.05
рейтинг книги
Лолита