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í
Řádek 2: Řádek 2:
 
- Abs, Int, Mod, Rand, Round
 
- Abs, Int, Mod, Rand, Round
  
 +
----
 
===Řetězcové===
 
===Ř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
+
- 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é===
 
===Logické===
- False, If, IsNumber, True, MaskAnd, MaskOr
+
- False, If, IsNumber, True, MaskAnd, MaskOr
  
 +
----
 
===Zpracování datumu===
 
===Zpracování datumu===
 
- Date, DateValue (DV), Day, Month, Now, Weekday, Year, FormatDate
 
- Date, DateValue (DV), Day, Month, Now, Weekday, Year, FormatDate
  
 
+
----
 
===Matematické funkce používané při zadávání výrazů===
 
===Matematické funkce používané při zadávání výrazů===
 +
{| 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
 +
|}
  
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ů ===
 
===Řetězcové funkce používané při zadávání výrazů ===
 
+
{| class="wikitable" border=0
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
+
|'''char(x)'''||převede číslo na znak dle kódu ASCII (x:0 až 255)
DelAll(ret) - vymaže všechny mezery řetězce ret
+
|-
DelLeft(ret) - vymaže všechny mezery zleva
+
|'''code(ret)'''||převede první znak řetězce ret na číslo dle kódu ASCII
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ý"
+
|'''DelAll(ret)'''||vymaže všechny mezery řetězce ret
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
+
|'''DelLeft(ret)'''||vymaže všechny mezery zleva
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  
+
|'''DelRight(ret)'''||vymaže všechny mezery zprava
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ů  
+
|'''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 /  
PadL(ret, n, z) - doplní řetězec ret znakem z zleva na délku n znaků
+
např. "první/druhý/třetí/čtvrtý"
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
+
|'''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
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
+
|'''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
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)
+
|'''left(ret,n)'''||vrací prvních n znaků řetězce ret (zleva)
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ů
+
|'''length(ret)'''||vrací délku řetězce ret (počet znaků);  funkce je identická s funkcí len  
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
+
|'''lower(ret)'''||převede velká písmena v řetězci ret na malá (pouze u písmen anglické abecedy)
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.
+
|'''mid(ret,poz,n)'''||vrací část řetězce ret od pozice poz o délce n znaků  
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
+
|'''PadL(ret, n, z)'''||doplní řetězec ret znakem z zleva na délku n znaků
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ů)
+
|'''pos(ret1,ret2)'''||vrací pozici řetězce ret1 v řetězci ret2, nebo 0, pokud se řetězec ret1 v řetězci ret2 nevyskytuje
StrW(n) - převede číslo od 0 do 65535 do dvoubytové interní podoby
+
|-
trim(ret) - odstraní z řetězce ret nadbytečné mezery
+
|'''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
upper(ret) - převede řetězec ret na velká písmena
+
|-
(včetně znaků s diakritickými znaky)
+
|'''proper(ret)'''||upraví řetězec ret tak, aby každé samostatné slovo začínalo velkým písmenem (vhodné pro úpravu jmen)  
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
+
|'''repeat(ret,n)'''||vrací n krát zopakovaný řetězec ret
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)
+
|-
 
+
|'''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===
 
===Funkce pro zpracování datumu===
 
+
Parametr dat je číslo představující datum; lze ho získat funkcemi date, datevalue  a now
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)
 
strDate(dat) - převede datum na řetězec znaků (do tvaru DD/MM/RR)
Řádek 76: Řádek 119:
 
year(dat) - zjistí rok z datumu dat
 
year(dat) - zjistí rok z datumu dat
  
 
+
----
 
===Logické funkce používané při zadávání výrazů ===
 
===Logické funkce používané při zadávání výrazů ===
 
 
false - vrací hodnotu 0
 
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ý
 
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ý

Verze z 20. 11. 2008, 14:04

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