Сделай Сам Свою Работу на 5

Функции и объекты ядра VBScript





Ядро VBScript предоставляет программисту большой набор встроенных функций для работы с датами, строковыми подтипами данных, вычисления математических функций и отображения информационных диалоговых окон и окон ввода информации пользователем.

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

Таблица 9.11. Математические функции VBScript

Функция Действие
Abs Вычисляет абсолютное значение
Atn Вычисляет значение арктангенса своего параметра
Cos Вычисляет значение косинуса угла, заданного в радианах
Exp Экспоненциальная функция: еx
Int Целая часть числа
Log Вычисляет натуральный логарифм своего параметра
Sin Вычисляет значение синуса угла, заданного в радианах
Sqr Вычисляет значение квадратного корня своего параметра
Tan Вычисляет значение тангенса угла, заданного в радианах

Получить текущее время, текущую дату, а также одновременно и дату, и время, установленные на компьютере пользователя, можно с помощью функций Time, Date и Now. Эти три процедуры-функции не требуют параметров, поэтому при их использовании в выражениях следует задавать открывающую и закрывающую скобки, указывающие на отсутствие параметров, как показано в следующем фрагменте кода:



iTime = Time() ' переменная iTime содержит текущее время
iDate = Date() ' переменная iDate содержит текущую дату
iDateTime = Now() ' переменная iDateTime содержит текущую дату и время

Что хранится в этих переменных, зависит от системных установок времени и даты, определенных на компьютере пользователя. Например, на компьютере с установленным форматом времени Ч:мм:сс и даты дд.ММ.гг печать в документе значений переменных предыдущего фрагмента кода будет выглядеть следующим образом:

14:49:31 ' Значение переменной iTime
23.06.99 ' Значение переменной iDate
23.06.99 14:49:31 ' Значение переменной iDateTime

Если какая-либо переменная содержит значение подтипа Date, или ее содержимое может быть преобразовано в этот подтип, то функции Day (переменная), Month (переменная) И Year (переменная) возвращают соответственно число, месяц и год даты, не зависимо от формата хранения дат на компьютере пользователя. Функции Hour (переменная), Minute (переменная) и second (переменная) возвращают целые числа, соответствующие часам, минутам и секундам времени, хранящимся в переменной, являющейся параметром этих функций.



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

Функция Len(строка) возвращает число символов в строке с учетом лидирующих и замыкающих пробелов. Если пользователь ввел в поле формы строку " строка " с двумя пробелами в начале и одним пробелом в конце, то эта функция возвратит значение 9. Для удаления незначащих пробелов в Yачале или конце строки можно обратиться к функциям Ltrim, Rtrim и Trim, которые, соответственно, удаляют лидирующие, замыкающие или оба типа пробелов из строки, переданной этим функциям в качестве параметров.

Функции Lcase и Ucase переводят все содержимое строки соответственно в нижний или верхний регистр.

Для сравнения Двух строк используется функция StrComp( строка 1, строка2, метод_сравнения). Она возвращает значение 0 (если строки совпадают в соответствии с методом сравнения, заданным третьим параметром функции), значение -1 (если строка1 меньше строки2) и значение 1 в любом не совпадающем с двумя предыдущими случае. Параметр метод_сравнения может принимать два значения: 0 — строки сравниваются с учетом регистра,1 — строки сравниваются без учета регистра.

Функция InStr(нач_позиция, строка1, строка2, метод_сравнения) позволяет определить, содержится ли строка2 в строке1. Параметр нач_позиция задает позицию в строке1, с которой начинается поиск подстроки, заданной параметром строка2. Это достаточно полезно, если известно, что строка1 содержит несколько вхождений строки2. Параметр метод_сравнения определяет, учитывается ли регистр при поиске соответствующей подстроки, и совпадает с аналогичным параметром функции strComp. Функция поиска подстроки intstr возвращает номер позиции в строке1 первого вхождения строки2, если такое найдено, и значение 0 — в противном случае.



Две стандартные функции InputBox и MsgBox позволяют отобразить диалоговое окно с полем ввода и диалоговое окно с сообщением пользователю.

Функция InputBox отображает диалоговое окно с полем ввода и двумя кнопками: ОК и Cancel (Отмена). Она имеет следующий синтаксис:

InputBox(подсказка, заголовок, умалч_знач, х, у)

Строковые параметры подсказка и заголовок задают соответственно подсказку для пользователя и заголовок диалогового окна. Параметр умалч_знач определяет значение, выводимое в поле ввода при отображении окна. Необязательные два последних параметра задают в твипах (1 твип = 1/1440 дюйма = = 1/20 пойнта) координаты левого верхнего угла диалогового окна относительно левого верхнего угла окна браузера.

Эта функция возвращает значение строки, введенной пользователем, или заданное умалчиваемое значение при нажатии кнопки ОК. При нажатии кнопки Cancel возвращаемое функцией значение равно Empty. На рис. 9.14 показано диалоговое окно, отображаемое оператором:

IC = InputBox("Введите Ваш регистрационный номер.", "Регистрация", "")

Рис. 9.14. Диалоговое окно, отображаемое функцией InputBox

С помощью функции MsgBox можно не только просто информировать пользователя о возникших проблемах, но и предоставить ему возможность разрешить ее некоторыми стандартными способами. Например, если не удается из сценария связаться с каким-нибудь сервером, пользователь может отказаться от этого действия, повторить его или отменить. Подобное взаимодействие осуществляется отображением диалоговых окон разных типов, задаваемых значением соответствующего параметра функции MsgBox. Синтаксис вызова этой функции следующий:

IC=MsgBox(строка_сообщения, тип_окна, заголовок_окна)

Параметр строка_сообщения задает строку сообщения, отображаемую в диалоговом окне, параметр заголовок_окна определяет надпись в заголовке окна, а параметр тип_окна задает тип отображаемого окна. Он является целым числом и его значение определяется как сумма трех целочисленных подпараметров, задающих элементы диалогового окна. Эти подпараметры определяют количество и типы кнопок, тип значка и умалчиваемую кнопку, отображаемые в диалоговом окне. Значения этих параметров представлены в табл. 9.12.

Таблица 9.12. Значения подпараметров вида диалогового окна

Типы кнопок
Значение Результат
Отображается одна кнопка ОК
Отображаются кнопки ОК и Cancel (Отмена)
Отображаются кнопки Abort (Стоп), Retry (Повтор) и Ignore (Пропустить)
Отображаются кнопки Yes (Да), No (Нет) и Cancel
Отображаются кнопки Yes и No
Отображаются кнопки Retry (Повтор) и Cancel
Типы значков
Значение Результат
Никакой значок не отображается
Отображается значок Стоп
Отображается значок Вопрос
Отображается значок Восклицание
Отображается значок Информация
Умалчиваемая кнопка
Значение Результат
Первая кнопка
Вторая кнопка
Третья кнопка

Примечание

Надписи на кнопках отображаются в зависимости от используемой операционной системы. В таблице в скобках после английского названия кнопок указано их название при работе в русской версии Windows 95.

Если необходимо отобразить диалоговое окно с тремя кнопками Yes, No и Cancel (значение подпараметра равно 3), со значком Восклицание (значение подпараметра равно 48) и третьей кнопкой (Cancel) по умолчанию (значение подпараметра равно 512), то необходимо при вызове функции MsgBox в качестве значения параметра тип_окна указать 563 (3+48+512), как показано в следующем примере:

MsgBox "Вы действительно хотите завершить процесс?", 563,"Сообщение"

Результат выполнения этого оператора можно увидеть на рис. 9.15.

Рис. 9.15. Диалоговое окно, отображаемое функцией MsgBox

Функция MsgBox возвращает целочисленное значение, по которому можно определить, какая кнопка была нажата, и предпринять необходимые действия. Коды возврата функции показаны в табл. 9.13.

Таблица 9.13. Коды возврата функции MsgBox

Возвращаемое значение Нажата кнопка
ОК
Cancel (Отмена)
Abort (Стоп)
Retry (Повтор)
Ignore (Пропустить)
Yes (Да)
No (Нет)

VBScript предоставляет ряд объектов, не связанных с объектной моделью HTML-страницы и предназначенных для сценариев, выполняющихся на сервере. Это объекты для работы с файловой системой: дисками, папками и файлами. Свойства и методы этих объектов позволяют получать информацию о файлах, расположенных на компьютере, на котором выполняется сценарий. Потенциально их можно включать в сценарии HTML-страниц, но вероятность их выполнения мала, так как при попытке использования подобных объектов браузер отображает предупреждающее сообщение (рис. 9.16), и пользователь может отказаться от дальнейшего выполнения сценария.

Рис. 9.16. Сообщение браузера при использовании в сценарии объектов доступа к файлам

Здесь дадим краткое описание использования подобных объектов на примере объектов FileSystemObjects (Объекты файловой системы), так как с их помощью можно быстро решить какие-то свои домашние задачи, не обращаясь к "серьезным" системам программирования.

Прежде чем использовать методы и свойства любого объекта VBScript, его необходимо создать. Это достигается использованием оператора set совместно С функцией CreateObj ect:

Dim fso, MyFile

Set fso = CreateObject("Scripting.FileSystemObject")

Сначала описывается переменная fso, в которой будет храниться ссылка на объект файловой системы, а затем в операторе set создается сам объект, и в переменную заносится ссылка на него. Теперь можно использовать все методы и свойства созданного объекта, применяя обычную точечную нотацию объектно-ориентированных технологий. Например, в следующем фрагменте кода создается объект Textstream, метод WriteLine которого записывает строку текста в файл:

Set MyFile = fso.CreateTextFile("a:\testfile.txt", True)

MyFile.WriteLine("Проверка записи в файл из VBScript.")

MyFile.Close

Если выполнить приведенные два фрагмента кода в одном сценарии, то на дискете будет создан новый файл, содержащий одну текстовую строку.

Примечание

Создание нового объекта всегда осуществляется с помощью оператора Set. т После знака равенства указывается конструктор объекта— функция, возвращающим значением которой является объект. Конструктор может иметь параметры.

Совет

Описание всех объектов VBScript можно найти на сервере фирмы Microsoft по адресу http://msdn.microsoft.com. С него же можно установить на свой компьютер документацию по языку сценариев VBScript.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.