Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Formatierung von Strings (FormatMaskText) (https://www.delphipraxis.net/59678-formatierung-von-strings-formatmasktext.html)

dataspider 27. Dez 2005 10:38


Formatierung von Strings (FormatMaskText)
 
Hallo,
ich komme beim Formatieren von Strings nicht weiter.
Es geht um eine universelle Schnittstelle zum Import von CSV - Dateien.
Jetzt habe ich z.B. eine Rechnungsnummer als String:
6.050.0234
Die Punkte sollen weg. Im Code kein Problem. Ich habe aber schon einen Importassistent fertig.
Da ich nicht für jede Eventualität bereits Code schreiben möchte, wollte ich nur die Eingabe eines FormatStrings und eines MaskStrings zulassen in der Hoffnung, dass damit fast alle Umwandlungen möglich sind.
Jetzt finde ich aber schon nicht mal den MaskString zum Entfernen der Punkte.
FormatMaskText('6.050.0234', '0') schneidet ab, '000000000000' macht hinten Leerzeichen ran und die Punkte sind auch noch da.
Ist es möglich, aus '6.050.0234' '60500234' zu machen mit Format oder FormatMaskText oder einer ähnlichen Standardfunktion?
Danke, Frank

marabu 27. Dez 2005 12:07

Re: Formatierung von Strings (FormatMaskText)
 
Hallo Frank,

Zitat:

Zitat von dataspider
Ist es möglich, aus '6.050.0234' '60500234' zu machen mit Format oder FormatMaskText oder einer ähnlichen Standardfunktion?

Umgekehrt - ja. Mit FormatMaskText() steuerst du zusätzliche Zeichen bei um einen string optisch aufzuwerten.

Wenn du die Forderung nach einer Standardfunktion fallen lässt, dann kannst du aber eine eigene Funktion verwenden. In einem anderen thread hatte ich einmal ein Beispiel für ein sehr einfaches pattern matching gegeben, bei dem die Steuerparameter extern - z.B. in einer INI-Datei - vorgegeben werden können:

Delphi-Quellcode:
if '60500234' = Reformat('6.050.0234', '1.222.3333', '12223333')
  then ShowMessage('okay');
Eine echte Alternative dazu sind dann nur noch regular expressions.

Grüße vom marabu

dataspider 28. Dez 2005 11:16

Re: Formatierung von Strings (FormatMaskText)
 
Hi marabu,
habe mich nun mit regulären Ausdrücken auseinandergesetzt und finde es auch allgemein sehr hilfreich.

Danke für die Hilfe...

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 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 by Thomas Breitkreuz