- Offizieller Beitrag
Hi,
StringFormat ist ja ganz praktisch um einheitlich formatierte Ausgaben zu erstellen. Ausgabelänge und Ausrichtung kann man vorgeben, Strings können auf eine bestimmte Anzahl Zeichen begrenzt werden.
Und hier ist mein Problem. Diese Begrenzung greift immer von links nach rechts. Nehmen wir mal an, ich möchte eine Jahreszahl 2-stellig ausgeben. Dann brauche ich ein Ausgabe der letzten 2 Stellen. Die ersten 2 Stellen müssten somit gekürzt werden. Mir ist jedoch nur Folgendes möglich:
Spoiler anzeigen
; Formatierung: '%[-][anzuzeigende Stringlänge].[Genauigkeit]'
; [-]= String wird links ausgerichtet, sonst rechts
ConsoleWrite(StringFormat('%.1s', @YEAR) & @LF) ;==> 2
ConsoleWrite(StringFormat('%.2s', @YEAR) & @LF) ;==> 20
ConsoleWrite(StringFormat('%.3s', @YEAR) & @LF) ;==> 201
ConsoleWrite(StringFormat('%.4s', @YEAR) & @LF) ;==> 2014
ConsoleWrite(StringFormat('%4.1s', @YEAR) & @LF) ;==> 2
ConsoleWrite(StringFormat('%4.2s', @YEAR) & @LF) ;==> 20
ConsoleWrite(StringFormat('%4.3s', @YEAR) & @LF) ;==> 201
ConsoleWrite(StringFormat('%4.4s', @YEAR) & @LF) ;==> 2014
ConsoleWrite(StringFormat('%-.1s', @YEAR) & @LF) ;==> 2
ConsoleWrite(StringFormat('%-.2s', @YEAR) & @LF) ;==> 20
ConsoleWrite(StringFormat('%-.3s', @YEAR) & @LF) ;==> 201
ConsoleWrite(StringFormat('%-.4s', @YEAR) & @LF) ;==> 2014
ConsoleWrite(StringFormat('%-4.1s', @YEAR) & @LF) ;==> 2
ConsoleWrite(StringFormat('%-4.2s', @YEAR) & @LF) ;==> 20
ConsoleWrite(StringFormat('%-4.3s', @YEAR) & @LF) ;==> 201
ConsoleWrite(StringFormat('%-4.4s', @YEAR) & @LF) ;==> 2014
Ist euch ein Weg bekannt, ob und wie ich mit StringFormat n Zeichen von rechts ausgeben kann?