Выражения
Выражение — это заданная создателем сценария последовательность арифметических или строковых действий, оперирующая с константами и переменными и функциями от них. Выражение используется для подстановки в качестве аргумента в значение объектов сценария. Значением выражения могут являться строка и число. Для явного указания строки заключайте текст в кавычки. В противном случае, сначала будут вычислены все арифметические комбинации, доступные для расчета. В приведенных примерах 7 и 8 результат будет разный, то есть началом результирующей строки примера 7 будет являться символ «5», а примера 8 – символы «23».
Примеры числовых выражений:
- [переменная_число_1] + 1
- 2 ^ [переменная_число_2] * ( Log10 ( [переменная_число_3] ) + 2 )
- Sin ( Len ( [переменная_строка_1] ) )
Примеры строковых выражений:
- [переменная_строка_1] + [переменная_строка_2]
- Кусок текста + [ переменная_строка_1]
- "Кусок текста" + [переменная_строка_1]
- 2 + 3 + [переменная_строка_1]
- "2" + "3" + [переменная_строка_1]
- SubStr ( [переменная_строка], 1, Length ( [переменная_строка] ) - 1 )
Для задания выражения служит соответствующая вкладка окна Аргументы. Выражения вычисляются в сценариях и результат вычисления подставляется в качестве аргумента текущего выполняемого объекта (свойства объекта) сценария.
Операции и подстановочные функции, доступные для использования в составе выражений:
Операция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
+ | s1 + s2
x1 + x2 s + x x + s |
строка
число строка строка |
Если один из операндов функции является строкой, то возвращаемым значением будет строка, склеенная из двух частей. Если все операнды являются числами, результатом будет число. |
- | x1 - x2 | число | Вычитает из числа X1 число X2. |
* | x1 * x2 | число | Перемножает числа X1 и X2. |
/ | x1 / x2 | число | Делит число X1 на число X2. |
^ | x1 ^ x2 | число | Возводит число X1 в степень X2. |
( ) | Выставление приоритета любой арифметической операции. | ||
% | x1 % x2 | число | Возвращает действительный остаток от деления. |
& | x1 & x2
s1 & s2 x & s s & x |
число
строка строка строка |
Соединяет числа или строки (в строковом представлении).
Примеры: 2.16 & 3 => 2.163; "2" & 5 => "25"; 2 & -3 => "2-3" |
Функции для работы со строковыми и числовыми значениями, доступные для использования в составе выражений:
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
Abs (x) | x - число | Число | Абсолютная величина числа X. |
B64Encode | s - строка | Строка | Кодирует указанную строку в base64, используя текущую кодировку ANSI. |
B64EncodeUtf8 | s - строка | Строка | Кодирует указанную строку в base64, используя кодировку UTF-8. |
B64Decode | s - строка | Строка | Декодирует указанную строку из base64, используя текущую кодировку ANSI. |
B64DecodeUtf8 | s - строка | Строка | Декодирует указанную строку из base64, используя кодировку UTF-8. |
Cos (x) | x - число | Число | Косинус угла, определяемого параметром X в радианах. |
Ceil (x) | x - число | Число | Округляет число до целого в большую сторону. |
Char (x) | x - число | Строка | Возвращает ANSI-символ, соответствующий коду X (0 - 255). |
DecHex (x) | x - число | Строка | Возвращает строку с HEX-представлением числа. |
Eval (s) | s - строка | Число, строка | Осуществляет расчет вложенного выражения, содержащегося в строке-параметре. Таким образом, давая возможность динамически задавать выражения вне сценария.
Примеры: Eval ( "1 + 3" ) => 4; Eval ( "Привет" ) => ошибка; Eval ( " 'Привет' ") => "Привет"; Eval ( [cтр.переменная_1] ) => результат выполнения выражения, заданного в переменной; Eval ( " [стр.переменная_1] " ) => возвращает содержимое переменной. |
Exp (x) | x - число | Число | Экспонента числа X. |
Floor (x) | x - число | Число | Округляет число до целого в меньшую сторону. |
GuidToInt (s) | s - строка | Число | Формирует доволно уникальное целое число на основе передаваемой строки, содержащей представление GUID-идентификатора. |
HexDec (s) | s - строка | Число | Преобразует строку к числу, рассматривая ее как HEX-представление. |
IndexOf (s1, s2) | s1 - строка,
s2 - строка |
Число | Ищет подстроку S2 в строке S1 и возвращает номер позиции. Отсчет ведется с 0 символа. В случае, если подстрока не найдена, возвращается -1. |
Len (s) | s - строка | Число | Длина строки S в символах. |
Lg (x),
Log10 (x) |
x - число | Число | Десятичный логарифм числа X. |
Ln (x) | x - число | Число | Натуральный логарифм числа X. |
Log (x, y) | x - число
y - число |
Число | Логарифм числа Y по основанию X.
Если в функцию передается один параметр - возвращается его натуральный логарифм. |
Max (x, y) | x - число
y - число |
Число | Максимум из двух чисел X и Y. |
Min (x, y) | x - число
y - число |
Число | Минимум из двух чисел X и Y. |
NewId () | Строка | Возвращает строковое представление вновь сгенеренного GUID-идентификатора. Например 12A5A37E-B97A-45F7-86F1-87C88DA66CBA | |
Num (s) | s - строка | Число | Принудительное преобразование строки к числу. Если строка не является корректным числом, возвращает 0. |
Numval (s) | s - строка | Число | Принудительное преобразование строки к числу. Если строка не является корректным числом, возвращает число, преобразованное из максимального количества начальных символов строки-параметра, соответствующих корректному представлению. |
Random (x) | x - число | Число | Случайное целое число из отрезка [0, x-1]. |
Remove (s, idx, len) | s - строка,
idx - число, len - число |
Строка | Возвращает строку, полученную удалением из строки S символов в количестве LEN, начиная с позиции IDX. Отсчет ведется с 0 символа. |
Replace (s, s1, s2) | s - строка,
s1 - строка, s2 - строка |
Строка | Возвращает строку, образованную замещением в строке S всех встречающихся подстрок S1 на подстроки S2. |
Round (x) | x - число | Число | Ближайшее целое значение числа X. |
Sin (x) | x - число | Число | Синус угла, определяемого параметром X в радианах. |
Sqr (x) | x - число | Число | Квадрат числа X. |
Sqrt (x) | x - число | Число | Квадратный корень числа X. |
Str (x) | x - число | Строка | Принудительное преобразование числа к строке. |
Substr (s, idx, len) | s - строка,
idx - число, len - число |
Строка | Возвращает вырезанную из строки S подстроку длиной LEN, начиная с позиции IDX. Отсчет ведется с 0 символа. |
Tan (x) | x - число | Число | Тангенс угла, определяемого параметром X в радианах. |
Trim (s) | s - строка | Строка | Возвращает строку, в которой исключены начальные и конечные пробельные символы. |
TrimEnd (s) | s - строка | Строка | Возвращает строку, в которой исключены конечные пробельные символы. |
TrimStart (s) | s - строка | Строка | Возвращает строку, в которой исключены начальные пробельные символы. |
UrlEncode (s) | s - строка | Строка | Кодирует указанную строку в UrlEncode, используя текущую кодировку ANSI. |
UrlEncodeUtf8 | s - строка | Строка | Кодирует указанную строку в UrlEncode, используя кодировку UTF-8. |
UrlDecode (s) | s - строка | Строка | Декодирует указанную строку из UrlEncode, рассматривая ее как закодированную с помощью текущей кодировки ANSI. |
UrlDecodeUtf8 | s - строка | Строка | Декодирует указанную строку из UrlEncode, рассматривая ее как закодированную с помощью UTF-8. |
Функции для работы со значениями Дата/время, доступные для использования в составе выражений.
В качестве параметра функций, ожидающих значения Дата/время, может быть передано значение типа Дата/время, либо строковое в установленном формате. Стандартным форматом представления даты в строке является формат «dd.MM.yyyy HH:mm:ss», либо любой другой, установленный в системе или упомянутый в конфигурационном файле серверного приложения.
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
Date (d) | d - дата/время или строка | Дата/время | Возвращает дату, сформированную на основе параметра (начало дня - время дня нулевое). |
DateTime ( Y[, M[, D[, H[, m[, s[, ms]]]]]] ) | Y, M, D, H, m, s, ms - числа | Дата/время | Возвращает дату/время, сформированную на основе переданных параметров, которые могут быть не указаны. Соответственно: год, месяц, день, час, минута, секунда, миллисекунда. |
DateTime (s) | s - строка | Дата/время | Принудительное преобразование строки к формату Дата/время. |
DateFormat (s, d) | s - строка
d - дата/время |
Строка | Осуществляет преобразование даты к строке с указанным стандартным форматом. Описание форматов и специальных символов можно найти на странице
http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx |
DateDiff (s, d1, d2) | s - строка
d1 - дата/время d2 - дата/время |
Число | Возвращает временной интервал между двумя указанными датами, выраженный в указанных с помощью параметра s единицах:
|
DayOfWeek (d) | d - дата/время или строка | Число | День недели, которому соответствует дата-параметр (1-7). |
DayOfYear (d) | d - дата/время или строка | Число | Порядковый номер дня в году. |
Hour (d) | d - дата/время или строка | Число | Час. |
Millisecond (d) | d - дата/время или строка | Число | Миллисекунда. |
Minute (d) | d - дата/время или строка | Число | Минута. |
Month (d) | d - дата/время или строка | Число | Месяц. |
Second (d) | d - дата/время или строка | Число | Секунда. |
Year (d) | d - дата/время или строка | Число | Год. |
Специальные символы, доступные для использования в составе выражений:
Спецсимвол | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
EndLine (),
EndLine |
нет | Строка | Возвращает символ конца строки. |
Tab (),
Tab |
нет | Строка | Возвращает символ табуляции. |
Quot (),
Quot |
нет | Строка | Возвращает символ одинарной кавычки. |
DblQuot (),
DblQuot |
нет | Строка | Возвращает символ двойной кавычки. |
Константы, доступные для использования в составе выражений:
Константа | Тип возвращ. значения | Описание |
---|---|---|
Pi | Число | Число «Пи». 3,1415926... |
Fi | Число | Число «Фи». 1,6180339... |
E | Число | Число «E». 2,74182818... |
В качестве типов параметров (число и строка) указаны ожидаемые типы, в которые будет производится преобразование. Однако параметрами могут являться переменные другого типа, если они удовлетворяют правилу включения типов.
Функции без параметров можно указывать в выражении как с пустыми круглыми скобками в конце, так и без них.