Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Kommagetrennte Daten in Set umwandeln??? (https://www.delphipraxis.net/128516-kommagetrennte-daten-set-umwandeln.html)

romber 31. Jan 2009 10:29


Kommagetrennte Daten in Set umwandeln???
 
Ich habe einen neuen Type erstellt und ein neues Set für diesen Type.

Delphi-Quellcode:
type TMyData = (mData1 = 1,
                mData2 = 2,
                mData3 = 3,
                mData4 = 4,
                ...,
                ...);

type TSetOfMyData = Set of TMyData;
Dann habe ich einen String mit mehreren Zahlen drin, kommagetrennt. Jedes Zahl entsrpicht der TMyData. Um aus diesem String ein Set zu generieren, erstelle ich eine TStringList und laufe die getrennte Werte in einer Schleife durch. Es gibt aber sicher eine elegantere Methode.

Wie ist die schnellste und beste Methode, aus diesem String ein Set zu generieren?

Apollonius 31. Jan 2009 10:55

Re: Kommagetrennte Daten in Set umwandeln???
 
Warum nimmst du kein set of Byte? Zum Einlesen würde ich die Prozedur Val verwenden, die dir anzeigt, an welcher Stelle der erste Konvertierungsfehler (z.B. keine Ziffer) ist und das Ergebnis bis dahin. Dieses Ergebnis fügst du mit Include der Menge hinzu, schneidest den Anfang des Strings ab (oder rückst mit einem PChar weiter) und wiederholst das, bis der String leer ist.

Bernhard Geyer 31. Jan 2009 11:53

Re: Kommagetrennte Daten in Set umwandeln???
 
Du kannst versuch es genauso zu machen wie die IDE/VCL bei den DFM-Dateien. In der Unit Types.pas sind entsprechende Methoden zum schreiben/lesen von Sets.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.

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