Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   String formatieren ? (https://www.delphipraxis.net/136368-string-formatieren.html)

Popov 30. Jun 2009 11:17

Re: String formatieren ?
 
Zitat:

Zitat von madina
mit den ersten 2 Lösungen klappt es nicht.

Nur mal so: das funktioniert natürlich nicht:

Delphi-Quellcode:
s := Trim(Format('%3d',[1]));
Aber bevor wir lange diskutieren, teste das mal:

Delphi-Quellcode:
ShowMessage(':' + Format('%200d', [1]));
Und sag uns ob zwischen dem Doppelpunkt und 1 eine Lücke ist.

Und noch was. Ich hoffe nicht, daß du ein Html-Code generierst. Da werden Leerzeichen > 1 ignoriert.

madina 1. Jul 2009 11:25

Re: String formatieren ?
 
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

Lannes 1. Jul 2009 11:33

Re: String formatieren ?
 
Hallo,

ehrlich gesagt versteh ich nicht was Du meinst.
Was klappt nicht?
- Fehlermeldung
- wird nichts ausgegeben
- etc.

Poste doch mal den Code(incl. Deklaration ,Initialisierung, Ausgabe etc. der Variable) den Du benutzt.

Popov 1. Jul 2009 17:39

Re: String formatieren ?
 
Zitat:

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:
Delphi-Quellcode:
ShowMessage(':' + Format('%200d', [1]));
Wenn du willst, daß die Leerzeichen die gleiche breiten haben wie Zahlen, dann nim Courier New als Schrift.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz