Mit TStringList und Sorted nach Zahlen sortieren
-
hallo,
ich möchte eine highscore in eine textdatei schreiben, kriege das mit dem sortieren aber nicht ganz hin.
ich habe es mit folgendem code versucht:TStringList *high = new TStringList(); high->Sorted=true; high->LoadFromFile("Highscore.txt"); high->Add(IntToStr(ges_btr) + " : " + name); high->SaveToFile("Highscore.txt"); AnsiString gesamt; int end=high->Count; AnsiString einzel; for (int i=0;i<=end-1;i++) { einzel=high->Strings[i]; gesamt+=einzel + "\n";} gesamt="Highscore!\n=========\n\n" + gesamt; Application->MessageBoxA(gesamt.c_str(),"Glücksrad",0); high->SaveToFile("Highscore.txt"); }die MessageBoxA gibt es zwar schön aus, aber nicht sortiert, die Highscore.txt sieht folgendermapeßen aus, und so sieht auch die MessageBoxA aus.
0 : armin 1200 : Any 1800 : Armin 400 : armin 500 : sdfasfd 6000 : Arminthx
BigBanana
-
Ist doch korrekt sortiert

Für eine eigene Methode (hier nummerisch) gibt es TStringList::CustomSort dort wird der Funktion zwei Werte aus der Liste übergeben. Die Funktion muss dann nur noch entscheiden, welcher zuerst kommt.
-
Siehe auch den entsprechenden FAQ-Beitrag zu CustomSort.
-
ok, ich habs mit CustomSort probiert, aber sortiert ist es immer noch nicht richtig. der neue eintrag kommt jetzt irgendow in die mitte hin!
plz help!
BigBanana
-
Hallo
Wie sollen wir dir helfen, wenn du deinen entsprechenden Codeausschnitt nicht postest?
bis bald
akari