Sorry, ist wirklich nicht böse gemeint, aber du schreibst wirr.
| Barret hat folgendes geschrieben: |
| Die einfachte Lösung wär aber ich häng den neuen String der eingetragen wird einfach ran und tausch den ersten aus. |
Niemand hat zuvor von "neuen String eintragen" gesprochen. Woher soll man jetzt wissen, was du meinst?
Aber egal ....
| Barret hat folgendes geschrieben: |
Die Datei siht so aus: Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| 425 1 Abidschan Adana Addis Abeba Adelaide Agra "Belo Horizonte" | |
Dein Code, der diese Datei einliest und als CommaText in die StringGrid-Zeilen schreibt, versucht
zwei Spalten zu belegen.
Die einzelnen Wörter der Datei (
Adana z.B.) landen in der ersten Spalte. Das ist korrekt.
Belo Horizonte landet auch (beide Wörter) in der ersten Spalte, weil es in Anführungszeichen steht. So weit, so gut.
Addis landet in der
ersten,
Abeba in der
zweiten Spalte.
Du hast aber
nur eine Spalte! Das macht die 1 in der zweiten Zeile der Datei, welche später im Code die Spaltenanzahl bestimmt.
Es verschwindet damit dein
Abeba!
Wenn du das StringGrid jetzt zurückschreibst, wird
Abeba ebenfalls weggelassen.
Kannst du das nachvollziehen?
Das ist das, was mir aufgefallen ist. Das ist so programmiert und das Verhalten erscheint entsprechend der Programmierung völlig okay. Das ist auch völlig unabhängig von der Methode Sort. Die ändert nur die Reihenfolge (Sortierung) in der StringList, und zwar korrekt.
Ist das jetzt so von dir gewollt oder entdeckst du schon einen Fehler in deinen Überlegungen?