Einzelnen Beitrag anzeigen

Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#1

Sortiermethode mit TStringlist zurückverfolgen?

  Alt 16. Feb 2005, 13:26
Hallo,
mir stellt sich eine Aufgabe und zwar habe ich ein StringGrid, dass mit Daten aus einer Datenbank gefüllt ist. Nun ist es per Programm möglich, sich über die Spalten eine Sortierreihenfolge zu definieren. Ich erstelle nun eine StringList, wobei jeder String aus dem Stringgrid zusammengesetzt wird, dieser kann je nach Zeile unterschiedliche Spalten haben.
Das sortieren ist ja jetzt nun nicht das Problem, sondern, dass ich einen Index brauche, wo jeder Datensatz vorher im Grid war (für weitere Verarbeitungen).

Gibt es noch andere Möglichkeit als mit Objekten zu arbeiten?

Delphi-Quellcode:
type
  TRfolge= class(TObject)
    position:integer;
  end;

  // ...


  slist:=TStringList.Create;

  // strings zusammensetzen
  for zeile:=0 to bis do
  begin
    s:='';
    for spalte:=0 to 3 do // nur für das beispiel, sonst unterschiedliche spalten
      s:=s+stringgrid2.Cells[spalte,zeile]; // zu sortierender String

    nr:=TRfolge.Create;
    nr.position:=zeile; // index merken

    slist.AddObject(s,nr);
  end;

  slist.Sort;

  //... weitere Verarbeitung

  // objekte freigeben
  for zeile:=0 to bis do
    (slist.Objects[zeile] as TRfolge).Free;

  sList.Free;
  Mit Zitat antworten Zitat