Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Frage zu sortieren mehrer Stringlisten


hansg - Di 09.11.10 20:08
Titel: Frage zu sortieren mehrer Stringlisten
Hallo,
komme irgendwie nicht weiter bzw. mir fehlt der Ansatz.
Habe 10 Stringlisten in denen ich Daten ablege
Jetzt möchte ich wenn z.B. die erste leer ist das der Inhalt der anderen nach vorne wandern, Inhalt Liste 2 nach 1, 3 nach 2 usw.
Das gleiche wenn z.B. die 4.leer ist und die dahinter sich dann auch verschieben.
Hat da jemand einen Tip für mich wie das am besten angehe?


platzwart - Di 09.11.10 20:20

Inhalt Liste 2 nach 1, 3 nach 2 usw.

> Das bedeutet, die Reihenfolge lautet 1, 2, 3...? Wo ist da das Problem? Aus deinem Text kann ich weder verstehen, was die Stringlisten sollen, noch kann ich verstehen, was da wie sortiert werden soll... :gruebel: Kannst du vielleicht ein etwas ausführlicheres Beispiel geben?


hansg - Di 09.11.10 20:23

user profile iconplatzwart hat folgendes geschrieben Zum zitierten Posting springen:
Inhalt Liste 2 nach 1, 3 nach 2 usw.

> Das bedeutet, die Reihenfolge lautet 1, 2, 3...? Wo ist da das Problem? Aus deinem Text kann ich weder verstehen, was die Stringlisten sollen, noch kann ich verstehen, was da wie sortiert werden soll... :gruebel: Kannst du vielleicht ein etwas ausführlicheres Beispiel geben?


Habe da kein Beispiel, die Listen an sich sollen so bleiben wie sie sind, nur halt wandern wenn eine leer wird


Gausi - Di 09.11.10 20:26

Ein erster Vorschlag: Inhalte umkopieren

Delphi-Quelltext
1:
2:
3:
4:
StringList1.AddStrings(StringList2);
StringList2.Clear;
StringList2.AddStrings(StringList3);
// usw.


Alternativ, nur die Stringlist-Variablen schieben

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var tmpList: TStringList;

tmpList := StringList1;
StringList1 := StringList2;
StringList2 := StringList3;
StringList3 := StringList4;
StringList9 := StringList10;
StringList10 := tmp;


hansg - Di 09.11.10 20:33

Danke für den Anstoß
nur wie mache ich das wenn z.B. eine mitten drinn leer wird?


Gausi - Di 09.11.10 20:41

Das geht dann so. ;-)

Delphi-Quelltext
1:
2:
3:
4:
5:
tmpList := StringListMittendrin;
StringListMittendrin := StringListEineNachMittendrin;
StringListEineNachMittendrin := StringListZweiNachMittendrin;
//..
StringListENDE := tmpList;

Wie du das intelligenter an deinem Code lösen kannst, kann ich so nicht sagen. :nixweiss:


bummi - Di 09.11.10 20:46

Die Listen in einer Liste organisieren und nach Tag/Nummer oder was auch immer aufsteigend und nach Leer absteigend sortieren.


jaenicke - Di 09.11.10 20:47

Generell hört es sich so an als wäre dein Ansatz ungünstig, aber wenn du darüber nicht mehr sagst, können wir auch nur die Symptome lindern versuchen... ;-)


hansg - Di 09.11.10 20:50

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Generell hört es sich so an als wäre dein Ansatz ungünstig, aber wenn du darüber nicht mehr sagst, können wir auch nur die Symptome lindern versuchen... ;-)

das ist ja das Problem, hab noch keine Idee wie ich das vernünftig machen soll
werde mal was ausprobieren und den Versuch mal posten


bummi - Di 09.11.10 20:54

Dann beschreib doch mal was Du vorhast