alfanumeryczne: wyrażone bądź to pomiędzy apostrofami (') bądź cudzysłowami („..”). Poniżej pokazano dwa przykłady ważnych ciągów:
| „Jest pewne” |
| specyficzny ciąg |
numeryczne: wyrażone ze znakiem dziesiętnym, jeśli to wymagane. Poniżej pokazano dwa przykłady ważnych stałych numerycznych:
| -2,5 |
| 123000 |
data: wyrażone w formacie [dzień / miesiąc / rok]. Należy zwrócić uwagę, że rok należy obowiązkowo wyrazić czterema cyframi. Oto przykłady ważnych stałych wielkości, wyrażających datę:
| [15/3/2002] |
| [21/05/1819] |
typu logicznego: są powiązane ze stałymi numerycznymi 1 (oraz poprzez rozszerzenie wszelkie inne wartości różne od zero) oznaczają Prawda, zero oznacza Fałsz.
Poniżej przestawiono ważne operatory:
| + | dodawanie dwóch liczb, daty i ilości dni lub łączenie dwóch ciągów znaków. |
| - | odejmowanie dwóch liczb, daty i ilości dni lub łączenie dwóch ciągów znaków poprzez wprowadzeni spacji pomiędzy te dwa ciągi. |
| * | mnożenie dwóch liczb |
| / | dzielenie dwóch liczb |
| ^ | potęgowanie do danej potęgi |
| < <= > >= <> | operatory porównania |
|
oraz lub czy nie | operatory logiczne, które można również skrócić do & | ? ! |
Dodatkowo, istniej możliwość wykorzystania nawiasów bez ograniczenia w ich nakładaniu się (w ilości nakładających się nawiasów).
Zmienna jest wyrażona w ogólny sposób w postaci:
| [ klasa ] nomvar ( indeks ) |
Dla przykładu, możliwe jest zdefiniowane następujących zmiennych:
| [F:BPC]BPCNAME |
| MA_VARIABLE |
| ELEMENT(33) |
Nazwa zmiennej nomvar jest wyrażona w formie liter i / lub liczb, przy czym pierwszy znak jest zawsze literą, wykorzystać można również znak podkreślenia. Długość nazwy zmiennej jest ograniczona do 12 znaków. Wszystkie nazwy są dozwolone, z wyjątkiem pewnych zarezerwowanych słów kluczowych (Plik, Aż do, lub popełnić są przykładami tych słów kluczowych) Kiedy wprowadzana jest nazwa zmiennej od małej litery, jest ona automatycznie zamieniana na dużą literę, chyba że jest to jedno ze słów kluczowych.
Niektóre zmienne mogą być wymiarowane, to znaczy, że odpowiadają tabelom elementów (możliwe są wymiary od 1 do 4). W takim przypadku, jeden lub więcej indeksów jest podany w postaci wyrażeń liczbowych, oddzielonych przecinkami (jeśli jest ich więcej niż jeden), w nawiasie (dla przykładu M_TB (1,2,8) jest poprawną składnią).
Klasa odpowiada grupie zmiennych powiązanych z kontekstem. Najczęściej używane klasy to klasy następujące:
[V] : klasa zmiennych globalnych. Zmienna tego typu jest powiązana z sesją ADONIX. Po jej utworzeniu pozostaje dostępna tak długo, dopóki istnieje lub dopóki nie zostanie zakończona sesja ADONIX. Jej deklaracja jest dokonywana przy pomocy dedykowanych instrukcji (w zależności od jej typu, wykorzystywane są instrukcje Integer, Decimal, Char, Date, Label, Shortint, Float, Double ).
[L] : klasa zmiennych lokalnych Jest ona powiązana z nakładającymi się sub-programami (każda instrukcja Wywołania tworzy nową klasę zmiennych lokalnych, która maskuje poprzednią klasę) Deklaracja zmiennych tego typu jest dokonywana w ten sam sposób jak w przypadku wcześniej opisanego typu klasy, ale jest ona poprzedzona słowem kluczowym Lokalna.
[C] : Klasa zmiennych typu numeru sekwencji. Są to zmienne wspólne dla wszystkich poziomów folderu. Ich utworzenia można dokonać za pomocą dedykowanej funkcji projektowej.
[F:abv] lub [abv] : jest to klasa zmiennych powiązanych z tabelą, zadeklarowaną w instrukcji pliku. W klasie tej można znaleźć wartości bieżącego rekordu.
[M:abv] lub [abv] : jest to klasa zmiennych powiązanych z ekranem wprowadzania, deklarowanym w instrukcji maskowania. W klasie tej można znaleźć wartości, które zostały wprowadzone lub które mogą zostać wyświetlone (każda zakładka na ekranie uważana jest za maskę).
Klasa ta nie jest obowiązkowa, ponieważ dzięki regułom system rozpoznaje tę klasę jako domyślną.
Istnieje pewna ilość systemowych zmiennych, zarządzanych bezpośrednio przez Adonix. Podczas kiedy w przypadku innych zmiennych, w czasie wprowadzania ich nazwy, pierwsza litera jest automatycznie zamieniana na dużą literę, te zmienne, tworzące część słów kluczowych języka, pozostają zapisane z małej litery. Poniżej podano niektóre ze zmiennych systemowych, które można wykorzystać:
Nazwa | Typ | Definicja |
nomap | ciąg | nazwa bieżącego foldera |
datesyst | data | modyfikowalna data systemowa |
adxdir | ciąg | Katalog główny Adonix |
nolign | numeryczny | numer bieżący wiersza |
fstat | numeryczny | Ukazuje status po odczytaniu tabeli lub zaksięgowaniu w tabeli |
Funkcja wyrażona w formacie funkcji (lista argumentów). Istnieje duża ilość funkcji: przetwarzanie ciągu znaków, kalkulacja daty, klasyczne funkcje numeryczne, funkcje zaokrągleń i usuwania miejsc po przecinku, funkcje statystyczne....
Wykaz podstawowych funkcji, które mogą być używane w ADONIX znajduje się poniżej. W tabeli funkcji, sposoby zapisu są następujące:
v jest argumentem dla każdego typu (taki sam dla v1, v2, v3...)
c jest argumentem dla funkcji typu ciągu znaków
x jest argumentem dla funkcji typu numerycznego
n, p. q, ... są argumentami dla funkcji typu całkowitego
V jest zmienną
lista jest lista zmiennych lub wyrażeń. W przypadku listy tego typu, zmienna TABLO typu tabeli może być użyta w formie TABLO (I) (tylko jeden indeks jest wykorzystany) TABLO (wszystkie indeksy są wykorzystane) lub TABLO (I...J) (wykorzystane są indeksy od I do J włącznie)
Składnie | Typ | Definicja |
data$ | data | bieżąca data |
sin(x), cos(x), tan(x) | numeryczny | funkcje trygonometryczne |
asin(x),acos(x)... | numeryczny | funkcje odwrotne do funkcji trygonometrycznych |
log(x),exp(x),ln(x) | numeryczny | funkcje logarytmiczne |
abs(x), sgn(x) | numeryczny | wartość absolutna, znak |
ar2(x), arr(x,y) | numeryczny | zaokrąglenie do dwóch miejsc dziesiętnych, zaokrąglenie do x - y |
int(x), mod(x,y) | numeryczny | część całkowita, modulo |
len(c) | numeryczny | długość ciągu |
dzień(d), miesiąc(d), rok(d) | numeryczny | eksport dnia, miesiąca, roku do utworzenia daty |
dzieńn(d), tydzień(d) | numeryczny | numer dnia w tygodniu, numer tygodnia |
num$(x) | ciąg | zamiana liczby na ciąg (prezentacja dziesiętna) |
space$(n), chr$(n) | ciąg | ciąg złożony z n spacji, z 1 znakiem o kodzie wewnętrznym n |
string$(n,c), string$(n,x) | ciąg | ciąg złożony z n znaków o kodzie c (lub n znaków o kodzie x) |
day$(d), month$(d) | ciąg | nazwa dnia, nazwa miesiąca |
addmonth(d,n) | data | data d do której dodano miesiąc n |
eomonth(d) | data | ostatni dzień miesiąca, odpowiadający dacie d |
left$(c,n), right$(c,n) | ciąg | prawa / lewa sekcja ciągu, utworzonego z n znaków |
mid$(c,n,p), seg$(c,n,p) | ciąg | eksport pod-ciągów dla danego ciągu |
gdat$(n,p,q) | data | konstrukcja daty (n = dzień, p = miesiąc, q rok) |
pat(c1,c2) | numeryczny | weryfikacja zgodności ciągu c1 z szablonem c2 (1 jeśli zgodny, 0 jeśli niezgodny). Szablon może zawierać znaki wieloznaczników * (każda ilość każdego rodzaju znaków), ? (jakikolwiek znak), # (jakakolwiek liczba). |
min(list), max(list) | wszystkie typy | minimum lub maksimum dla grupy zmiennych lub wartości |
sum(list), prd(list) | numeryczny | suma, iloczyn grupy zmiennych lub wartości |
avg(list), var(list) | numeryczny | średnia, odchylenie dla grupy zmiennych lub wartości |
sum(list) | ciąg | łączenie grupy ciągu zmiennych lub wartości |
uni(list) | numeryczny | weryfikacja unikalności dla grupy zmiennych wartości |
find(v,list) | numeryczny | wyszukiwanie wartości każdego typu w liście |
evalue(c) | wszystkie typy | obliczanie ciągu znaków zawierającego wyrażenie |
format$(c,v) | ciąg | formatowanie wartości o danym formacie c. |
toupper(c),tolower(c) | ciąg | zamiana litera mała, litera wielka |
sigma(V=v1,v2,v3) | numeryczny | suma (wariant V, V1 do V2), wyrażenia v3 funkcji V |
Istnieją również funkcje zdefiniowane przez twórców programu i mogą one być wykorzystywane w wyrażeniach kalkulowanych, za pomocą następującej składni:
func TRAIT.FUNCT(lista argumentów)
gdzie PROC jest nazwą danego procesu a FUNCT nazwą danej funkcji. Należy zwrócić uwagę, że funkcje, których można używać, są udokumentowane w tabeli sub-programu.