| Hauptmenü | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Format-Strings (Zeichenketten formatieren) |
|
|
| Geschrieben von Lemmy | |||||||||||||||||||||||||||||
| Sonntag, 19. Februar 2006 | |||||||||||||||||||||||||||||
|
Worum es geht: Mit Format-Strings kann man in eine Zeichenkette beispielsweise bestimmte Zahlenwerte sehr komfortabel einfügen. Beispiel zur Verdeutlichung: Folgender Satz soll in ein Editfeld eingefügt werden: "In der Liste sind x Einträge vorhanden und davon ist der y. Eintrag markiert." Wobei x die Anzahl der Listeneinträge und y der Index des markierten Eintrages sind.Herkömmlich könnte man es so gestallten: Edit1.Text:='In der Liste sind '+IntToStr(ListBox1.Items.Count) +'Einträge vorhanden und davon ist der ' +IntToStr(ListBox1.ItemIndex) +' .Eintrag markiert.'; Mit einem Format-String geht es jedoch viel übersichtlicher: Edit1.Text:=Format('In der Liste sind %d Einträge vorhanden und davon ist'+ 'der %d. Eintrag markiert.',[ListBox1.Items.Count, ListBox1.ItemIndex]); Dabei sind die %-Zeichen eine Art Platzhalter für den Zahlenwert. Die einzelnen Zahlenwerte sind am Ende in eckigen Klammern aufgeführt. Ausführliche Beschreibung von Format-Strings: Dieser Platzhalter kann auch Format-Spezifizierer (FS) genannt werden. Er kann ziemlich komplex sein. Hier der Formale Aufbau: % [:] [-] [Breite] [.] Typ Ein FS beginnt immer mit %. Danach folgen optionale Argumente, die also weggelassen werden können. Am Ende wird immer der Umwandlungstyp angegeben. Übersicht der optionalen Argumente:
Übersicht der Umwandlungstypen:
Ein Zahlenbeispiel: Kommazahl: Edit1.Text:=Format('%8.2f',[123.456]); Setzt die Stringbreite auf 8 Zeichen (inklusive Komma und Nachkommastellen). Hat die Zahl weniger Stellen, so werden Leerzeichen vorne angefügt. Die 2 bewirkt die Anzeige von 2 Nachkommastellen. ist ein - vor der 8, so werden die Leerzeichen rechts angefügt. Indexnutzung: Durch die Angabe eines Indexes können Argumente in beliebiger Reihenfolge und auch mehrmals angezeigt werden: Edit1.Text:=Format('%d %d %0:d %1:d', [10, 20]); //erzeugt: '10 20 10 20' Format-Strings können in folgenden Routinen verwendet werden: Format function FormatBuf function FmtStr procedure StrFmt function StrLFmt function |
|||||||||||||||||||||||||||||
| Weiter > |
|---|