Formát konverze mezi hodnotou a textovým řetězcem.
Hodnota pro formátování může být následujících typu:
- Float = reálné číslo (tzn. s desetinnou tečkou)
- Int = celé číslo
- Bool = hodnota true nebo false
- String = textový řetězec
- DateTime = datum a čas
- TimeSpan = časové rozpětí (tzn. hodnota neobsahuje měsíc a rok)
- Enum = číselná hodnota představující text (např. 1=Pondělí, 2=Úterý, ... , 7=Neděle)
Parametry textového řetězce jsou ve formátu
KeyVal, který je naplněn z hodnoty parametru
sFormat metody
SetFormat nebo
CreatePmFormat.
Klíče společné všem typům:
Type:xx; - Typ hodnoty. Například
"Type:Float;".
Float (přednastaveno) - reálné číslo
Int - celé číslo
Bool - logická hodnota (1/0)
String - textový řetězec
DateTime - Datum a čas
TimeSpan - Časové rozpětí
Enum - Číselná hodnota představující text.
Len:nn - Celkový počet znaků bez
LTxt a
RTxt. Například
"Len:6;". Pro číselné hodnoty je to včetně
Sign,
DSep,
Group.
Viz:
Příklady pro typ Float.
-1 (přednastaveno) - neomezeno, pro
Scan najít konec čísla
n - stanovený počet znaků
IfShort:nn - Co dělat pokud hodnota je kratší než
Len. Například
"Len:4;IfShort:2;".
0 (přednastaveno) - nedělat nic
1 - doplnit zleva znakem mezera
2 - doplnit zprava znakem mezera
7 - pouze pro číselné hodnoty: doplnit zleva nulami mezi znaménko a první cifru (pro ne číselné hodnoty jako IfShort:1)
IfLong:nn - Co dělat když hodnota je delší než
Len. Například
"Len:4;IfLong:2;".
Viz:
Příklady pro typ Float.
0 (přednastaveno) - nedělat nic, to znamená nechat delší
1 - ořez zleva na délku Len
2 - ořez zprava na délku Len
4 - vyplnit znakem zadaným v IfLongPar na délku Len
5 - nahradí textem v IfLongPar
7 - pouze pro číselné hodnoty: vědecky format max do IfLongPar (pro ne číselné hodnoty jako IfLong:2)
IfLongPar:ss - Určuje znak(y) pro vyplnění k parametru
IfLong. Například
"Len:4;IfLong:5;IfLongPar:MyErr;".
ss - Znak(y)
pro IfLong:4; - znak kterým vyplnit (přednastaveno="", způsobí vyplnění znakem hvězdička "*")
pro IfLong:5; - náhradní text (přednastaveno="")
IfNull:nn - Co dělat pokud hodnota je
null. Například
"IfNull:1;".
Viz:
Příklady pro null:.
0 (přednastaveno) - Při konverzi hodnoty
null na řetězec dojde k převedení na hodnotu
0 nebo prázdný řetězec
"" a pak se dále konvertuje podle formátovacího řetězce.
1 - Při konverzi hodnoty
null na řetězec se použije náhradní řetězec v
IfNullPar a nedochází k dalšímu formátování. Při konverzi řetězcové hodnoty zpět na hodnotu, pokud řetězcová hodnota přesně odpovídá náhradnímu řetězci v
IfNullPar, je výsledkem hodnota
null.
IfNullPar:ss - Náhradní řetězec pro hodnotu
null (přednastaveno=""). Například
"IfNull:1;IfNullPar:null;".
Case:nn - Konverze na velké/malé znaky (znaky v
LTxt a
RTxt se nepřevádí). Například
"Case:2;".
Viz:
Příklady pro typ String.
0 (přednastaveno) - Ponechat beze změny
1 - UpperCase - Na velké znaky
2 - LowerCase - Na malé znaky
Klíče společné pro Int a Float:
Sign:nn - Jak zobrazovat znaménko plus. Například
"Sign:1;".
Viz:
Příklady pro typ Float.
0 (přednastaveno) - Nezobrazovat (zobrazovat pouze "-")
1 - Zobrazovat "+" (pokud je nula, pak mezera)
2 - Zobrazovat " " (mezera)
Group:nn - Seskupování skupin čísel do trojic. Například
"Group:1;".
Viz:
Příklady pro typ Float.
0 (přednastaveno) - Neseskupovat
1 - Seskupovat vlevo od desetinného oddělovače (tisíce)
2 - Seskupovat vpravo od desetinného oddělovače (tisíciny)
3 - Seskupovat vlevo i vpravo od desetinného oddělovače (tisíce i tisíciny)
GroupSep:nn - Oddělovač mezi skupinami. Například
"Group:1;GroupSep:2;".
0 (přednastaveno) - mezera
1 - tečka
2 - čárka
DLen:nn - Počet znaků vpravo od desetinného oddělovače. Například
"DLen:3;".
Viz:
Příklady pro typ Float.
-1 (přednastaveno) - Neomezeno (plnění do počtu zadaného v Len, ale pokud Len=-1 pak DLen:3)
n - Celé číslo včetně Group oddělovače (3=přednastaveno).
DSep:nn - Typ desetinné tečky (má význam pouze pokud
DLen!=0). Například
"DSep:1;".
0 (přednastaveno) - Znak . (tečka)
1 - Znak , (čárka)
DZero:nn - Nuly vpravo za číslem (má význam pouze pokud
DLen!=0). Například
"DZero:1;".
0 (přednastaveno) - Ponechat nuly
1 - Nuly nahradit mezerou
2 - Optimalizovat (smazat nuly a případně desetinný oddělovač)
Klíče pro DateTime:
Formátovací předpis pro datum a čas (
DateTime) Formátovací předpis pro čas
DateTime určuje textovou (naformátovanou) podobu času. Vhodně vytvořený formátovací předpis umožňuje obousměrnou konverzi mezi textovým vyjádřením a hodnotou typu
DateTime bez ztráty informace.
Formátovací předpis obsahuje jednak konstantní položky (např. oddělovače uvnitř času) a také jednotlivé položky času. Položky času mohou být v libovolném pořadí. Každá položka času (den, hodina, minuta, atd.) má svůj identifikátor (znak: D, H, M, atd.).
Položka času ve formátovacím předpisu se uvádí znakem procento
%, tím se odliší od konstantních položek (oddělovačů). Následuje nepovinné určení počtu cifer (kde znak hvězdička
* znamená minimální nutnou velikost bez nul zleva, např. místo
01.01. bude
1.1.). Položka času se ukončuje povinným identifikátorem položky času.
Fmt:ss - Formát času (přednastaveno
"%Y.%m.%d %H:%M:%S.%T"). Například
"Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;".
Viz:
Příklady pro typ DateTime.
Syntaxe jedné položky času:
%[*|1-9]id
Položky času:
y - Pouze poslední dvojčíslí roku (např.
25) [
2 cifry].
T - milisekunda (
0-999) [
3 cifry].
Počet cifer zde znamená přesnost za desetinnou tečkou, takže 1=na desetiny, 2=na setiny a 3=na tisíciny.
Viz metoda
PmDateObject.GetMillisecond.
D - den v roce (
1-366) [
3 cifry].
Funguje pouze pro konverzi času (
DateTime) do textové podoby.
Viz metoda
PmDateObject.GetDayOfYear.
Wi - týden v roce (
1-53) [
2 cifry] podle
ISO 8601.
Funguje pouze pro konverzi času (
DateTime) do textové podoby.
Viz metoda
PmDateObject.GetWeekOfYear.
ws - den v týdnu s počátkem v neděli (
0-6) [
1 cifra].
Funguje pouze pro konverzi času (
DateTime) do textové podoby.
Viz metoda
PmDateObject.GetWeekday.
wm - den v týdnu s počátkem v pondělí (
1-7) [
1 cifra] podle
ISO 8601.
Funguje pouze pro konverzi času (
DateTime) do textové podoby.
Poznámka! Položky se nemusí uvádět všechny. Pak se ovšem ztrácí v textové podobě informace.
Při zpětné konverzi z textové podoby do podoby
DateTime nesmí chybět položky z části datumu (rok, měsíc, den) . Ostatní chybějící položky se považují jako
0.
Klíče pro TimeSpan:
Formátovací předpis pro časové rozpětí (
TimeSpan) určuje textovou (naformátovanou) podobu časového rozpětí. Vhodně vytvořený formátovací předpis umožňuje obousměrnou konverzi mezi textovým vyjádřením a hodnotou typu
TimeSpan bez ztráty informace.
Formátovací předpis obsahuje jednak konstantní položky (např. oddělovače uvnitř časového rozpětí) a také jednotlivé položky časového rozpětí. Položky časového rozpětí musí být v závazném pořadí od největší položky (den) k nejmenší položce (milisekunda). Každá položka časového rozpětí (den, hodina, minuta, atd.) má svůj identifikátor (znak: D, H, M, atd.).
Položka časového rozpětí ve formátovacím předpisu se uvádí znakem procento
%, tím se odliší od konstantních položek (oddělovačů). Následuje nepovinné určení počtu znaků (kde znak hvězdička
* znamená minimální nutnou velikost bez nul zleva, např. místo
01.01. bude
1.1.). Následuje povinný identifikátor položky časového rozpětí.
Fmt:ss - Uživatelsky definovaný formát časového rozpětí (přednastaveno
"Fmt:%*N%*d-%H:%M:%S.%T"). Pouze pro
FmtType je
0. Například
"Type:TimeSpan;FmtType:0;Fmt:%*N%*d-%H:%M:%S.%T;".
Viz:
Příklady pro typ TimeSpan.
Syntaxe jedné položky času
%[*|1-9]id
Položky časového rozpětí:
N - Jak zobrazovat znaménko plus.
d - den (
1-31) [
2 cifry].
H - hodina (
0-23) [
2 cifry].
M - minuta (
0-59) [
2 cifry].
S - sekunda (
0-59) [
2 cifry].
T - milisekunda (
0-999) [
3 cifry].
Počet cifer zde znamená přesnost za desetinnou tečkou, takže 1=na desetiny, 2=na setiny a 3=na tisíciny.
FmtType:nn (nepovinné) - Typ formátování časového rozpětí. Například
"Type:TimeSpan;FmtType:10;".
Viz:
Příklady pro typ TimeSpan.
0 (přednastaveno) - Uživatelsky definovaný formát časového rozpětí určený formátovacím řetězcem. Viz klíč
Fmt.
10 - Systémový formát časového rozpětí. Uvedeny jsou hodnoty použitých položek časového rozpětí spolu s písmenkem indikujícím typ položky. Položky s nulovou hodnotou se neuvádějí.
Syntaxe: [-][Nd][Nh][Nm][Ns][Nt], kde
N je číslo a:
d - Počet dnů. Například 2d znamená 2 dny nebo 1.5d znamená 36 hodin.
h - Počet hodin. Například 2h znamená 2 hodiny nebo 1.5h znamená 90 minut.
m - Počet minut. Například 2m znamená 2 minuty nebo 1.5m znamená 90 sekund.
s - Počet sekund. Například 2s znamená 2 sekundy nebo 1.5s znamená 1500 milisekund.
t - Počet milisekund. Například 10t znamená 10 milisekund nebo 500t znamená 500 milisekund.
Poznámka! Pořadí položek časového rozpětí se sice musí uvádět od největší (den) k nejmenší položce (milisekunda). Nemusí se však začínat položkou den, ale kteroukoliv další. Přičemž první nalezená (největší) položka časového rozpětí:
1) Bude zvýšena o přepočtené chybějící vyšší položky.
2) Bude mít: přednastaveno počet znaků =
*, takže podle potřeby.
Poznámka! Položky časového rozpětí se rovněž nemusí uvádět až po nejmenší položky. Může se končit kteroukoliv položkou. Pak se ovšem ztrácí v textové podobě informace. Při zpětné konverzi z textové podoby do podoby
TimeSpan se považují tyto chybějící položky jako
0.
Poznámka! Formátovací předpis umožňuje nastavit uživatelsky definovaný formát časového rozpětí. Kromě toho existuje i systémový formát časového rozpětí.
Klíče pro Enum:
Formátovací předpis pro
Enum určuje, jak se má číselná hodnota převést na text, který představuje její domluvený význam. Například 1=Pondělí, 2=Úterý, ... , 7=Neděle.
K tomu slouží převodní tabulka mezi číselnou hodnotou v datech a textem s významem hodnoty pro zobrazení.
Rows:{keyval} - Převodní tabulka v podobě pole (
PmArray) řádků (
PmMap). Řádek (mapa) je tvořen párem číselná hodnota (
v) a text (
n).
K zápisu převodní tabulky se používá
KeyVal - formát uložení pojmenovaných hodnot (v režimu pseudopole).
Například
"Rows:{0:{v:1;n=Pondělí};1:{v:2;n=Úterý};2:{v:3;n=Středa};3:{v:4;n=Čtvrtek};4:{v:5;n=Pátek};5:{v:6;n=Sobota};6:{v:7;n=Neděle};};".
Viz:
Příklady pro typ Enum:.
Příklady pro typ Float
Kombinace klíčů RTxt a DLen:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Type:Float;RTxt: %;DLen:2;");
var sVal = oFmt.Format(90.845);
// sVal = "90.84 %"
Dim oFmt
Set oFmt = Pm.CreatePmFormat("Type:Float;RTxt: %;DLen:2;")
Dim sVal
sVal = oFmt.Format(90.845)
' sVal = "90.84 %"
Použití Group pro rozdělení čísla do trojic cifer:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Len:12;DLen:7;IfLong:2;Group:3;");
var sVal = oFmt.Format(-1234567.123456);
// sVal = "-1 234 567.1"
Dim oFmt
Set oFmt = Pm.CreatePmFormat("Len:12;DLen:7;IfLong:2;Group:3;")
Dim sVal
sVal = oFmt.Format(-1234567.123456)
' sVal = "-1 234 567.1"
Použití Sign pro zarovnání plusových a mínusových hodnot:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Sign:2;");
var sVal;
sVal = oFmt.Format(1235.67);
// sVal = " 1235.670"
sVal = oFmt.Format(-1235.67);
// sVal = "-1235.670"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Sign:2;")
sVal = oFmt.Format(1235.67)
' sVal = " 1235.670"
sVal = oFmt.Format(-1235.67)
' sVal = "-1235.670"
Příklady pro typ Int
Použití Radix pro formátování čísla do hexadecimálního tvaru:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Type:Int;Radix:16;LTxt:0x;Case:1;");
var sVal = oFmt.Format(10.58);
// sVal = "0xB"
var nVal = oFmt.Scan(sVal);
// nVal = 11
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:Int;Radix:16;LTxt:0x;Case:1;")
sVal = oFmt.Format(10.58)
' sVal = "0xB"
Dim nVal
nVal = oFmt.Scan(sVal)
' nVal = 11
Použití Radix pro formátování čísla do oktálového tvaru:
JavaScriptVBScriptVyber a zkopíruj do schránky
oFmt = Pm.CreatePmFormat("Type:Int;Radix:8;LTxt:0o;");
sVal = oFmt.Format(10.58);
// sVal = "0o13"
nVal = oFmt.Scan(sVal);
// nVal = 11
Set oFmt = Pm.CreatePmFormat("Type:Int;Radix:8;LTxt:0o;")
sVal = oFmt.Format(10.58)
' sVal = "0o13"
nVal = oFmt.Scan(sVal)
' nVal = 11
Použití Radix pro formátování čísla do binárního tvaru:
JavaScriptVBScriptVyber a zkopíruj do schránky
oFmt = Pm.CreatePmFormat("Type:Int;Radix:2;LTxt:0b;");
sVal = oFmt.Format(3.4);
// sVal = "0b11"
nVal = oFmt.Scan(sVal);
// nVal = 3
Set oFmt = Pm.CreatePmFormat("Type:Int;Radix:2;LTxt:0b;")
sVal = oFmt.Format(3.4)
' sVal = "0b11"
nVal = oFmt.Scan(sVal)
' nVal = 3
Příklady pro typ Bool
Příklad2:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Type:Bool;LTxt:Ln;RTxt:V;");
var sVal;
sVal = oFmt.Format(true);
// sVal = "Ln1V"
sVal = oFmt.Format(false);
// sVal = "Ln0V"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:Bool;LTxt:Ln;RTxt:V;")
sVal = oFmt.Format(true)
' sVal = "Ln1V"
sVal = oFmt.Format(false)
' sVal = "Ln0V"
Příklady pro typ String
Příklad1:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Type:String;LTxt:x;RTxt:q;Case:1;");
var sVal = oFmt.Format("aBcD");
// sVal = "xABCDq"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:String;LTxt:x;RTxt:q;Case:1;")
sVal = oFmt.Format("aBcD")
' sVal = "xABCDq"
Příklad2:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Type:String;LTxt:X_;RTxt:_Q;Len:6;IfLong:2;");
var sVal = oFmt.Format("abcdefgh");
// sVal = "X_abcdef_Q"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:String;LTxt:X_;RTxt:_Q;Len:6;IfLong:2;")
sVal = oFmt.Format("abcdefgh")
' sVal = "X_abcdef_Q"
Příklady pro typ DateTime
Příklad:
JavaScriptVBScriptVyber a zkopíruj do schránky
var t = Pm.CreateDate(2025, 2, 13, 4, 15, 6, 789);
var oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S.%T;");
var sVal = oFmt.Format(t);
// sVal = "13.02.2025 04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S;");
sVal = oFmt.Format(t);
// sVal = "13.02.2025 04:15:06"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%4Y.%2d.%2m %2H:%2M:%2S;");
sVal = oFmt.Format(t);
// sVal = "2025.13.02 04:15:06"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*d.%*m.%*Y %*H:%*M:%*S.%T;");
sVal = oFmt.Format(t);
// sVal = "13.2.2025 4:15:6.789"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*Y.%*m.%*d;");
sVal = oFmt.Format(t);
// sVal = "2025.13.2"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*H:%*M:%*S;");
sVal = oFmt.Format(t);
// sVal = "4:15:6"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y%m%d%H%M%S;");
sVal = oFmt.Format(t);
// sVal = "20251302041506"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "2025.2.13 4:15:6.789"
// tento zápis odpovídá ISO 8601
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%dT%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "2025.2.13T4:15:6.789"
// zápis v podobě pro databázi MS SQL
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S.%T';");
sVal = oFmt.Format(t);
// sVal = "'2025-2-13 4:15:6.789'"
// zápis v podobě pro databázi MySQL
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S';");
sVal = oFmt.Format(t);
// sVal = "'2025-2-13 4:15:6'"
// zápis v podobě pro databázi Oracle
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:TIMESTAMP'%Y-%m-%d %H:%M:%S.%T';");
sVal = oFmt.Format(t);
// sVal = "TIMESTAMP'2025-2-13 4:15:6.789'"
// zápis v podobě pro databáze Microsoft Access, dBase, PARADOX při nastavení přímého přístupu
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:#%m %d %Y %H:%M:%S#;");
sVal = oFmt.Format(t);
// sVal = "#2 13 2025 4:15:6#"
Dim t
t = Pm.CreateDate(2025, 2, 13, 4, 15, 6, 789)
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S.%T;")
sVal = oFmt.Format(t)
' sVal = "13.02.2025 04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S;")
sVal = oFmt.Format(t)
' sVal = "13.02.2025 04:15:06"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%4Y.%2d.%2m %2H:%2M:%2S;")
sVal = oFmt.Format(t)
' sVal = "2025.13.02 04:15:06"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*d.%*m.%*Y %*H:%*M:%*S.%T;")
sVal = oFmt.Format(t)
' sVal = "13.2.2025 4:15:6.789"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*Y.%*m.%*d;")
sVal = oFmt.Format(t)
' sVal = "2025.13.2"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*H:%*M:%*S;")
sVal = oFmt.Format(t)
' sVal = "4:15:6"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y%m%d%H%M%S;")
sVal = oFmt.Format(t)
' sVal = "20251302041506"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "2025.2.13 4:15:6.789"
' tento zápis odpovídá ISO 8601
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%dT%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "2025.2.13T4:15:6.789"
' zápis v podobě pro databázi MS SQL
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S.%T';")
sVal = oFmt.Format(t)
' sVal = "'2025-2-13 4:15:6.789'"
' zápis v podobě pro databázi MySQL
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S';")
sVal = oFmt.Format(t)
' sVal = "'2025-2-13 4:15:6'"
' zápis v podobě pro databázi Oracle
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:TIMESTAMP'%Y-%m-%d %H:%M:%S.%T';")
sVal = oFmt.Format(t)
' sVal = "TIMESTAMP'2025-2-13 4:15:6.789'"
' zápis v podobě pro databáze Microsoft Access, dBase, PARADOX při nastavení přímého přístupu
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:#%m %d %Y %H:%M:%S#;")
sVal = oFmt.Format(t)
' sVal = "#2 13 2025 4:15:6#"
Příklady pro typ TimeSpan
Příklad:
JavaScriptVBScriptVyber a zkopíruj do schránky
var t = Pm.CreateDate(0, 0, 53, 4, 15, 6, 789);
var oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%2d %2H:%2M:%2S.%T;");
var sVal = oFmt.Format(t);
// sVal = "53 04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*d %*H:%*M:%*S;");
sVal = oFmt.Format(t);
// sVal = "53 4:15:6"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "1276:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%N%2d %2H:%2M:%2S.%T;");
sVal = oFmt.Format(-t);
// sVal = "-53 04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10");
sVal = oFmt.Format(-t);
// sVal = "-53d4h15m6s789t"
t = Pm.CreateDate(0, 0, 1053, 4, 15, 6, 789);
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "1053-04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "25276:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "1516575:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%S.%T;");
sVal = oFmt.Format(t);
// sVal = "90994506.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;");
sVal = oFmt.Format(t);
// sVal = "1053d4h15m6s789t"
t = Pm.CreateDate(0, 0, 0, 1, 30, 0, 0);
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "0-01:30:00.000"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;");
sVal = oFmt.Format(t);
// sVal = "1h30m"
Dim t
t = Pm.CreateDate(0, 0, 53, 4, 15, 6, 789)
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%2d %2H:%2M:%2S.%T;")
sVal = oFmt.Format(t)
' sVal = "53 04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*d %*H:%*M:%*S;")
sVal = oFmt.Format(t)
' sVal = "53 4:15:6"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "1276:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%N%2d %2H:%2M:%2S.%T;")
sVal = oFmt.Format(-t)
' sVal = "-53 04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10")
sVal = oFmt.Format(-t)
' sVal = "-53d4h15m6s789t"
t = Pm.CreateDate(0, 0, 1053, 4, 15, 6, 789)
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "1053-04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "25276:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "1516575:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%S.%T;")
sVal = oFmt.Format(t)
' sVal = "90994506.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;")
sVal = oFmt.Format(t)
' sVal = "1053d4h15m6s789t"
t = Pm.CreateDate(0, 0, 0, 1, 30, 0, 0)
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "0-01:30:00.000"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;")
sVal = oFmt.Format(t)
' sVal = "1h30m"
Příklady pro typ Enum:
Příklad:
JavaScriptVBScriptVyber a zkopíruj do schránky
var oFmt = Pm.CreatePmFormat("Type:Enum;Rows:{0:{v:1;n:Pondělí};1:{v:2;n:Úterý};2:{v:3;n:Středa};3:{v:4;n:Čtvrtek};4:{v:5;n:Pátek};5:{v:6;n:Sobota};6:{v:7;n:Neděle};};");
var sVal;
sVal = oFmt.Format(2);
// sVal = "Úterý"
sVal = oFmt.Format(6);
// sVal = "Sobota"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:Enum;Rows:{0:{v:1;n:Pondělí};1:{v:2;n:Úterý};2:{v:3;n:Středa};3:{v:4;n:Čtvrtek};4:{v:5;n:Pátek};5:{v:6;n:Sobota};6:{v:7;n:Neděle};};")
sVal = oFmt.Format(2)
' sVal = "Úterý"
sVal = oFmt.Format(6)
' sVal = "Sobota"
Použití FmtC pro formátování podle jazyka C: