Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TStringList: Problem beim Sortieren bei Texte mit Zahlen (https://www.delphipraxis.net/142086-tstringlist-problem-beim-sortieren-bei-texte-mit-zahlen.html)

Helmi 21. Okt 2009 21:57


TStringList: Problem beim Sortieren bei Texte mit Zahlen
 
Hallo,

ich lese eine Datei aus deren Einträge z. B. wie folgt aufgebaut sind:
Code:
N10230 $MN_SCALING_FACTORS_USER_DEF[0]=1
Nur gibt es diesen Eintrag mehrmals in der Datei, nur die Zahl in den eckigen Klammern verändert sich.

Nach dem Auslesen speichere ich die einzelnen Einträge in einer StringList und lasse diese mittels
StringList.Sort sortieren.

Leider sortiert diese Funktion nicht aufsteigend, sondern nur nach Anfangsnummer.
Was dann so ausschaut:

Code:
N10230 $MN_SCALING_FACTORS_USER_DEF[0]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[1]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[10]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[11]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[12]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[13]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[14]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[2]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[3]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[4]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[5]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[6]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[7]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[8]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[9]=1
Ich hätts aber gerne so sortiert:

Code:
N10230 $MN_SCALING_FACTORS_USER_DEF[0]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[1]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[2]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[3]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[4]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[5]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[6]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[7]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[8]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[9]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[10]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[11]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[12]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[13]=1
N10230 $MN_SCALING_FACTORS_USER_DEF[14]=1
Wie könnt ich das bei der StringList realisieren?

(das Ändern der Einträge ist nicht möglich, also aus [1] kann ich nicht [01] machen)

Sir Rufo 21. Okt 2009 22:00

Re: TStringList: Problem beim Sortieren bei Texte mit Zahlen
 
Jede Zeile aus dem Stringlist nehmen, den Zahlenteil zwischen den eckigen Klammern auslesen, in einen integer umwandeln und dann die stringlist manuell danach sortieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 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