На этом шаге мы перечислим основные операторы и функции VBScript.
При вычислении выражений необходимо производить разнообразные действия с переменными и литералами. Для этих целей в VBScript предусмотрен ряд встроенных операторов, выполняющих арифметические операции, операции сравнения, конкатенацию (соединение) строк и логические операции над данными, хранящимися в переменных, или представленными литералами.
Перечислим основные требования, предъявляемые к операторам.
Они подчиняются принятым в математике правилам старшинства операций: сначала выполняется возведение в степень, затем умножение или деление, далее сложение или вычитание. Скобки изменяют последовательность вычисления операций.
Объекты сравниваются с помощью специального оператора Is.
Эти операции используются в условных операторах для вычисления выражений, истинность (или ложность) которых позволяет изменить порядок выполнения операторов.
VBScript предоставляет большой набор встроенных функций для работы с датами, строковыми подтипами данных, вычисления математических функций и отображения информационных диалоговых окон ввода информации пользователем.
Для вычисления стандартных математических функций используются процедуры и функции, представленные в таблице 1. В качестве параметров этих процедур могут выступать числовые литералы, переменные, содержащие числовые значения, или числовые выражения.
Если возникает необходимость получить текущее время, текущую дату, а также одновременно и дату, и время, установленные на компьютере пользователя, можно воспользоваться следующими функциями: 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.
Функция | Действия |
---|---|
Round(<число>,<номер позиции>) | Возвращает число, округленное до заданного числа десятичных позиций |
Sgn (<число>) | Возвращает целое число, отражающее знак аргумента. Если число отрицательное, то возвращается значение -1. Если число положительное, то возвращается 1. Если число равно нулю, то возвращается 0 |
Fix (<число>) | Возвращает целое число, не превосходящее заданного числа. Например: Fix(1.2)=1, Fix(1.8)=1, Fix(-1.5)=-2 |
Функция | Действия |
---|---|
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>) | Возвращает название данного дня недели в виде строки.
|
Year(<значение типа дата>) | Возвращает число, отражающее год |
Функция | Действия |
---|---|
InStr (<начальная позиция поиска>, <строка>, <искомая подстрока>) | Возвращает номер символа в строке, с которого начинается искомая подстрока |
LСase(<строка>) | Возвращает строку, все символы которой преобразованы в строчные (малые) |
Left(<строка>,<количество символов>) | Возвращает заданное число символов от левого конца строки |
Len(<строка>) | Возвращает длину строки |
LTrim(<строка>) | Возвращает копию строки без начальных пробелов |
Mid(<строка>, <начальная позиция>, <количество символов>) | Возвращает часть строки с заданной позиции и заданной длины |
Replace(<исходная строка>, <последовательность символов, которую нужно заменить>, <последовательность символов, на которую нужно заменить>, <начальная позиция поиска (по умолчанию 1)>, <количество замен (по умолчанию равно -1, то есть заменить все>) | Возвращает строку, в которой одна последовательность символов заменена на другую указанное количество раз. Последние два параметра не являются обязательными |
Right(<строка>,<количество символов>) | Возвращает заданное число символов от правого конца строки |
RTrim(<строка>) | Возвращает копию строки без конечных пробелов |
Space(<число>) | Возвращает строку, состоящую из заданного количества пробелов |
StrComp(<строка1>, <строка2>, <метод сравнения>) | Возвращает значение, отражающее результат сравнения строк |
String(<количество символов>,< символ>) | Возвращает строку заданной длины, образованную повторением одного символа |
StrReverse(<строка>) | Возвращает "отраженную" строку, в которой порядок символов противоположен исходной |
Trim(<строка>) | Возвращает копию строки без ограничивающих пробелов |
UCase(<строка>) | Возвращает строку, все символы которой преобразованы в прописные (большие) |
На следующем шаге мы рассмотрим синтаксис встроенных функций ввода/вывода.