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

на главную

Жанры

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

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

Горькие ягодки

Вайз Мариэлла
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Горькие ягодки

Сама себе хозяйка

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

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

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

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

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

Огни Аль-Тура. Завоеванная

Макушева Магда
4. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Аль-Тура. Завоеванная

Законы Рода. Том 7

Flow Ascold
7. Граф Берестьев
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Законы Рода. Том 7

Жандарм 2

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

Измена. Мой заклятый дракон

Марлин Юлия
Любовные романы:
любовно-фантастические романы
7.50
рейтинг книги
Измена. Мой заклятый дракон

Его темная целительница

Крааш Кира
2. Любовь среди туманов
Фантастика:
фэнтези
5.75
рейтинг книги
Его темная целительница

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

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V

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

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

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Real-Rpg. Город гоблинов

Жгулёв Пётр Николаевич
1. Real-Rpg
Фантастика:
фэнтези
7.81
рейтинг книги
Real-Rpg. Город гоблинов

Венецианский купец

Распопов Дмитрий Викторович
1. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
7.31
рейтинг книги
Венецианский купец