Шаг 63.
Операторы

    На этом шаге мы перечислим основные операторы и функции VBScript.

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

    Перечислим основные требования, предъявляемые к операторам.

    Они подчиняются принятым в математике правилам старшинства операций: сначала выполняется возведение в степень, затем умножение или деление, далее сложение или вычитание. Скобки изменяют последовательность вычисления операций.

    Объекты сравниваются с помощью специального оператора Is.

    Эти операции используются в условных операторах для вычисления выражений, истинность (или ложность) которых позволяет изменить порядок выполнения операторов.

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

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

Таблица 1. Математические функции VBScript
Функция Действия
Abs Вычисляет абсолютное значение аргумента
Atn Вычисляет значение арктангенса своего параметра
Cos Вычисляет значение косинуса угла, заданного в радианах
Ехр Экспоненциальная функция ex
Int Целая часть числа
Log Вычисляет натуральный логарифм своего параметра
Randomize Инициализирует генератор случайных чисел
Rnd Возвращает случайное число из промежутка от 0 до 1
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 (переменная) возвращают целые числа, соответствующие часам, минутам и секундам времени, хранящемся в переменной, являющейся параметром этих функций.

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

    Остальные функции перечислены в таблицах 2-4.

Таблица 2. Функции преобразования
Функция Действия
Round(<число>,<номер позиции>) Возвращает число, округленное до заданного числа десятичных позиций
Sgn (<число>) Возвращает целое число, отражающее знак аргумента. Если число отрицательное, то возвращается значение -1. Если число положительное, то возвращается 1. Если число равно нулю, то возвращается 0
Fix (<число>) Возвращает целое число, не превосходящее заданного числа. Например: Fix(1.2)=1, Fix(1.8)=1, Fix(-1.5)=-2

Таблица 3. Функции даты/времени
Функция Действия
Date() Возвращает текущую системную дату
DateSerial(<год>, <месяц>, <день>) Возвращает значение в формате Date для заданных года, месяца и дня. Все параметры натуральные
Day(<значение типа дата>) Возвращает число от 1 до 31, отражающее день месяца
Hour(<значение типа время>) Возвращает число от 0 до 23, отражающее часы дня
Minute(<значение типа время>) Возвращает число от 0 до 59, отражающее минуты
Month(<значение типа дата>) Возвращает число от 1 до 12, отражающее месяц в году
MonthName(<значение типа Month>) Возвращает название данного месяца в виде строки
Now() Возвращает текущие дату и время
Second(<значение типа время>) Возвращает число от 0 до 59, отражающее секунды
Time() Возвращает значение в формате Date для текущего системного времени
TimeSerial(<часы>, <минуты>, <секунды>) Возвращает значение в формате Date для заданных часа, минуты и секунды. Все параметры натуральные
WeekDay(<значение типа дата>) Возвращает число, отражающее день недели (1 - воскресенье)
WeekdayName(<параметр1>, <параметр2>, <параметр3>) Возвращает название данного дня недели в виде строки.
  • Параметр1 - значение целого типа в интервале от 1 до 7, представляющее день недели.
  • Параметр2 - значение логического типа, определяющее должно ли возвращаемое значение быть аббревиатурой. По умолчанию установлено значение False (полное название).
  • Параметр3 - указывает первый день недели, по умолчанию - 1 (воскресенье).
Второй и третий параметры не являются обязательными.
Year(<значение типа дата>) Возвращает число, отражающее год

Таблица 4. Строковые функции
Функция Действия
InStr (<начальная позиция поиска>, <строка>, <искомая подстрока>) Возвращает номер символа в строке, с которого начинается искомая подстрока
LСase(<строка>) Возвращает строку, все символы которой преобразованы в строчные (малые)
Left(<строка>,<количество символов>) Возвращает заданное число символов от левого конца строки
Len(<строка>) Возвращает длину строки
LTrim(<строка>) Возвращает копию строки без начальных пробелов
Mid(<строка>, <начальная позиция>, <количество символов>) Возвращает часть строки с заданной позиции и заданной длины
Replace(<исходная строка>, <последовательность символов, которую нужно заменить>, <последовательность символов, на которую нужно заменить>, <начальная позиция поиска (по умолчанию 1)>, <количество замен (по умолчанию равно -1, то есть заменить все>) Возвращает строку, в которой одна последовательность символов заменена на другую указанное количество раз. Последние два параметра не являются обязательными
Right(<строка>,<количество символов>) Возвращает заданное число символов от правого конца строки
RTrim(<строка>) Возвращает копию строки без конечных пробелов
Space(<число>) Возвращает строку, состоящую из заданного количества пробелов
StrComp(<строка1>, <строка2>, <метод сравнения>) Возвращает значение, отражающее результат сравнения строк
String(<количество символов>,< символ>) Возвращает строку заданной длины, образованную повторением одного символа
StrReverse(<строка>) Возвращает "отраженную" строку, в которой порядок символов противоположен исходной
Trim(<строка>) Возвращает копию строки без ограничивающих пробелов
UCase(<строка>) Возвращает строку, все символы которой преобразованы в прописные (большие)

    На следующем шаге мы рассмотрим синтаксис встроенных функций ввода/вывода.




Предыдущий шаг Содержание Следующий шаг