Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Format-String und Literale (https://www.delphipraxis.net/32187-format-string-und-literale.html)

egal 20. Okt 2004 08:40


Format-String und Literale
 
Hallo,
gibt's in Delphi bei Format-String so ein Sonderzeichen für Literale, wie z.B. in Fortran "\"? Wenn ich so ein Zeichen schreibe, das bedeutet, dass das nachfolgende Zeichen als Literale behandelt wird.

Dax 20. Okt 2004 08:45

Re: Format-String und Literale
 
Wenn du ein % darstellen willst, schreibe einfach '%%' in den String, dan wird es nicht als Format-Angabe betrachtet.
Wenn du allerdings ein "Zeichen" wie einen Zeilenumbruch oder das æ haben willst, musst du schon Charcodes angeben, z.B. #13 für den Zeilenumbruch und #145 für æ.

egal 20. Okt 2004 09:31

Re: Format-String und Literale
 
Zitat:

Zitat von Dax
Wenn du ein % darstellen willst, schreibe einfach '%%' in den String, dan wird es nicht als Format-Angabe betrachtet.
Wenn du allerdings ein "Zeichen" wie einen Zeilenumbruch oder das æ haben willst, musst du schon Charcodes angeben, z.B. #13 für den Zeilenumbruch und #145 für æ.

Danke für die Antwort, den Zeilenumbruch brauche ich eigentlich auch, aber ich habe was anderes gemeint, ich mache am besten ein kleines Beispiel:

s:= Format('Termin am %d.%2d.%d', [12, 8, 2000]);

Der Punkt im Datumformat soll als Literale behandelt werden. Ich weiß, dass es spezielle Datumformate gibt, aber ich konnte momentan keinen anderen Beispiel ausdenken. In Fortran könnte man ungefähr so schreiben:

s= Format('Termin am %d\.%2d\.%d', [12, 8, 2000]);

Der Punkt wird in diesem Fall als Literale behandelt. :-D

jim_raynor 20. Okt 2004 09:35

Re: Format-String und Literale
 
Zitat:

Zitat von egal
s= Format('Termin am %d\.%2d\.%d', [12, 8, 2000]);

Der Punkt wird in diesem Fall als Literale behandelt. :-D

In Delphi musst du das nicht machen, da der einzelne Punkt nicht als Sonderzeichen gilt. Das einzige Zeichen, dass du entwerten musst ist das % (mit %%). Alle anderen werden 1:1 übernommen.
P.S: Schau dir auch mal TimeToStr an.

egal 20. Okt 2004 09:47

Re: Format-String und Literale
 
Zitat:

Zitat von jim_raynor
Zitat:

Zitat von egal
s= Format('Termin am %d\.%2d\.%d', [12, 8, 2000]);

Der Punkt wird in diesem Fall als Literale behandelt. :-D

In Delphi musst du das nicht machen, da der einzelne Punkt nicht als Sonderzeichen gilt. Das einzige Zeichen, dass du entwerten musst ist das % (mit %%). Alle anderen werden 1:1 übernommen.
P.S: Schau dir auch mal TimeToStr an.

Alles klar, habe gerade ein Beispiel in Delphi gemacht, es funktioniert einfach so, danke! :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.

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