Format

Kategorie: Script / Strings
Ab Engineversion: 4.6.5.0 CP

Beschreibung

Setzt eine Zeichenkette aus verschiedenen Werten zusammen. Dabei wird szStr von vorne bis zum Ende nach mit '%' beginnenden Platzhaltern durchsucht, um diese dann durch die Parameter zu ersetzen.
Das allgemeine Syntax für diese Platzhalter lautet:
%[Länge][.Präzision]Typ Bis auf den Typ sind also alle Parameter optional. Der Typ gibt den Datentyp an, den der Parameter hat. Möglich sind folgende Werte:
Typ Bedeutung
d Ganzzahl (int)
x Ganzzahl (int), hexadezimale Ausgabe (0123456789abcdef)
X Ganzzahl (int), hexadezimale Ausgabe (0123456789ABCDEF)
i id (Bei IDs funktionieren die restlichen Parameter wie Länge und Präzision nicht!)
s Zeichenkette
v Beliebig. Vor allem nützlich zur Fehlersuche.
Länge gibt eine Minimallänge an. Wenn der Wert kürzer ist, wird er rechtsbündig ausgerichtet und mit Leerzeichen aufgefüllt. Wird vor die Länge eine '0' gestellt, wird mit Nullen statt Leerzeichen aufgefüllt.

Das Präzisionsfeld verhält sich je nach dem Parametertyp: Bei Ganzzahlen (d) gibt es die Minimalzahl der auszugebenden Zahlen an (der Rest wird mit Nullen aufgefüllt), während es bei Zeichenketten (s) die Maximalzahl der auszugebenden Zeichen angibt.

Syntax

string Format (string szStr,  ...);

Parameter

szStr:
Zeichenkette, in die die Werte eingesetzt werden
...:
Werte, die in die Zeichenkette eingesetzt werden

Beispiele

Message(Format("Hallo, %s. Du hast %d Clonks!", GetPlayerName(0), GetCrewCount(0)));
Gibt zum Beispiel "Hallo Twonky, du hast 3 Clonks!" auf dem Bildschirm aus.
Log(Format("'%3d'", 1));
Gibt aus: ' 1'
Log(Format("'%i'", GetID(GetCursor())));
Gibt z.B. aus: 'CLNK'
Log(Format("'%3.2d'", 5));
Gibt aus: ' 05'
Log(Format("'%.2s'", "test"));
Gibt aus: 'te'
Log(Format("'%03d'", 12));
Gibt aus: '012'
Sven2, November 2001