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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

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

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

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

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

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

<method>
методам.

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

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

Замечание

Создаваемый мастером внутренний объект нужен только в иллюстративных целях, т.к. здесь наглядно видно, какие именно свойства и методы будет предоставлять клиентам автоматизации компонент-сценарий. Если убрать из контейнера

<script>
описание внутреннего объекта, это никак не скажется на функционировании объекта-сценария.

Доработка объекта-сценария DateArc.wsc (JScript)

Для получения нужного нам СОМ-объекта из сформированного с помощью Windows Script Component Wizard файла DateArc.wsc нужно выполнить несколько шагов.

Во-первых, для того, чтобы использовать внутри описания СОМ-объекта символы кириллицы, необходимо добавить в директиву

<?xml?>
аргумент
encoding="windows-1251"
(без этого в сценарии не удастся даже написать по-русски комментарии):

<?xml version="1.0" encoding="windows-1251"?>

Во-вторых, в контейнер

<registration>
мы вставим элемент
<script>
с двумя функциями
Register
и
Unregister
, которые будут выводить на экран диалоговые окна с соответствующей информацией при регистрации компонента-сценария и его отключении соответственно:

<script language="JScript">

<![CDATA[

var WshShell;

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

var vbInformation=64;

function Register {

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

 WshShell = new ActiveXObject("WScript.Shell");

 WshShell.Popup("Компонент зарегистрирован в системе",0,

"Компонент для архивирования файлов",vbInformation);

}

function Unregister {

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

 WshShell = new ActiveXObject("WScript.Shell");

 WshShell.Popup("Компонент удален из системы", 0,

"Компонент для архивирования файлов",vbInformation);

}

]]>

</script>

Затем нам понадобятся две дополнительные функции. Первая из них

NowIs
формирует строку формата ММДД, где ММ — текущий месяц, ДД — текущий день:

//Вспомогательная функция для символьного представления даты

function NowIs {

 var d, s="", s1="";

 //Создаем объект Date (текущая дата)

 d=new Date;

 //Выделяем номер месяца

 s+=(d.getMonth+1);

 //Если месяц представляется одним символом, добавляем слева "0"

 if (s.length==1) s="0"+s;

 //Выделяем в дате день

 s1+=d.getDate;

 //Если день представляется одним символом, добавляем слева "0"

 if (s1.length==1) s1="0"+s1;

 s+=s1;

 //Возвращаем сформированную строку

 return s;

}

Вторая функция

CheckPath
будет проверять наличие исходного каталога и каталога для хранения архивных файлов. Для этого используется метод
FolderExists
объекта
FileSystemObject
. Заметим, что сам объект
FileSystemObject
нужно создавать не путем вызова метода
CreateObject
объекта
WScript
, а с помощью конструкции
new ActiveXObject
:

FSO=new ActiveXObject("Scripting.FileSystemObject");

т.к. в отличие от обычного сценария WSH в компоненте-сценарии нет встроенного объекта

WScript
. Если хотя бы один из каталогов не существует, функция
CheckPath
запишет соответствующее сообщение в свойство
SErrMess
и вернет значение
false
, в противном случае функция
CheckPath
возвращает значение
true
.

//Проверка доступности каталогов

function CheckPath {

 var FSO;

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

 FSO=new ActiveXObject("Scripting.FileSystemObject");

 //Проверяем доступность исходного каталога

 if (!FSO.FolderExists(SFrom)) { //Исходный каталог не существует

//Формируем строку с информацией об ошибке

SErrMess="Не найден исходный каталог "+SFrom;

return false;

 }

 //Проверяем доступность каталога для архивирования

 if (!FSO.FolderExists(SArch)) {

//Каталог для архивирования не существует

//Формируем строку с информацией об ошибке

SErrMess="Не найден каталог для хранения архивов "+SArch;

return false;

 }

 //Если оба каталога существуют, возвращаем true

 return true;

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

Сильнейший Столп Империи. Книга 5

Ермоленков Алексей
5. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 5

Я еще граф. Книга #8

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

Кодекс Охотника. Книга XV

Винокуров Юрий
15. Кодекс Охотника
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XV

Дважды одаренный. Том IV

Тарс Элиан
4. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
7.00
рейтинг книги
Дважды одаренный. Том IV

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Деревенщина в Пекине 2

Афанасьев Семён
2. Пекин
Фантастика:
попаданцы
дорама
фантастика: прочее
5.00
рейтинг книги
Деревенщина в Пекине 2

Я снова царь. Книга XXXIII

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

Запрети любить

Джейн Анна
1. Навсегда в моем сердце
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Запрети любить

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Руководство по системной поведенченской психотерапии

Курпатов Андрей Владимирович
Научно-образовательная:
психотерапия и консультирование
5.00
рейтинг книги
Руководство по системной поведенченской психотерапии

Древесный маг Орловского княжества 13

Павлов Игорь Васильевич
13. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 13

История западной философии

Рассел Бертран Артур Уильям
Пути философии
Научно-образовательная:
история
философия
культурология
5.00
рейтинг книги
История западной философии

Цикл романов "Целитель". Компиляция. Книги 1-17

Большаков Валерий Петрович
Целитель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Цикл романов Целитель. Компиляция. Книги 1-17

Кукла

Прус Болеслав
Проза:
классическая проза
8.87
рейтинг книги
Кукла