Promotic

Łańcuch formatowania obiektu PmFormat

Format konwersji pomiędzy wartością a łańcuchem.

Parametry łańcucha tekstowego to w formacie KeyVal, który został napełniony z wartości parametru sFormat metody SetFormat lub CreatePmFormat.

Klucze wspólne dla wszystkich typów:

Type:xx; - Typ wartości. Na przykład "Type:Float;".
Float (domyślnie) - liczba rzeczywista
Int - liczba całkowita
Bool - wartość logiczna (1/0)
String - łańcuch tekstowy
DateTime - Data oraz czas
TimeSpan - Przedział czasu
Len:nn - Całkowita ilość znaków bez LTxt oraz RTxt
dla wartości liczbowej włącznie Sign, DSep, Group. Na przykład "Len:6;".
Patrz: Kombinacja kluczy Len, DLen, IfLong oraz Group.
-1 (domyślnie) - nieograniczone, dla Scan znajdź koniec liczby
n - określona ilość znaków
IfShort:nn - Co zrobić, jeśli wartość jest krótsza niż Len. Na przykład "Len:4;IfShort:2;".
0 (domyślnie) - nie wykonuj nic
1 - uzupełń Z LEWEJ znaki spacja
2 - uzupełń Z PRAWEJ znaki spacja
7 - tylko dla wartości liczbowej: uzupełń z lewej zerami pomiędzy znak a pierwszą cyfrę (dla wartości nieliczbowe jako IfShort:1)
IfLong:nn - Co zrobić, jeżeli wartość jest dłuższa niż Len. Na przykład "Len:4;IfLong:2;".
Patrz: Kombinacja kluczy Len, DLen, IfLong oraz Group.
0 (domyślnie) - nie wykonuj nic, to znaczy pozostaw następne
1 - obetnij Z LEWEJ na długość Len
2 - obetnij Z PRAWEJ na długość Len
4 - uzupełń znakiem określonym w IfLongPar na długość Len
5 - zastąpi tekstem zawartym w IfLongPar
7 - tylko dla wartości liczbowej: zawsze format max do IfLongPar (dla wartości nieliczbowej jako IfLong:2)
IfLongPar:ss - Określa znak(i) uzupełniające parametra IfLong. Na przykład "Len:4;IfLong:5;IfLongPar:MyErr;".
ss -
dla IfLong:4; - znak uzupełniający (domyślnie="", spowoduje uzupełnienie znakiem gwiazdka "*")
dla IfLong:5; - tekst zastępczy (domyślnie="")
LTxt:ss - Tekst wlewo od wartości Na przykład "LTxt:Wartość ;".
Patrz: Zastosowanie Radix oraz dalszych kluczy w celu sformatowania wartości.
RTxt:ss - Tekst wprawo od wartości (dla Scan RTxt nie musi być wewnątrz wartości) Na przykład "RTxt:°C;".
Patrz: Kombinacja kluczy RTxt oraz DLen dla wartości typu Float.
Case:nn - Konwersja na duże/małe znaki (znaki LTxt oraz RTxt nie podlegają konwersji). Na przykład "Case:2;".
Patrz: Przykłady dla typu String oraz dalszych kluczy w celu sformatowania wartości.
0 (domyślnie) - pozostaw bez zmian
1 - UpperCase - na wielkie znaki
2 - LowerCase - na małe znaki

Klucze wspólne dla wszystkich liczb:

Radix:nn - Inny system liczbowy (dla typu Int). Na przykład "Type:Int;Radix:16;".
Patrz: Zastosowanie Radix oraz dalszych kluczy w celu sformatowania wartości.
2 - binarny
8 - oktal
10 (domyślnie) - dziesiątkowy
16 - szesnastkowy, znaki hexa będą małe, ale można je zwiększyć przy pomocy Case:1;
Sign:nn - W jaki sposób wyświetlać znak plus. Na przykład "Sign:1;".
Patrz: Zastosowanie Sign w celu wyrównania dodatnich oraz ujemnych wartości.
0 (domyślnie) - nie wyświetlać (wyświetlać tylko "-")
1 - wyświetlać "+" (jeżeli zero, wtedy spacja)
2 - wyświetlać " " (spacja)
Group:nn - Łączenie grup liczb do trójek. Na przykład "Group:1;".
Patrz: Kombinacja kluczy Len, DLen, IfLong oraz Group.
0 (domyślnie) - nie łączyć
1 - grupuj wlewo od separatora dziesiętnego (tysiące)
2 - grupuj wprawo od separatora dziesiętnego (tysięczne)
3 - grupuj wlewo i wprawo od separatora dziesiętnego (tysiące i tysięczne)
GroupSep:nn - Separator pomiędzy grupami. Na przykład "Group:1;GroupSep:2;".
0 (domyślnie) - spacja
1 - kropka
2 - przecinek
DLen:nn - Ilość znaków wprawo od separatora dziesiętnego. Na przykład "DLen:3;".
Patrz: Kombinacja kluczy Len, DLen, IfLong oraz Group.
-1 (domyślnie) - nieograniczone (uzupełnienie do ilości określonej w Len, ale jeżeli Len=-1 wtedy DLen:3)
n - liczba całkowita włącznie z separatorem Group (3=default)
DSep:nn - Typ kropki dziesiętnej (ma znaczenie tylko jeżeli DLen!=0). Na przykład "DSep:1;".
0 (domyślnie) - kropka "."
1 - przecinek ","
DZero:nn - Zera wprawo za liczbą (ma znaczenie tylko jeżeli DLen!=0). Na przykład "DZero:1;".
0 (domyślnie) - pozostaw zera
1 - zastąp zera spacją
2 - optymalizuj (usuń zera oraz ewentualnie separator dziesiętny)

Klucze dla DateTime:

Fmt:ss - Format czasu patrz: Reguła formatowania dla czasu (DateTime). Na przykład "Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;".
Patrz: Przykłady dla typu DateTime.

Klucze dla TimeSpan:

Fmt:ss - Format przedziału czasu patrz: Reguła formatowania dla czasu (DateTime). Na przykład "Type:TimeSpan;Fmt:%*N%*d-%H:%M:%S.%T;".
Patrz: Przykłady dla typu TimeSpan.

Ostatnie klucze:

FmtC:ss - Format konwersji języka C (przestarzały w celu zachowania kompatybilności). Opis patrz: Reguła formatowania w języku programowania C. Na przykład "FmtC:%5.2f;".
Patrz: Zastosowanie formatowania wg języka C FmtC.


Kombinacja kluczy RTxt oraz DLen dla wartości typu Float:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oFmt = Pm.CreatePmFormat("Type:Float;RTxt: %;DLen:2;");
var Val = oFmt.Format(90.845);
// sformatowana wartość w zmiennej Val jest: "90.84 %"
Kombinacja kluczy Len, DLen, IfLong oraz Group:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oFmt = Pm.CreatePmFormat("Len:12;DLen:7;IfLong:2;Group:3;");
var Val = oFmt.Format(-1234567.123456);
// sformatowana wartość w zmiennej Val jest: "-1 234 567.1"
Zastosowanie Sign w celu wyrównania dodatnich oraz ujemnych wartości:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oFmt = Pm.CreatePmFormat("Sign:2;");
var Val = oFmt.Format(1235.67);
// sformatowana wartość w zmiennej Val jest: " 1235.670"
Val = oFmt.Format(-1235.67);
// sformatowana wartość w zmiennej Val jest: "-1235.670"
Zastosowanie Radix oraz dalszych kluczy w celu sformatowania wartości:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

// hexadecimal
var oFmt = Pm.CreatePmFormat("Type:Int;Radix:16;LTxt:0x;Case:1;");
var Val = oFmt.Format(10.58);
// sformatowana wartość w zmiennej Val jest: "0xB"
var nVal = oFmt.Scan(Val);
// nVal = 11

oFmt = Pm.CreatePmFormat("Type:Int;Radix:8;LTxt:0o;");
Val = oFmt.Format(10.58);
// sformatowana wartość w zmiennej Val jest: "0o13"
nVal = oFmt.Scan(Val);
// nVal = 11

oFmt = Pm.CreatePmFormat("Type:Int;Radix:2;LTxt:0b;");
Val = oFmt.Format(3.4);
// sformatowana wartość w zmiennej Val jest: "0b11"
nVal = oFmt.Scan(Val);
// nVal = 3
Przykłady dla typu Bool oraz dalszych kluczy w celu sformatowania wartości:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oFmt = Pm.CreatePmFormat("Type:Bool;");
var Val = oFmt.Format(3.14);
// sformatowana wartość w zmiennej Val jest: "1"
Val = oFmt.Format(0);
// sformatowana wartość w zmiennej Val jest: "0"

oFmt = Pm.CreatePmFormat("Type:Bool;LTxt:Ln;RTxt:V;");
Val = oFmt.Format(true);
// sformatowana wartość w zmiennej Val jest: "Ln1V"
Val = oFmt.Format(false);
// sformatowana wartość w zmiennej Val jest: "Ln0V"
Przykłady dla typu String oraz dalszych kluczy w celu sformatowania wartości:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oFmt = Pm.CreatePmFormat("Type:String;LTxt:x;RTxt:q;Case:1;");
var Val = oFmt.Format("aBcD");
// sformatowana wartość w zmiennej Val jest: "xABCDq"

oFmt = Pm.CreatePmFormat("Type:String;LTxt:X_;RTxt:_Q;Len:6;IfLong:2;");
Val = oFmt.Format("abcdefgh");
// sformatowana wartość w zmiennej Val jest: "X_abcdef_Q"
Przykłady dla typu DateTime:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var t = Pm.CreateDate(2022, 2, 13, 4, 15, 6, 789);

var oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S.%T");
var Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "13.02.2022 04:15:06.789"

oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "13.02.2022 04:15:06"

oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%4Y.%2d.%2m %2H:%2M:%2S");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "2022.13.02 04:15:06"

oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*d.%*m.%*Y %*H:%*M:%*S.%T");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "13.2.2022 4:15:6.789"

oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*Y.%*m.%*d");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "2022.13.2"

oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*H:%*M:%*S");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "4:15:6"

oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y%m%d%H%M%S");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "20221302041506"
Przykłady dla typu TimeSpan:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var t = Pm.CreateDate(0, 0, 53, 4, 15, 6, 789);

var oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%2d %2H:%2M:%2S.%T");
var Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "53 04:15:06.789"

oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*d %*H:%*M:%*S");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "53 4:15:6"

oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%d%m%Y%H%M%S%T");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "13022022041506789"

oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%N%2d %2H:%2M:%2S.%T");
Val = oFmt.Format(-t);
// sformatowana wartość w zmiennej Val jest: "-53 04:15:06.789"

t = Pm.CreateDate(0, 0, 1053, 4, 15, 6, 789);
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "1053-04:15:06.789"

oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%H:%M:%S.%T");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "25276:15:06.789"

oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%M:%S.%T");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "1516575:06.789"

oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%S.%T");
Val = oFmt.Format(t);
// sformatowana wartość w zmiennej Val jest: "90994506.789"
Zastosowanie formatowania wg języka C FmtC:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oFmt = Pm.CreatePmFormat("FmtC:%d"");
var Val = oFmt.Format(1);
// sformatowana wartość w zmiennej Val jest: "1"

oFmt = Pm.CreatePmFormat("FmtC:x%dq");
Val = oFmt.Format(1);
// sformatowana wartość w zmiennej Val jest: "x1q"

oFmt = Pm.CreatePmFormat("FmtC:%f");
Val = oFmt.Format(12.3456789);
// sformatowana wartość w zmiennej Val jest: "12.3456789"

oFmt = Pm.CreatePmFormat("FmtC:%13.2f");
Val = oFmt.Format(123456789.123456789);
// sformatowana wartość w zmiennej Val jest: " 123456789.12"

oFmt = Pm.CreatePmFormat("FmtC:%x");
Val = oFmt.Format(255);
// sformatowana wartość w zmiennej Val jest: "ff"

oFmt = Pm.CreatePmFormat("FmtC:%03X");
Val = oFmt.Format(10.58);
// sformatowana wartość w zmiennej Val jest: "00B"

oFmt = Pm.CreatePmFormat("FmtC:n=%03X");
Val = oFmt.Format(10.58);
// sformatowana wartość w zmiennej Val jest: "n=00B"
© MICROSYS, spol. s r. o.