Funkce používané při vyhodnocování výrazů: Porovnání verzí
Řá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 | |
+ | ---- | ||
===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 | ||
+ | |} | ||
− | + | ---- | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Ř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) | + | |- |
− | code(ret) | + | |'''char(x)'''||převede číslo na znak dle kódu ASCII (x:0 až 255) |
− | DelAll(ret) | + | |- |
− | DelLeft(ret) | + | |'''code(ret)'''||převede první znak řetězce ret na číslo dle kódu ASCII |
− | DelRight(ret) | + | |- |
− | EnumStr(ret,n) | + | |'''DelAll(ret)'''||vymaže všechny mezery řetězce ret |
− | find(ret1,ret2,n) | + | |- |
− | getVar(prom) | + | |'''DelLeft(ret)'''||vymaže všechny mezery zleva |
− | left(ret,n) | + | |- |
− | length(ret) | + | |'''DelRight(ret)'''||vymaže všechny mezery zprava |
− | lower(ret) | + | |- |
− | mid(ret,poz,n) | + | |'''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) | + | např. "první/druhý/třetí/čtvrtý" |
− | pos(ret1,ret2) | + | |- |
− | PosUp(ret1,ret2) | + | |'''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) | + | |- |
− | repeat(ret,n) | + | |'''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) | + | |- |
− | right(ret,n) | + | |'''left(ret,n)'''||vrací prvních n znaků řetězce ret (zleva) |
− | setCenter(ret,n) | + | |- |
− | setLeft(ret,n) | + | |'''length(ret)'''||vrací délku řetězce ret (počet znaků); funkce je identická s funkcí len |
− | setRight(ret,n) | + | |- |
− | setVar(prom, x) | + | |'''lower(ret)'''||převede velká písmena v řetězci ret na malá (pouze u písmen anglické abecedy) |
− | str(x,n,d) | + | |- |
− | strCarka(ret) | + | |'''mid(ret,poz,n)'''||vrací část řetězce ret od pozice poz o délce n znaků |
− | strCena(x,n) | + | |- |
− | strCislo(x,n) | + | |'''PadL(ret, n, z)'''||doplní řetězec ret znakem z zleva na délku n znaků |
− | string(x,n) | + | |- |
− | StrFlags(P,ret,n) | + | |'''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) | + | |- |
− | trim(ret) | + | |'''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) | + | |- |
− | (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) | + | |- |
− | value(ret) | + | |'''repeat(ret,n)'''||vrací n krát zopakovaný řetězec ret |
− | WinFmt(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=== | ===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) | 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
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