StrFormat
Informationen
- Kategorien: Kernel | Klassenformeln
- Version: 15.0.0.3317
- Veröffentlichungsdatum: Mittwoch, 11. Januar 2012
- Entwickler: Schulze
- Benötigt Datenbankänderung: Nein
- Betreff: StrFormat
Beschreibung
StrFormat( «string sFormat» [, «variant $value1»] [, «variant $value2»] ... [, «variant $valueN»] )
Die Funktion ersetzt ein oder mehrere Formatelemente in einer angegebenen Zeichenfolge durch die Zeichenfolgendarstellung eines angegebenen Objekts.
Die Funktion verwendet die kombinierte Formatierung in .NET Framework, welche als Eingabe eine Liste von Objekten und eine kombinierte Formatzeichenfolge verlangt. Eine kombinierte Formatzeichenfolge besteht aus festgelegtem Text mit indizierten Platzhaltern, so genannten Formatelementen, die den Objekten in der Liste entsprechen. Der Formatierungsvorgang liefert eine Ergebniszeichenfolge, die sich aus dem ursprünglichen festgelegten Text und der Zeichenfolgendarstellung der Objekte in der Liste zusammensetzt.
Die Quellzeichenfolge besteht aus 0 (null) oder mehreren Einheiten festgelegten Texts mit mindestens einem Formatelement. Der festgelegte Text ist eine beliebige Zeichenfolge. Jedes Formatelement entspricht einem Objekt oder einer geschachtelten Struktur in der Liste. Das Feature für die kombinierte Formatierung gibt eine neue Ergebniszeichenfolge zurück, in der jedes Formatelement durch die Zeichenfolgendarstellung des entsprechenden Objekts in der Liste ersetzt wird.
Alle Formatelemente weisen die folgende Form auf und bestehen aus folgenden Komponenten: {Index[,Ausrichtung][:Formatzeichenfolge]} Die übereinstimmenden geschweiften Klammern ("{" and "}") sind erforderlich. ")
siehe "Kombinierte Formatierung .NET 4" http://msdn.microsoft.com/de-de/library/txafckwd.aspx
Weitere Informationen zu Formatzeichenfolgen unter http://msdn.microsoft.com:
- Standardmäßige Zahlenformatzeichenfolgen (http://msdn.microsoft.com/de-de/library/dwhawy9k.aspx)
- Benutzerdefinierte Zahlenformatzeichenfolgen (http://msdn.microsoft.com/de-de/library/0c899ak8.aspx)
- Datums- und Uhrzeitstandardformatzeichenfolgen (http://msdn.microsoft.com/de-de/library/az4se3k1.aspx)
- Benutzerdefinierte Datums- und Uhrzeitformatzeichenfolgen (http://msdn.microsoft.com/de-de/library/8kb3ddd4.aspx)
Beispielcode
Beispiel 1:
==========:
var time $time;
$time = Now();
MessageBox( StrFormat( "Zeit={0}", $time ) );
Beispiel 2:
==========:
var string $string;
var int $int;
var double $double;
var date $date;
var time $time;
var entity $entity;
var entitylist $entitylist;
var string $stringarray[2];
var int $intarray[2];
var double $doublearray[2];
var date $datearray[2];
var time $timearray[2];
$string = "abc";
$int = 123456;
$double = 123456.78;
$date = Now();
$time = Now();
$entity = this;
$entitylist = :EL_XXX;
$stringarray[0] = "Eintrag1";
$intarray[0] = 11;
$doublearray[0] = 12.34;
$datearray[0] = Now();
$timearray[0] = Now();
$stringarray[1] = "Eintrag2";
$intarray[1] = 22;
$doublearray[1] = 56.78;
$datearray[1] = AddDays( Now(), 1 );
$timearray[1] = AddDays( Now(), 1 );
MessageBox(
StrFormat(
"String={0}\n" +
"Ganzzahl={1}\n" +
"Gleitkommazahl={2}\n" +
"Datum={3}\n" +
"Zeit={4}\n" +
"Entity={5}\n" +
"Entitylist={6}\n" +
"StringArray={7}\n" +
"GanzzahlArray={8}\n" +
"GleitkommazahlArray={9}\n" +
"DatumArray={10}\n" +
"ZeitArray={11}",
$string, $int, $double, $date, $time, $entity, $entitylist,
$stringarray, $intarray, $doublearray, $datearray, $timearray ) );
/*
Ausgabe der MessageBox:
String=abc
Ganzzahl=123456
Gleitkommazahl=123456,78
Datum=01.12.2011 00:00:00
Zeit=01.12.2011 17:14:30
Entity=Testobjekt
Entitylist=EntityList (8 Objekte der Klasse 'Cad-Attribute')
StringArray=[2] Eintrag1,Eintrag2
GanzzahlArray=[2] 11,22
GleitkommazahlArray=[2] 12,34,56,78
DatumArray=[2] 01.12.2011,02.12.2011
ZeitArray=[2] 01.12.2011 17:14:30,02.12.2011 17:14:30
*/
Beispiel 3:
==========:
MessageBox( StrFormat(
"1.Zeit={0}\n" +
"2.Zeit={0:R}\n" +
"3.Zeit={0:G}\n" +
"4.Zeit={0:M}\n" +
"5.Zeit={0:T}\n" +
"1.Double={0}\n" +
"2.Double={0:E}\n" +
"3.Double={0:F}\n" +
"4.Double={0:F4}\n" +
"5.Double={0:N}\n" +
"1.Int={1}\n" +
"2.Int={1:N}\n" +
"3.Int={1:X}\n" +
"4.Int={1:X8}\n" +
"5.Int={1,8:X}"
, $time, $double, $int ) );
/*
Ausgabe der MessageBox:
1.Zeit=01.12.2011 16:53:29
2.Zeit=Thu, 01 Dec 2011 16:53:29 GMT
3.Zeit=01.12.2011 16:53:29
4.Zeit=01 Dezember
5.Zeit=16:53:29
1.Double=123456,78
2.Double=1,234568E+005
3.Double=123456,78
4.Double=123456,7800
5.Double=123.456,78
1.Int=123456
2.Int=123.456,00
3.Int=1E240
4.Int=0001E240
5.Int= 1E240
*/