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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

Рис. 10.2. Определение характеристик компонента-сценария

Третий шаг работы мастера позволяет описать свойства создаваемого объекта. Здесь для каждого свойства мы указываем его имя (колонка "Name"), тип ("Read" — только чтение, "Write" — только запись, "Read/Write" — чтение и запись) и значение по умолчанию (колонка "Default") (рис. 10.3).

Рис. 10.3. Задание свойств компонента-сценария

На

четвертом шаге описываются методы объекта. В нашем случае объект
DateArc.WSC
имеет единственный метод
FilesToArchiv
, вызываемый без параметров (рис. 10.4).

Рис. 10.4. Задание методов компонента-сценария

На пятом шаге нам предлагается указать, какие события могут возникать в объекте. Для нашего компонента-сценария мы не будем задавать никаких событий (рис. 10.5).

Рис. 10.5. Задание событий компонента-сценария

Шестой шаг является заключительным в работе мастера. Здесь нам выдается вся информация о создаваемом объекте (рис. 10.6). После нажатия кнопки Finish в каталоге C:\WSC будет создан файл DateArc.wsc, приведенный в листинге 10.3.

Рис. 10.6. Итоговая информация о создаваемом компоненте-сценарии

Листинг 10.3. Файл DateArc.wsc, сгенерированный программой Windows Script Component Wizard (JScript)

<?xml version="l.0"?>

<component>

 <?component error="true" debug="false"?>

 <registration description="DateArc" progid="DateArc.WSC" version="1.00" classid="{424ac2bc-5732-4dea-bel7-0211af99cd79}">

 </registration>

 <public>

<property name="SFrom">

<get/>

<put/>

</property>

<property name="SArch">

<get/>

<put/>

</property>

<property name="SPref">

<get/>

<put/>

</property>

<property name="SMask">

<get/>

<put/>

</property>

<property name="SErrMess">

<get/>

</property>

<method name="FilesToArchiv">

</method> </public>

<script language="JScript">

<![CDATA[

var description = new DateArc;

function DateArc {

 this.get_SFrom = get_SFrom;

 this.put_SFrom = put_SFrom;

 this.get_SArch = get_SArch;

 this.put_SArch = put_SArch;

 this.get_SPref = get_SPref;

 this.put_SPref = put_SPref;

 this.get_SMask = get_SMask;

 this.put_SMask = put_SMask;

 this.get_SErrMess = get_SErrMess;

 this.FilesToArchiv = FilesToArchiv;

}

var SFrom;

var SArch;

var SPref;

var SMask;

var SErrMess;

function get_SFrom {

 return SFrom;

}

function put_SFrom(newValue) {

 SFrom = newValue;

}

function get_SArch {

 return SArch;

}

function put_SArch(newValue) {

 SArch = newValue;

}

function get_SPref {

 return SPref;

}

function put_SPref(newValue) {

 SPref = newValue;

}

function get_SMask {

 return SMask;

}

function put_SMask(newValue) {

 SMask = newValue;

}

function get_SErrMess{

 return SErrMess;

}

function FilesToArchiv {

 return "Temporary Value";

}

]]>

 </script>

</component>

Как

мы видим из листинга 10.3, при использовании в компоненте-сценарии языка JScript в результате работы мастера внутрь контейнера
<script>
помещаются:

глобальные переменные, которые соответствуют объявленным в элементах

<property>
свойствам;

заготовки функций с префиксами

get_
и
put_
, которые осуществляют чтение и запись свойств объекта;

заготовки функций, которые соответствуют объявленным в элементах

<method>
методам.

Кроме этого, создается экземпляр внутреннего объекта, содержащего те же свойства и методы, что были описаны внутри элемента

<public>
(переменная
description
). Имя этого внутреннего объекта совпадает с именем класса описываемого СОМ-объекта (в нашем случае это "
DateArc
").

Поделиться с друзьями: