Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - StringGrid nach Zahlen sortieren..
Terra23 - So 06.07.03 15:35
Titel: StringGrid nach Zahlen sortieren..
Hallo ihr.
Ich brauche für mein Programm einige Anregungen, wie ich folgendes realisieren kann:
Es geht um ein StringGrid, welches 3 Spalten beinhaltet (Punkte, Vorname, Name). Nun will ich nach Punkten sortieren und gleichzeitig die dazugehörigen Zellen der anderen Spalten beibehalten (es geht um eine Punktetabelle für ein Toto-Tool). Ich weiß, daß ich einen Algorithmus nehmen muß, nur leider habe ich damit noch nie gearbeitet und steige auch durch das, was ich bisher gefunden habe, nicht sonderlich durch. Daher bin ich irgendwie mal wieder auf eure Hilfe angewiesen. ;-) Ich verlange nicht den kompletten Code und bin auch lernfähig; einige Ansätze wären schon sehr hilfreich. :-)
Terra23 - Mo 07.07.03 13:34
Danke für den Hinweis. Leider ist diese Möglichkeit ein wenig kompliziert zu sein und irgendwie auch nicht gerade glücklich. Kannst du mir vielleicht anderweitig behilflich sein?
grayfox - Mo 07.07.03 16:59
hallo terra!
versuch es mal mit 'insertion-sort':
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.sortieren1Click(Sender: TObject); var key: TDateTime; i, j, aRow: integer; TempRows: TStrings; begin TempRows:= TStringList.Create; for aRow:= 2 to ZugGrid.RowCount-1 do begin Label1.Caption:= 'SatzNr: ' + IntToStr(aRow); Label1.UpDate; key:= StrToDate(ZugGrid.Cells[3,aRow]); i:= aRow -1; while (i > 0) and (StrToDate(ZugGrid.Cells[3,i]) > key) do begin for j:= 0 to ZugGrid.ColCount-1 do TempRows.Add(ZugGrid.Cells[j,i+1]); ZugGrid.Rows[i+1]:= ZugGrid.Rows[i]; ZugGrid.Rows[i]:= TempRows; TempRows.Clear; dec(i); end; end; TempRows.Free; end; |
key ist der wert, nach dem das grid sortiert wird - in diesem fall nach einem datum. du brauchst es nur an deine bedürfnisse anzupassen.
mfg, stefan
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!