Выражения

Материал из Oktell
Перейти к: навигация, поиск

Наверх


Выражение — это заданная создателем сценария последовательность арифметических или строковых действий, оперирующая с константами и переменными и функциями от них. Выражение используется для подстановки в качестве аргумента в значение объектов сценария. Значением выражения могут являться строка и число. Для явного указания строки заключайте текст в кавычки. В противном случае, сначала будут вычислены все арифметические комбинации, доступные для расчета. В приведенных примерах 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 )


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

Cl cc scra f1 3.png


Операции и подстановочные функции, доступные для использования в составе выражений:


Операция Параметры Тип возвращ. значения Описание
+ 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
NowTick () Число Возвращает текущий тик системы (количество миллисекунд с момента запуска операционной системы).
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 в радианах.
Translit (s)
s - строка Строка Транслитерация строки в латинские символы.
Translit (s) s - строка Строка Возвращает строку, в которой произведена транслитерация всех национальных символов в латиницу.
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 единицах:
  • Год - yy, yyyy
  • Квартал - qq, q
  • Месяц - mm, m
  • День в году - dy, y
  • День - dd, d
  • Неделя - wk, ww
  • Час - hh
  • Минута - mi, n
  • Секунда - ss, s
  • Миллисекунда - ms
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...


В качестве типов параметров (число и строка) указаны ожидаемые типы, в которые будет производится преобразование. Однако параметрами могут являться переменные другого типа, если они удовлетворяют правилу включения типов.


Функции без параметров можно указывать в выражении как с пустыми круглыми скобками в конце, так и без них.