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

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

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

Функции для работы с массивами

В табл. П2.17 приведены функции, с помощью которых можно создавать новые массивы и получать сведения об уже имеющихся.

Таблица П2.17. Функции для работы с массивами

Функция Описание 
Array(arglist)
 
Возвращает значение типа
Variant
, которое является массивом, составленным из элементов списка
arglist
. Отдельные элементы в
arglist
должны быть отделены друг от друга запятой 
IsArray(varname)
 
Возвращает
true
, если переменная
varname
является массивом, и
false
в противном случае 
LBound(arrayname[, dimension])
 
Возвращает
наименьшее значение, которое может принимать индекс в массиве
arrayname
. Параметр
dimension
определяет, для какой именно размерности массива мы ищем это наименьшее значение (1 для первой размерности, 2 для второй размерности и т.д.). По умолчанию
dimension
равно 1 
UBound(arrayname[, dimension])
 
Возвращает наибольшее значение, которое может принимать индекс в массиве
arrayname
. Параметр
dimension
определяет, для какой именно размерности массива мы ищем это наибольшее значение (1 для первой размерности, 2 для второй размерности и т.д.). По умолчанию
dimension
равно 1 

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

При рассмотрении подтипов данных мы уже описывали функции конвертации, которые применяются для преобразования переменной к тому или иному подтипу (см. табл. П2.9).

В табл. П2.18 приведены функции, с помощью которых можно узнать, к какому подтипу принадлежит заданная переменная.

Таблица П2.18. Функции для работы с подтипами данных

Функция Описание 
IsArray(expr)
 
Возвращает
true
, если параметр
expr
является массивом, и
false
в противном случае 
IsDate(expr)
 
Возвращает
true
, если параметр
expr
задает корректную дату (т. е. переменная expr является переменной подтипа
Date
), и
false
в противном случае 
IsEmptу(expr)
 
Возвращает
true
, если переменная
expr
объявлена, но не инициализирована 
IsNull(expr)
 
Возвращает
true
, если переменная
expr
не содержит никаких корректных данных 
IsNumeric(expr)
 
Возвращает
true
, если выражение
expr
может быть рассмотрено в качестве числа, и
false
в противном случае 
IsObject(expr)
 
Возвращает
true
, если переменная
expr
является указателем на внешний объект, и
false
в противном случае 
VarType(varname)
 
Возвращает числовое значение, соответствующее подтипу переменной
varname
(см. табл. П2.8)

Прочие функции

Опишем еще несколько часто используемых функций (табл. П2.19).

Таблица П2.19. Некоторые прочие функции

Функция Описание
CreateObject(servername.typename[, location])
Создает экземпляр объекта-сервера автоматизации и возвращает ссылку на него. Здесь
servername
— имя приложения, являющегося сервером;
typename
— тип или класс создаваемого объекта;
location
— сетевое имя компьютера, на котором будет создан объект
GetObject([pathname][, classname])
Возвращает ссылку на объект класса
classname
, который хранится в отдельном файле, путь к которому задается параметром
pathname
Hex(number)
Возвращает шестнадцатеричное представление (в символьном виде) числа
number
InputBox(prompt[, title] [, default] [, xpos][,ypos] [, helpfile, context])
Выводит на экран диалоговое окно со строкой ввода и кнопками OK, Отмена и возвращает введенную в этом окне
символьную строку. Параметр
prompt
задает сообщение, которое печатается перед строкой ввода;
title
определяет заголовок диалогового окна;
default
— значение, которое выводится по умолчанию в строку ввода. Параметры
xpos
и
ypos
определяют координаты левого верхнего угла окна. В случае необходимости элементам диалогового окна можно сопоставить контекстно-зависимую помощь. Параметр
helpfile
задает путь к файлу помощи, а число
context
— идентификатор содержания помощи
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Выводит на экран диалоговое окно с сообщением и различными кнопками и возвращает результат нажатия на одну из кнопок (возможные варианты возвращаемых функцией значений приведены в табл. П2.6). Параметр
prompt
задает сообщение,
title
определяет заголовок диалогового окна. Числовой параметр
buttons
определяет, какие именно кнопки должны быть представлены в окне (возможные значения этого параметра приведены в табл. П2.5). Параметры
helpfile
и
context
имеют то же значение, что и в функции
InputBox
Oct(number)
Возвращает восьмеричное представление (в символьном виде) числа
number

Функции и процедуры пользователя

Для определения процедуры, т.е. подпрограммы, которая не возвращает никакого значения, в VBScript используется конструкция

Sub…End Sub
. После названия процедуры в круглых скобках указывается список ее параметров, например:

Sub MyProcedure(Param1, Param2)

 Dim Sum

 Sum = Param1+Param2

End Sub

Если процедура не имеет параметров, то в скобках после имени ничего указывать не нужно:

Sub MyProcedure

 …

End Sub

Вызывать процедуру из сценария можно двумя способами. Во-первых, можно просто написать имя нужной процедуры и указать через пробел список передаваемых параметров, например:

MyProcedure 3,10

Во-вторых, можно использовать специальный оператор

Call
, при этом список параметров обязательно должен быть заключен в круглые скобки:

Call MyProcedure(3, 10)

Для определения функции, т.е. подпрограммы, которая возвращает определенное значение, применяется конструкция

Function…End Function
. Как и при описании процедур, после названия функции в круглых скобках указывается список ее параметров, например:

Function MyFunction(Param1, Param2)

 …

End Function

Для того чтобы возвратить из функции какое-либо значение, нужно внутри функции присвоить это значение переменной, название которой совпадает с именем функции:

Function MyFunction(Param1, Param2)

Dim Sum

 Sum = Param1 + Param2

MyFunction = Sum

End Function

Если возвращаемое функцией значение не нужно присваивать никакой переменной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов:

MyFunction 3, 5

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

Dim а

а = MyFunction(3, 5)

Приложение 3

Средства разработки и отладки сценариев 

В принципе, можно создавать сценарии в Блокноте Windows или в текстовых редакторах файловых оболочек типа Far Manager, а отлаживать их с помощью вывода в нужных местах сценария значений переменных на экран (метод

Echo
объекта
WScript
), однако при разработке больших сложных сценариев намного удобнее работать со специализированными редакторами и отладчиками.

Создание и редактирование сценариев

Одним из наиболее мощных и удобных редакторов сценариев для Windows является Primalscript, который разработан компанией SAPIEN Technologies, Inc. Последней на момент написания книги являлась версия Primalscript 2.2, ознакомительная 40-дневная версия которой может быть получена с сайта SAPIEN .

Редактор Primalscript

Редактор Primalscript поддерживает среду разработки практически для всех распространенных языков сценариев: JScript, VBScript, Perl, Python, Rexx, TCL, WinBatch, LotusScript и т.д. Для нас самым важным является то, что в Primalscript 2.2 полностью реализована поддержка Windows Script Host 5.6.

Ниже будут описаны основные операции, которые позволяет выполнить Primalscript при работе со сценариями.

Создание нового одиночного сценария 

Для того чтобы создать новый одиночный сценарий (например, на языке JScript или VBScript), нужно выбрать пункт меню File|New, после чего на экран будет выведено диалоговое окно New, на вкладке Files которого представлен список поддерживаемых типов сценариев (рис. П3.1).

Рис. П3.1. Создание нового сценария — список типов файлов, поддерживаемых Primalscript

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

Личинка

Привалов Сергей
1. Звездный Бродяга
Фантастика:
боевая фантастика
космическая фантастика
рпг
попаданцы
5.00
рейтинг книги
Личинка

Крымская война

Семанов Сергей Николаевич
Великие войны
Проза:
историческая проза
5.00
рейтинг книги
Крымская война

Я еще не бог. Книга XXXV

Дрейк Сириус
35. Дорогой барон!
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Я еще не бог. Книга XXXV

Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Замуж второй раз, или Ещё посмотрим, кто из нас попал!

Потерянный разум

Кара-Мурза Сергей Георгиевич
Научно-образовательная:
политика
5.00
рейтинг книги
Потерянный разум

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Лекарь Империи 9

Карелин Сергей Витальевич
9. Лекарь Империи
Фантастика:
городское фэнтези
аниме
боевая фантастика
5.00
рейтинг книги
Лекарь Империи 9

Жизнь без старости

Скулачев Максим В.
Академик Скулачев
Научно-образовательная:
биология
биохимия
5.29
рейтинг книги
Жизнь без старости

Блюда из птицы. Разнообразные меню для будней и праздников

Алькаев Эдуард Николаевич
Высокая кухня
Дом и Семья:
кулинария
5.00
рейтинг книги
Блюда из птицы. Разнообразные меню для будней и праздников

Дом в овраге

Варго Александр
MYST. Черная книга 18+
Детективы:
триллеры
9.14
рейтинг книги
Дом в овраге

Как разнообразить себе жизнь

Фели-Фея
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Как разнообразить себе жизнь

Серые сутки

Сай Ярослав
4. Медорфенов
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Серые сутки

Наложница визиря

Спиид Джон
Любовные романы:
исторические любовные романы
5.00
рейтинг книги
Наложница визиря

Я снова князь. Книга XXIII

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