prevnext   » Startseite » Haupt-Referenz » Funktions-Referenz » Print()

Print()

Einen formatierten Text erzeugen.

Syntax:

string Print ( format, p1, ..., pN )

Parameter:

format Eine Formatzeichenkette. Details sind im Fließtext erklärt.
p1, ..., pN Null oder mehr Argumente, die von format angesprochen werden.

Beschreibung:

Inhaltsverzeichnis


1.   Einleitung

Aus eine Formatzeichenkette und der Argumentliste wird eine neue Zeichenkette erzeugt. Die Regeln der Umwandlung sind ähnlich mit denen der C-Funktion vprintf() und dessen Varianten. Jedoch gibt es einige Erweiterungen.

Die Argumente werden automatisch an den durch format geforderten Typ angepasst bzw. umgewandelt. Si wird z.B. eine Zeichenkette gescanned, wenn sie als Ganzzahl ausgegeben werden soll.


2.   Die Formatzeichenkette

Die Formatzeichenkette format ist eine einfache Zeichenkette mit Null oder mehr Direktiven. Einfache Zeichen (nicht '%') werden einfach 1:1 kopiert.

Direktiven beginnen mit einem Prozentzeichen '%' und enden mit einem Umwandlungszeichen. Sie benötigen Null oder mehr Argumente und erzeugen eine textuelle Darstellung der Argumente. Zwischen Prozent- und Umwandlungszeichen stehen jeweils optional, aber in dieser Reichenfolge, ein Index, Flags, eine minimale Feldweite, eine zweite Feldweite, eine Genauigkeit und eine Längenangabe:

'%' [index ':'] [flags] [fw1] [':' fw2] ['.' prec] conv_char

Die Argumente müssen passend zu den Direktiven sein.


2.1   Parameter-Index

Optional kann ein Index angegeben werden. Dieser Index beginnt direkt hinter dem Prozentzeichen mit einer Ziffer aus dem Bereich 1 bis 9 gefolgt von weiteren Ziffern gefolgt von einem Doppelpunkt.

Dieser Index, ist 1-basiert und gibt an, auf den wievielten Parameter sich die nächste Umwandlung bezieht. Die weiteren Umwandlungen nutzen anschließend die Parameter ab index+1.


2.2   Flags

Die Flags, die direkt dem Prozentzeichen folgen, bestehen aus Null oder mehr der folgenden Zeichen in beliebiger Reichenfolge:


2.3   Feldweite

Nach den optionalen Flags folgt die optionale Angabe einer (minimalen) Feldweite. Die Feldweite wird als Dezmalzahl ohne führende Null angegeben.

Soweit nicht anders beschrieben gilt: Falls der umgewandelte Wert weniger Zeichen hat als die Feldweite angibt, dann wird die Zeichenkette links (oder rechts, wenn Flags - angegeben wurde) mit Leerzeichen (oder evtl. Nullen, wenn Flag 0 angegeben wurde) auf die angegebene Feldweite erweitert.

Wird ein Stern (*) anstatt einer Dezimalzahl angegeben, dann wird als nächstes Argument eine Ganzzahl vom Typ int erwartet um die Feldweite festzulegen. Bei negative Werten wird das --Flag gesetzt und der Absolutwert verwendet.

Bei einigen Umwandlungen wird die Feldweite auf einen Wert >1000 begrenzt, um Puffer-Überläufe effektiv zu vermeiden.

Die Feldweite führt auf keinem Fall zu einem Abschneiden des umgewandelten Wertes.


2.4   2. Feldweite (für Folgezeilen)

Die Umwandlung mittels V (dcValue) benötigt eine zweite Feldweite. Diese optionale Angabe wird durch einen Doppelpunkt gefolgt von einer optionalen Dezimalzahl (:number) angegeben.

Diese zweite Zahl wird auch für die Umwandlungen 'N' und '[H' verwendet.

Bei den Umwandlungen 'd', 'i', 'm' und 'u' wird diese 2. Feldweite als Angabe der Zahlenbasis verwendet, wenn der Wert >=2 und <=62 ist.

Wird ein Stern (*) anstatt einer Dezimalzahl angegeben, dann wird als nächstes Argument eine Ganzzahl vom Typ int erwartet um die Feldweite festzulegen. Bei negative Werten wird der Absolutwert verwendet.


2.5   Genauigkeit

Die Optionale Genauigkeit wird durch einen Punkt gefolgt von einer optionalen Dezimalzahl (.number) angegeben.

Wird ein Stern (*) anstatt einer Dezimalzahl angegeben, dann wird als nächstes Argument eine Ganzzahl vom Typ int erwartet um die Genauigkeit festzulegen.

Besteht die Genauigkeit aus nur einem Punkt oder ist sie negativ, dann wird Wert Null verwendet.

Die Bedeutung ist abhängig von der Umwandlung:


2.6   Umwandlungszeichen

Das Umwandlungszeichen beendet die Direktive und löst die eigentliche Umwandlung aus. Es existieren die folgenden Umwandlungszeichen:

Alle anderen Umwandlungszeichen sind verboten und werden ignoriert.

Funktionsergebnis:   STRING

Als Funktionsergebnis wird die erzeugte Zeichenkette geliefert.

Siehe auch:
 scan()   printTime()   printInterval()   printBitField() 

Weitere ähnliche Funktionen:

Formatierte Ausgabe
Funktion Kurzinfo
hexDump() Eine Zeichenkette als Hex-Dump ausgeben.
Print() Einen formatierten Text erzeugen.
printBitField() Ein Bitfeld in eine textuelle Darstellung überführen.
printFileName()
printInterval() textausgabe eines Zeitintervalles
printRoman() Ganzzahl in römischer Schreibweise ausgeben.
printTime() Formatierte Ausgabe einer Datums- und Zeitangabe.
string()