Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Format-Strings (https://www.delphipraxis.net/26147-format-strings.html)

ibp 19. Jul 2004 10:26


Format-Strings
 
Hallo,
montag morgen und schon die ersten probleme ;-)

Mein Problem: habe eine zahl 2..3 stellig und die sall asl string der form dargestellt werden:
für 124 : '\124' das ist ja kein wirkliches problem
aber...

für 28: '\028' hier ist die null das problem, ich möchte nicht noch eine zusätzliche abfrage machen, wenn es geht, also hab ich mich um format-strings bemüht...

Delphi-Quellcode:
result:=result+format('\%3d',[ZeichenNr]) // ersetzte Zeichen
aber es funzt nicht :wall: obwohl in der oh steht ...

Zitat:

d Dezimal. Das Argument muss ein Integerwert sein. Der Wert wird in einen String umgewandelt, der aus Dezimalzahlen besteht. Wenn der Format-String einen Bezeichner für die Genauigkeit enthält, muss der resultierende String mindestens die angegebene Anzahl von Stellen aufweisen. Enthält er weniger Stellen, wird der String auf der linken Seite mit Nullen aufgefüllt.
... warum?????

MathiasSimmack 19. Jul 2004 10:39

Re: Format-Strings
 
Du hast den Punkt vor der 3 vergessen.

oki 19. Jul 2004 10:40

Re: Format-Strings
 
Hi,

also bei mir steht in der Hilfe, dass die fehlenden Stellen mit Leerzeichen aufgefüllt werden. Das bei entsprechender Ausrichtungsangabe vor oder nach dem String.

Mit "0" ist da nichts!

Verwende sonst FormatFloat. Hier kannst du als FormatString '000' eintragen und es funzt wie gewollt.

Gruß oki

oki 19. Jul 2004 10:42

Re: Format-Strings
 
Oooops,

war langsammer als MathiasSimmack und er hat auch noch recht.

Gruß oki

ibp 19. Jul 2004 10:54

Re: Format-Strings
 
thx at all, so klappts auch mit den nullen :thuimb:

Delphi-Quellcode:
result:=result+format('\%.3d',[ZeichenNr])

Robert Marquardt 19. Jul 2004 15:40

Re: Format-Strings
 
Das ist vielleicht das groesste Problem von Format() das es die Format-Strings von C nicht voll uebernommen hat.
Ich hatte schon oefters den Wunsch das mal zu implementieren, aber wenn man den Standard (ja das ist inzwischen standardisiert) liest dann ueberlegt man es sich immer wieder.

ibp 19. Jul 2004 16:32

Re: Format-Strings
 
Zitat:

Zitat von Robert Marquardt
Das ist vielleicht das groesste Problem von Format() das es die Format-Strings von C nicht voll uebernommen hat.
Ich hatte schon oefters den Wunsch das mal zu implementieren, aber wenn man den Standard (ja das ist inzwischen standardisiert) liest dann ueberlegt man es sich immer wieder.

:wiejetzt:

Luckie 19. Jul 2004 16:41

Re: Format-Strings
 
Es ist nur eine unvollständige "Übersetzung" der String-Formatierungs-Möglichkeiten, wie sie aus C bei printf zum Beispiel möglich sind. das wollte Robert damit wohl sagen.

Robert Marquardt 19. Jul 2004 18:18

Re: Format-Strings
 
Genau. Delphi und C sind auch noch dezent inkompatibel bei den Format-Strings.
Vielleicht koennten wir mal ein Projekt dazu anleiern.

Robert_G 19. Jul 2004 18:57

Re: Format-Strings
 
Zitat:

Zitat von Robert Marquardt
Genau. Delphi und C sind auch noch dezent inkompatibel bei den Format-Strings.
Vielleicht koennten wir mal ein Projekt dazu anleiern.

Ist gar nicht nötig, unter .Net funktioniert es gleich, egal ob c# oder Delphi.Net (bis auf das nervige "System."):
Delphi-Quellcode:
System.String.Format('{0} - {1} ({2,2:00}:{3,2:00} min)'
                    ,['Filter', 'Welcome to the Fold', 7, 40]);
Code:
String[b][color=#ff0000].[/color][color=#3600aa]Format[/color][color=#ff0000]([/color][/b][color=#ad0000]"{0} - {1} ({2,2:00}:{3,2:00} min)"[/color]
             [b][color=#ff0000],[/color][/b][color=#3600aa]new[/color] [b]Object[color=#ff0000][] {[/color][/b][color=#ad0000]"Van Halen"[/color][b][color=#ff0000], [/color][/b][color=#ad0000]"Running with the devil"[/color][b][color=#ff0000], [/color][/b][color=#ad00bb]3[/color][b][color=#ff0000], [/color][/b] [color=#ad00bb]34[/color] [b][color=#ff0000]});[/color][/b]


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.
Seite 1 von 3  1 23      

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