Der Befehl String gibt eine Zeichenkette zurück für die in Ausdruck übergebenen Ausdrücke. Sie können vom Typ numerisch, Datum, Zeit, String oder Boolean sein.
Format ist optional. Geben Sie diesen Parameter nicht an, wird das entsprechende Standardformat gewählt. Mit Format können Sie ein bestimmtes Format vorgeben.
Der optionale Parameter plusZeit fügt in einem kombinierten Format an ein Datum eine Zeit hinzu. Er ist nur verwendbar, wenn der Parameter Ausdruck ein Datum ist (siehe unten).
Numerischer Ausdruck
Ist Ausdruck vom Typ numerisch (Zahl, Ganzzahl, Lange Ganzzahl), können Sie ein optionales Textformat übergeben. Hierzu einige Beispiele:
Beispiel | Ergebnis |
String(2^15) | 32768 | Standardformat |
String(2^15;"###.##0 Einwohner") | 32.768 Einwohner |
String(1/3;"##0,00000") | 0,33333 |
String(1/3) | 0,33333333333333330000 | Standardformat (*) |
String(Arctan(1)*4) | 3,141592653589790000 | Standardformat (*) |
String(Arctan(1)*4;"##0.00") | 3,14 |
String(-1;"&x") | 0xFFFFFFFF |
String(-1;"&$") | $FFFFFFFF |
String(0 ?+ 7;"&x") | 0x0080 |
String(0 ?+ 7;"&$") | $80 |
String(0 ?+ 14;"&x") | 0x4000 |
String(0 ?+ 14;"&$") | $4000 |
String(50,3;"&xml") | 50.3 | Immer "." als Dezimaltrenner |
String(Num(1=1);"True;;False") | Wahr |
String(Num(1=2);"True;;False") | Falsch |
String(Log(-1)) | "" | Undefinierte Nummer |
String(1/0) | "INF" | Positive infinite Nummer |
String(-1/0) | "-INF" | Negative infinite Nummer |
(*) Ab 4D v14 R3 basiert der Algorithmus zum Konvertieren von Daten des Typs Zahl auf 13 signifikanten Stellen (es waren bisher 15 Stellen).
Sie definieren das Format genauso wie für ein numerisches Datenfeld in einem Formular. Weitere Informationen dazu finden Sie im Abschnitt Zahlenformate des Handbuchs 4D Designmodus. In Format können Sie auch eigene Stilvorlagen übergeben. Sie müssen dann dem Namen das Zeichen “|” voranstellen.
Hinweis: Die Funktion String ist nicht kompatibel mit Feldern vom Typ "Ganzzahl 64 bits" im kompilierten Modus.
Ausdruck vom Typ Datum
Ist Ausdruck vom Typ Datum, erhalten Sie als Zeichenkette das vom Betriebssystem definierte Standardformat. Im Parameter Format können Sie eine der unten beschriebenen Konstanten unter dem Thema Datum Anzeigeformate übergeben. In diesem Fall können Sie auch im Parameter plusZeit eine Zeit übergeben. Dieser Parameter ermöglicht, Datum und Zeit zu kombinieren, um Zeitstempel in Übereinstimmung mit aktuellen Standards zu erstellen (Konstanten ISO Date GMT und Date RFC 1123). Diese Formate sind besonders hilfreich im Kontext von XML und Web Processing. Der Parameter plusZeit ist nur verwendbar, wenn der Parameter Ausdruck ein Datum ist.
Konstante |
Typ |
Wert |
Kommentar |
Blank if null date |
Lange Ganzzahl |
100 |
"" statt 0 |
Date RFC 1123 |
Lange Ganzzahl |
10 |
Fri, 10 Sep 2010 13:07:20 GMT |
Internal date abbreviated |
Lange Ganzzahl |
6 |
29. Dez. 2006 |
Internal date long |
Lange Ganzzahl |
5 |
29. Dezember 2006 |
Internal date short |
Lange Ganzzahl |
7 |
29.12.2006 |
Internal date short special |
Lange Ganzzahl |
4 |
29.12.06 (aber 29.12.1896 oder 29.12.2096) |
ISO Date |
Lange Ganzzahl |
8 |
2006-29-12T00:00:00 (überholt) |
ISO Date GMT |
Lange Ganzzahl |
9 |
2010-09-13T16:11:53Z |
System date abbreviated |
Lange Ganzzahl |
2 |
So, 29. Dez. 2006 |
System date long |
Lange Ganzzahl |
3 |
Sonntag, 29. Dezember 2006 |
System date short |
Lange Ganzzahl |
1 |
29.12.2006 |
Hinweis: Die Formate können je nach Systemeinstellungen variieren.
Hier ein paar Beispiele für einfache Formate. Sie gehen vom aktuellen Datum 5.3.09 aus:
$vsResult:=String(Current date)
$vsResult:=String(Current date;Internal date long)
$vsResult:=String(Current date;ISO Date GMT)
Hinweise für kombinierte Datum/Zeitformate:
- Das Format ISO Date GMT entspricht dem Standard ISO8601. Dieses Format enthält Datum und Zeit unter Berücksichtigung der Zeitzone (GMT).
$mydate:=String(Current date;ISO Date GMT;Current time)
Beachten Sie, dass das Zeichen "Z" am Ende das GMT Format angibt.
Übergeben Sie nur ein Datum, gibt der Befehl das Datum um Mitternacht (lokale Zeit) in GTM Zeit zurück. Das kann je nach der lokalen Zeitzone bewirken, dass das Datum vor- oder zurückbewegt wird:
$mydate:=String(!13/09/2010!;ISO Date GMT)
- Das Format ISO Date ist ähnlich zum Format ISO Date GMT, mit dem Unterschied, dass es Datum und Zeit ohne Berücksichtigung der Zeitzone ausdrückt. Beachten Sie, dass dieses Format nicht dem Standard ISO8601 entspricht. Es sollte nur für ganz bestimmte Zwecke verwendet werden.
$mydate:=String(!13/09/2010!;ISO Date)
$mydate:=String(Current date;ISO Date;Current time)
- Das Format Date RFC 1123 formatiert eine Datum-/Zeitkombination gemäß dem von RFC 822 und 1123 definierten Standard. Sie benötigen dieses Format zum Beispiel, um für Cookies in einem HTTP Header das Ablaufdatum zu setzen.
$mydate:=String(Current date;Date RFC 1123;Current time)
Die dargestellte Zeit berücksichtigt die Zeitzone (GMT Zone). Übergeben Sie nur ein Datum, gibt der Befehl das Datum um Mitternacht (lokale Zeit) ausgedrückt in GMT Zeit zurück. Das kann je nach der lokalen Zeitzone bewirken, dass das Datum vor- oder zurückbewegt wird:
$mydate:=String(Current date;Date RFC 1123)
Ausdruck vom Typ Zeit
Ist Ausdruck vom Typ Zeit, erhalten Sie als Zeichenkette das Standardformat HH:MM:SS. Im Parameter Format können Sie eine Konstante unter dem Thema Zeit Anzeigeformate übergeben:
Konstante |
Typ |
Wert |
Kommentar |
Blank if null time |
Lange Ganzzahl |
100 |
"" statt 0 |
HH MM |
Lange Ganzzahl |
2 |
|
HH MM AM PM |
Lange Ganzzahl |
5 |
|
HH MM SS |
Lange Ganzzahl |
1 |
|
Hour min |
Lange Ganzzahl |
4 |
1 Stunde 2 Minuten |
Hour min sec |
Lange Ganzzahl |
3 |
1 Stunde 2 Minuten 3 Sekunden |
ISO time |
Lange Ganzzahl |
8 |
|
Min sec |
Lange Ganzzahl |
7 |
62 Minuten 3 Sekunden |
MM SS |
Lange Ganzzahl |
6 |
|
System time long |
Lange Ganzzahl |
11 |
1:02:03 AM HNEC (nur Mac OS) |
System time long abbreviated |
Lange Ganzzahl |
10 |
1•02•03 AM (nur Mac OS) |
System time short |
Lange Ganzzahl |
9 |
|
Hinweise:
- Das Format ISO Time entspricht dem Standard ISO8601 und enthält theoretisch ein Datum und eine Zeit.Da dieses Format keine Kombination Datum/Zeit unterstützt, wird der Datumsteil mit Nullen gefüllt. Dieses Format stellt die lokale Zeit dar.
- Die Konstante Blank if null muss zum Format hinzugefügt werden; sie gibt an, dass 4D im Falle von einem Nullwert anstelle von Nullen einen leeren String zurückgibt.
Diese Beispiele gehen von der aktuellen Zeit 5:30 PM und 45 Sekunden aus:
$vsResult:=String(Current time)
$vsResult:=String(Current time;Hour Min Sec)
Ausdruck vom Typ String
Ist Ausdruck vom Typ String oder Text, gibt die Funktion den Wert wie eingetragen zurück. Das ist besonders bei generischer Programmierung mit Zeigern hilfreich. In diesem Fall wird der Parameter Format ignoriert.
Ausdruck vom Typ Boolean
Ist Ausdruck vom Typ Boolean, gibt die Funktion den String "True" oder "False" in der Sprache der Anwendung zurück, also "Wahr" oder "Falsch" in der deutschen Version. In diesem Fall wird der Parameter Format ignoriert.