Раздел: CronosPRO Дата редакции: 15.11.2012 id статьи: 1412

Шпаргалка по формулам CronosPRO

Ниже приведены основные возможности языка формул в ИСУБД «CronosPRO».
Название Значения Пример
Чувствительность к регистру Нет @par = @Par = @PAR
function(…) = Function(…) = FUNCTION(…)
Виды переменных Локальная переменная @local
Глобальная переменная @@global
Имена переменных Разрешены русские буквы
Нельзя ставить пробелы
@переменная_с_пробелами
@переменная
Комментарии Однострочный // однострочный комментарий
Многострочный /* многострочный комментарий
многострочный комментарий
*/
Типы переменных Число @local := 123 ;
@local := "123" ;
@local := 3.14159 ;
Дата @date := "ДД.ММ.ГГГГ" ;
@date := "ДД.ММ.ГГ" ;
Строка @local := " 123 " ;
@local := [[ 123 ]] ;
@@global := "Строка" ;
@@global := [[Строка "с выражением в кавычках" ]] ;
Массив (таблица)
Макс. размерность — 3
@mas(1) := 1; // одномерный массив
@mas(1,2) := 12; // двухмерный массив
@mas(1,2,3) := 123; // трехмерный массив
Виды сравнений Равно @local = 123 ;
Не равно @local # 123 ;
Больше @local > 123 ;
Меньше @local < 123 ;
Больше или равно @local >= 123 ;
Меньше или равно @local <= 123 ;
Математические операторы Сложение @summ := 1 + 5 ; // @summ = 6
Вычитание @@raz := @summ - 3 // @@raz = 3
Умножение @umn := @@raz * @summ // @umn = 18
Деление @del := @umn / 2 // @del = 9
Деление по модулю (нахождение остатка от деления) @del2 := @del % 4 // @del2 = 1
// разность между исходным числом (9) и ближайшим числом, на которое можно разделить без остатка (8)
Условия If (условие) then
(
Действие 1А ;
Действие 1Б ;
Действие 1В ;
)
else
(
Действие 2А ;
Действие 2Б ;
)
@a := 2 ;
@b := 3 ;
If (@b<=@a) then
(
@c := @b - @a ;
@c := @c * 2;
)
else
(
@c := @a - @b ;
)
Логические связки в условиях Логическое И If (@a = 1 & @b = 7 & @c # 15) then ...
Логическое ИЛИ If (@a >= 0 | @b <= 8 | @c = 30) then ...
Логическое отрицание If not (@a = 0) then ...
Циклы While (условие) do
(
Действие 1А ;
Действие 1Б ;
)
While (@i<=10) do
(
@a := @a * 2 ;
@i := @i + 1 ;
)
Метки Goto — переход в указанной метке внутри формулы @i := 1 ;
Again :
@i := @i + 1 ;
if @i<5 then Goto Again;
Отладочные функции Точка останова (просмотр всех переменных) Traceall("Точка_останова") // показывает все переменные
Точка останова (просмотр выбранных переменных) Tracevar("Точка_останова","@loc1 ; @loc2 ; @loc3")
// показывает только переменные @loc1, @loc2, @loc3. Остальные переменные выводиться не будут