Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#14

Re: String formatieren ?

  Alt 1. Jul 2009, 18:39
Zitat von madina:
Hallo,

es funktioniert nur statisch, mit einer Variable iZahl, der insgesamt 3 Stellen besitzen soll und jenachdem ' 1' oder ' 11' oder '999' ausgeben soll klapt es nicht.

mfg
madina, dir ist aber klar, daß es Schriften gibt die feste Zeichen-Breiten haben, wie zB. Courier New, und Schriften die variable Zeichen-Breiten haben, wie zB. Arial oder MS Sans Serif (Standardschrift). Bei Courier New ist ein Leerzeichen genauso breit wie die Zahl 1. Bei Arial ist das Leerzeichen viel schmäler als die Zahl 1. Wenn du also 1 (vor der 1 sind drei Leerzeichen) und 999 untereinander setzt, dann ist die 1, obwohl zwei Zeichen davor, viel weiter vorne als die letzte 9 von 999.

Deshalb bat ich dir auch das auszuführen:
ShowMessage(':' + Format('%200d', [1])); Wenn du willst, daß die Leerzeichen die gleiche breiten haben wie Zahlen, dann nim Courier New als Schrift.
  Mit Zitat antworten Zitat