Раздел: 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. Остальные переменные выводиться не будут |