Funkce používané při vyhodnocování výrazů: Porovnání verzí

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání
(Nová stránka: 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, Repl...)
 
 
(Není zobrazeno 49 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
Matematické
+
===Matematické===
- Abs, Int, Mod, Rand, Round
+
{|class="wikitable" border=0
 +
|-
 +
|'''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é
 
- 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ů
+
===Řetězcové funkce používané při zadávání výrazů ===
 +
{| class="wikitable" border=0
 +
|-valign=top
 +
|width=170|'''char(x)'''||převede číslo na znak dle kódu ASCII (x:0 až 255)
 +
|-valign=top
 +
|'''code(ret)'''||převede první znak řetězce ret na číslo dle kódu ASCII
 +
|-valign=top
 +
|'''conv(ret,cp)'''||převede řetězec ret na zvolenou kódovou stránku cp (0..ASCII, 1..Kamenický, 2..ASCII2, 3..LATIN2, 4..Windows 1250)
 +
|-valign=top
 +
|'''DelAll(ret)'''||vymaže všechny mezery řetězce ret
 +
|-valign=top
 +
|'''DelLeft(ret)'''||vymaže všechny mezery zleva
 +
|-valign=top
 +
|'''DelRight(ret)'''||vymaže všechny mezery zprava
 +
|-valign=top
 +
|'''EnumStr(ret,n,x)'''||vrací n-tou část řetězce ret; n je počítáno od 0;třetí parametr x je nepovinný a pokud není nadefinován, tak se automaticky použije oddělovací znak "/". Jednotlivé části řetězce ret musí být odděleny znakem x např. "první/druhý/třetí/čtvrtý"
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''hash(ret,n)'''||vrací hodnotu ret zkonvertovanou pomocí algoritmu MD5. Pokud je n=0, pak výsledný text navíc převeden na textový hexadecimální formát (32 znaků)
 +
|-valign=top
 +
|'''left(ret,n)'''||vrací prvních n znaků řetězce ret (zleva)
 +
|-valign=top
 +
|'''length(ret)'''||vrací délku řetězce ret (počet znaků);  funkce je identická s funkcí len
 +
|-valign=top
 +
|'''lower(ret)'''||převede velká písmena v řetězci ret na malá (pouze u písmen anglické abecedy)
 +
|-valign=top
 +
|'''mid(ret,poz,n)'''||vrací část řetězce ret od pozice poz o délce n znaků
 +
|-valign=top
 +
|'''PadL(ret, n, z)'''||doplní řetězec ret znakem z zleva na délku n znaků
 +
|-valign=top
 +
|'''pos(ret1,ret2)'''||vrací pozici řetězce ret1 v řetězci ret2, nebo 0, pokud se řetězec ret1 v řetězci ret2 nevyskytuje
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''proper(ret)'''||upraví řetězec ret tak, aby každé samostatné slovo začínalo velkým písmenem (vhodné pro úpravu jmen)
 +
|-valign=top
 +
|'''repeat(ret,n)'''||vrací n krát zopakovaný řetězec ret
 +
|-valign=top
 +
|'''replace(ret1,poz,n,ret2)'''||nahradí část řetězce ret1 od pozice poz o délce n řetězcem ret2
 +
|-valign=top
 +
|'''replaceStr(ret,PuvText,NovyText,Podm)'''||nahrazení jednoho textu v řetězci znaků jiným textem; Údaj Podm zadejte jako součet následujících hodnot (tj. číslo 0 až 7).<br/> +1 : nahrazuje všechny výskyty řetězce PuvText;<br/> +2 : při hledání řetězce PuvText se ignoruje velikost písmen;<br/> +4 : řetězec znaků ret obsahuje znaky v kódování Windows-1250 (použije se jen ve spojení s +2); funkce doplněna 22.3.2019
 +
|-valign=top
 +
|'''right(ret,n)'''||vrací posledních n znaků řetězce ret (zprava)
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''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ů
 +
|-valign=top
 +
|'''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ů
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''str(x,n,d)'''||převede číslo x na řetězec o n znacích s d desetin. místy
 +
|-valign=top
 +
|'''str(x)'''|| převede číslo x na řetězec znaků, který neobsahuje úvodní mezery
 +
|-valign=top
 +
|'''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.
 +
|-valign=top
 +
|'''strCurr(x,n)''' <br/>nebo '''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
 +
|-valign=top
 +
|'''strNum(x,n)''' <br/>nebo '''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
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''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ů)
 +
|-valign=top
 +
|'''StrToXML(s)'''||naformátuje řetězec znaků s tak, aby změnil znaky, které nejsou povolené v XML, na speciální náhradní značky,např. &amp; nahradí '& a m p ;'
 +
|-valign=top
 +
|'''StrW(n)'''||převede číslo od 0 do 65535 do dvoubytové interní podoby
 +
|-valign=top
 +
|'''trim(ret)'''||odstraní z řetězce ret nadbytečné mezery
 +
|-valign=top
 +
|'''upper(ret)'''||převede řetězec ret na velká písmena (včetně znaků s diakritickými znaky)
 +
|-valign=top
 +
|'''using(ret,n)'''||doplní řetězec mezerami zprava tak, aby výsledný řetězec byl dlouhý n znaků
 +
|-valign=top
 +
|'''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
 +
|-valign=top
 +
|'''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)
 +
|}
 +
----
  
abs(x) - vrací absolutní hodnotu čísla x
+
===Funkce pro zpracování datumu===
int(x) - vrací celou část čísla x
+
Parametr dat je číslo představující datum; lze ho získat funkcemi date, datevalue  a now
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
 
  
 +
{| class="wikitable" border=0
 +
|-valign=top
 +
|'''strDate(dat)'''||převede datum na řetězec znaků (do tvaru DD/MM/RR)
 +
|-valign=top
 +
|'''date(rrrr,mm,dd)'''||převede rok, měsíc a den na číslo představující toto datum
 +
|-valign=top
 +
|'''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()
 +
|-valign=top
 +
|'''day(dat)'''||z čísla představujícího datum zjistí pořadové číslo dne v měsíci
 +
|-valign=top
 +
|width=170|'''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.
 +
|-valign=top
 +
|'''month(dat)'''||zjistí číslo měsíce
 +
|-valign=top
 +
|'''now'''||vrací aktuální datum
 +
|-valign=top
 +
|'''weekday(dat)'''||vrací pořadové číslo dne v týdnu dle anglického kalendáře (0..neděle, 1..pondělí, ...)
 +
|-valign=top
 +
|'''year(dat)'''||zjistí rok z datumu dat
 +
|-valign=top
 +
|'''GetTime'''||vrací aktuální čas v textovém formátu hh:mm:ss (funkce doplněna 25.8.2011)
 +
|-valign=top
 +
|'''FormatTime(cas, format)'''||formátuje čas dle řetězce format (hh .. hodiny, mm nebo nn .. minuty, ss .. sekundy) (funkce doplněna 25.8.2011)
 +
|}
  
Ř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)
+
===Logické funkce používané při zadávání výrazů ===
code(ret) - převede první znak řetězce ret na číslo dle kódu ASCII
+
{| class="wikitable" border=0
DelAll(ret) - vymaže všechny mezery řetězce ret
+
|-valign=top
DelLeft(ret) - vymaže všechny mezery zleva
+
|width=100|'''false'''||vrací hodnotu 0
DelRight(ret) - vymaže všechny mezery zprava
+
|-valign=top
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ý"
+
|'''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ý
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
+
|-valign=top
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
+
|'''isNumber(p)'''||vrací 1 pokud je p číselného typu, jinak vrací 0
left(ret,n) - vrací prvních n znaků řetězce ret (zleva)
+
|-valign=top
length(ret) - vrací délku řetězce ret (počet znaků);  funkce je identická s funkcí len
+
|'''true'''||vrací hodnotu 1
lower(ret) - převede velká písmena v řetězci ret na malá (pouze u písmen anglické abecedy)
+
|-valign=top
mid(ret,poz,n) - vrací část řetězce ret od pozice poz o délce n znaků
+
|'''MaskAnd(x,y)'''||vrací bitovou konjunkci dvou celých čísel
PadL(ret, n, z) - doplní řetězec ret znakem z zleva na délku n znaků
+
|-valign=top
pos(ret1,ret2) - vrací pozici řetězce ret1 v řetězci ret2, nebo 0, pokud se řetězec ret1 v řetězci ret2 nevyskytuje
+
|'''MaskOr(x,y)'''||vrací bitovou disjunkci dvou celých čísel
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
+
|-valign=top
proper(ret) - upraví řetězec ret tak, aby každé samostatné slovo začínalo velkým písmenem (vhodné pro úpravu jmen)
+
|width=170|'''MatchMask(m,d)'''||vrací hodnotu 1, pokud textový řetězec d vyhovuje masce specifikované řetězcem m, jinak vrací hodnotu 0. Rozlišují se malá a velká písmena, diakritika i mezery na začátku nebo na konci textu. Maska m může obsahovat speciální znaky: znak * pro označení skupiny libovolných znaků (včetně prázdného textu) a znak ? pro označení právě jednoho znaku. Příklady: MatchMask("*black", Nazev) bude vracet 1 pro Nazev končící slovem black, MatchMask("*black*white*", Nazev) bude vracet 1 pokud Nazev bude obsahovat slovo black následované slovem white, MatchMask("???black*", Nazev) bude vracet 1 pokud Nazev má na čtvrté pozici počínaje slovo black a končí libovolným textem.
repeat(ret,n) - vrací n krát zopakovaný řetězec ret
+
|-valign=top
replace(ret1,poz,n,ret2) - nahradí část řetězce ret1 od pozice poz o délce n řetězcem ret2
+
|'''MatchMasks(m,d)'''||První parametr m musí být vyplněn seznamem masek, jimž má vyhovovat údaj d. V parametru m lze použít znaky * jako zástupný znak pro libovolnou skupinu znaků, znaky ? jako zástupný znak pro právě jeden znak. Lze použít současně více masek. V tom případě je nutné jednotlivé masky oddělit znakem /. Pokud maska začíná znakem !, tak se chápe jako negativní maska (čili pokud údaj d vyhovuje této negativní masce, tak je celý výraz vyhodnocen jako nevyhovující. Funkce vrací jako výsledek pořadí masky (číslováno od 0), které vyhovuje d. Funkce vrací záporné číslo pokud žádná maska nevyhovuje (popř. vrací záporné pořadí negativní masky - číslováno od -2).
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
 

Aktuální verze z 7. 9. 2020, 15:49

Matematické

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
conv(ret,cp) převede řetězec ret na zvolenou kódovou stránku cp (0..ASCII, 1..Kamenický, 2..ASCII2, 3..LATIN2, 4..Windows 1250)
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,x) vrací n-tou část řetězce ret; n je počítáno od 0;třetí parametr x je nepovinný a pokud není nadefinován, tak se automaticky použije oddělovací znak "/". Jednotlivé části řetězce ret musí být odděleny znakem x 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
hash(ret,n) vrací hodnotu ret zkonvertovanou pomocí algoritmu MD5. Pokud je n=0, pak výsledný text navíc převeden na textový hexadecimální formát (32 znaků)
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
replaceStr(ret,PuvText,NovyText,Podm) nahrazení jednoho textu v řetězci znaků jiným textem; Údaj Podm zadejte jako součet následujících hodnot (tj. číslo 0 až 7).
+1 : nahrazuje všechny výskyty řetězce PuvText;
+2 : při hledání řetězce PuvText se ignoruje velikost písmen;
+4 : řetězec znaků ret obsahuje znaky v kódování Windows-1250 (použije se jen ve spojení s +2); funkce doplněna 22.3.2019
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 o n znacích s d desetin. místy
str(x) převede číslo x na řetězec znaků, který neobsahuje úvodní mezery
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.
strCurr(x,n)
nebo 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
strNum(x,n)
nebo 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ů)
StrToXML(s) naformátuje řetězec znaků s tak, aby změnil znaky, které nejsou povolené v XML, na speciální náhradní značky,např. & nahradí '& a m p ;'
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(rrrr,mm,dd) převede rok, měsíc a den 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
GetTime vrací aktuální čas v textovém formátu hh:mm:ss (funkce doplněna 25.8.2011)
FormatTime(cas, format) formátuje čas dle řetězce format (hh .. hodiny, mm nebo nn .. minuty, ss .. sekundy) (funkce doplněna 25.8.2011)

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
MatchMask(m,d) vrací hodnotu 1, pokud textový řetězec d vyhovuje masce specifikované řetězcem m, jinak vrací hodnotu 0. Rozlišují se malá a velká písmena, diakritika i mezery na začátku nebo na konci textu. Maska m může obsahovat speciální znaky: znak * pro označení skupiny libovolných znaků (včetně prázdného textu) a znak ? pro označení právě jednoho znaku. Příklady: MatchMask("*black", Nazev) bude vracet 1 pro Nazev končící slovem black, MatchMask("*black*white*", Nazev) bude vracet 1 pokud Nazev bude obsahovat slovo black následované slovem white, MatchMask("???black*", Nazev) bude vracet 1 pokud Nazev má na čtvrté pozici počínaje slovo black a končí libovolným textem.
MatchMasks(m,d) První parametr m musí být vyplněn seznamem masek, jimž má vyhovovat údaj d. V parametru m lze použít znaky * jako zástupný znak pro libovolnou skupinu znaků, znaky ? jako zástupný znak pro právě jeden znak. Lze použít současně více masek. V tom případě je nutné jednotlivé masky oddělit znakem /. Pokud maska začíná znakem !, tak se chápe jako negativní maska (čili pokud údaj d vyhovuje této negativní masce, tak je celý výraz vyhodnocen jako nevyhovující. Funkce vrací jako výsledek pořadí masky (číslováno od 0), které vyhovuje d. Funkce vrací záporné číslo pokud žádná maska nevyhovuje (popř. vrací záporné pořadí negativní masky - číslováno od -2).