Funkce používané při vyhodnocování výrazů
Obsah
Matematické
- Abs, Int, Mod, Rand, Round
Řetězcové
- Char, Code, DelAll, DelLeft, DelRight, EnumStr, Find, Left, Length (Len), Lower, Mid, PadL, Pos, PosUp, Proper, Repeat, Replace, Right, SetCenter, SetLeft, SetRight, Str, StrCarka, StrCena, StrCislo, StrDate, StrFlags, String, StrW, Trim, Upper, Using, Value (Val), WinFmt
Logické
- False, If, IsNumber, True, MaskAnd, MaskOr
Zpracování datumu
- Date, DateValue (DV), Day, Month, Now, Weekday, Year, FormatDate
Matematické funkce používané při zadávání výrazů
abs(x) - vrací absolutní hodnotu čísla x int(x) - vrací celou část čísla x mod(x,y) - vrací zbytek po dělení celého čísla x celým číslem y rand - vrací náhodné číslo z intervalu 0 až 1 round(x,n) - vrací číslo x zaokrouhlené na n desetinných míst; n může být z intervalu -9 až 9
Řetězcové funkce používané při zadávání výrazů
char(x) - převede číslo na znak dle kódu ASCII (x:0 až 255) code(ret) - převede první znak řetězce ret na číslo dle kódu ASCII DelAll(ret) - vymaže všechny mezery řetězce ret DelLeft(ret) - vymaže všechny mezery zleva DelRight(ret) - vymaže všechny mezery zprava EnumStr(ret,n) - vrací n-tou část řetězce ret; n je počítáno od 0; jednotlivé části řetězce ret musí být odděleny znakem / např. "první/druhý/třetí/čtvrtý" find(ret1,ret2,n) - hledá výskyt řetězce ret1 v řetězci ret2, hledání začíná od pozice n; vrací vyhledanou pozici nebo 0, pokud se řetězec ret1 nevyskytuje v řetězci ret2 getVar(prom) - vrací hodnotu proměnné prom, která byla předtím uložena pomocí funkce SetVar; funkce může vrátit buď řetězec nebo číslo v závislosti na tom, jaká hodnota byla uložena pomocí SetVar left(ret,n) - vrací prvních n znaků řetězce ret (zleva) length(ret) - vrací délku řetězce ret (počet znaků); funkce je identická s funkcí len lower(ret) - převede velká písmena v řetězci ret na malá (pouze u písmen anglické abecedy) mid(ret,poz,n) - vrací část řetězce ret od pozice poz o délce n znaků PadL(ret, n, z) - doplní řetězec ret znakem z zleva na délku n znaků pos(ret1,ret2) - vrací pozici řetězce ret1 v řetězci ret2, nebo 0, pokud se řetězec ret1 v řetězci ret2 nevyskytuje PosUp(ret1,ret2) - vrací pozici řetězce ret1 v řetězci ret2 bez ohledu na malá a velká písmena, nebo 0, pokud se řetězec ret1 v řetězci ret2 nevyskytuje proper(ret) - upraví řetězec ret tak, aby každé samostatné slovo začínalo velkým písmenem (vhodné pro úpravu jmen) repeat(ret,n) - vrací n krát zopakovaný řetězec ret replace(ret1,poz,n,ret2) - nahradí část řetězce ret1 od pozice poz o délce n řetězcem ret2 right(ret,n) - vrací posledních n znaků řetězce ret (zprava) setCenter(ret,n) - doplní řetězec ret mezerami zleva a zprava, tak aby výsledný řetězec byl dlouhý n znaků a původní řetězec byl uprostřed setLeft(ret,n) - odstraní z řetězce ret mezery zleva a doplní řetězec mezerami zprava tak, aby výsledný řetězec byl dlouhý n znaků setRight(ret,n) - odstraní z řetězce ret mezery zprava a doplní řetězec mezerami zleva tak, aby výsledný řetězec byl dlouhý n znaků setVar(prom, x) - uloží hodnotu x proměnné prom do seznamu proměnných (x může být číslo nebo řetězec). Funkce vždy vrací jako hodnotu prázdný řetězec str(x,n,d) - převede číslo x na řetězec s d desetin. místy v n znacích strCarka(ret) - doplní řetězec ret (o řetězci se předpokládá, že obsahuje textové vyjádření celého nebo desetinného čísla) oddělovacími znaky tak, aby byly odděleny tisíce, milióny, atd. strCena(x,n) - převede číslo x na řetězec znaků tak, že výsledný řetězec obsahuje textové vyjádření čísla; číslo je doplněno mezerami zleva tak, aby výsledná délka řetězce byla n znaků. Číslo je zobrazeno nejméně na 2 desetinná místa strCislo(x,n) - převede číslo x na řetězec znaků tak, že výsledný řetězec obsahuje textové vyjádření čísla; číslo je doplněno mezerami zleva tak, aby výsledná délka řetězce byla n znaků. Číslo je zobrazeno s maximálně 6 desetinnými místy string(x,n) - převede číslo x na řetězec znaků tak, že výsledný řetězec obsahuje textové vyjádření čísla s n desetinnými místy StrFlags(P,ret,n) - vrací řetězec znaků délky n, který vznikne maskováním jednotlivých znaků řetězce ret odpovídajícími bity čísla P (vhodné pro zobrazování příznaků) StrW(n) - převede číslo od 0 do 65535 do dvoubytové interní podoby trim(ret) - odstraní z řetězce ret nadbytečné mezery upper(ret) - převede řetězec ret na velká písmena (včetně znaků s diakritickými znaky) using(ret,n) - doplní řetězec mezerami zprava tak, aby výsledný řetězec byl dlouhý n znaků value(ret) - převede řetězec ret na číslo; pokud se při převodu vyskytne chyba, pak je vrácena 0; funkce je identická s funkcí val WinFmt(ret) - naformátuje číslo uložené v řetězci ret tak, aby bylo zpracovatelné standardními programy Windows (odstraní mezery, nahradí desetinnou tečku čárkou)
Funkce pro zpracování datumu
Parametr dat je číslo představující datum; lze ho získat funkcemi date, datevalue a now
strDate(dat) - převede datum na řetězec znaků (do tvaru DD/MM/RR) date(dd,mm,rrrr) - převede datum, měsíc a rok na číslo představující toto datum DateValue(ret) - převede řetězec tvaru DD/MM/RR na číslo představující datum; místo funkce DateValue je možné alternativně použít stejně pracující funkci DV() day(dat) - z čísla představujícího datum zjistí pořadové číslo dne v měsíci FormatDate(dat, format) - formátuje datum dle řetězce format; údaj format může obsahovat d pro den, dd pro den s případnou nulou na začátku, m pro měsíc, mm pro měsíc s případnou nulou na začátku, yy pro poslední 2 číslice z roku, yyyy pro čtyřmístné označení roku (např. „dd.mm.yyyy“). Údaj dat může být buď řetězec znaků ve formátu „den/měsíc/rok“ nebo hodnota vrácená funkcí DateValue. month(dat) - zjistí číslo měsíce now - vrací aktuální datum weekday(dat) - vrací pořadové číslo dne v týdnu dle anglického kalendáře (0..neděle, 1..pondělí, ...) year(dat) - zjistí rok z datumu dat
Logické funkce používané při zadávání výrazů
false - vrací hodnotu 0 if(podm,x,y) - pokud je splněna podmínka podm (není rovna 0), pak je vrácena hodnota x, jinak je vrácena hodnota y; výrazy x a y mohou být číselného i řetězcového typu, ale typ musí v obou případech být stejný isNumber(p) - vrací 1 pokud je p číselného typu, jinak vrací 0 true - vrací hodnotu 1 MaskAnd(x,y) - vrací bitovou konjunkci dvou celých čísel MaskOr(x,y) - vrací bitovou disjunkci dvou celých čísel