Entwickler-Ecke
Algorithmen, Optimierung und Assembler - im StringGrid sortieren
Fischman - Do 21.07.05 11:37
Titel: im StringGrid sortieren
Hallo erstmal,
ich habe ein StringGrid mit den Feldern Name,Bahn1 bis Bahn6 und das Ergebnis.Jetzt möchte ich die Zeile also 8 Zellen so sortieren das der beste Bowler an erste Stelle
steht und die nachfolgenden ihre Plätze erhalten.Gibt es da eine möglichkeit mir weiter
zu helfen.
Gruß Uwe
Moderiert von
Christian S.: Topic aus CLX / Delphi Language (Object-Pascal) verschoben am Sa 23.07.2005 um 12:38
Gausi - Do 21.07.05 12:03
Hast du die Bowler nur in dem StringGrid, oder hast du die Bowler auch in einer weiteren Datenstruktur, z.B. einer Liste oder einem Array?
Dann würde ich die Liste nach dem Wert "Punkte" sortieren, und das StringGrid neu füllen.
Rein über das StringGrid zu sortieren dürfte stelle ich mir grade schwierig vor. Zeig mal n bissel, was du so an Code hast.
Fischman - Do 21.07.05 13:43
Ich habe noch keinen Code fürs Sortieren und ich habe nur StringGrid dafür deshalb frage ich ja hier nach.Ich schaue mir heute Abend denn Sourcecode von Narses noch an.So ich muß gleich zur arbeit.aber erstmal schon schönen Dank.
Gruß Uwe
Fischman - Fr 22.07.05 12:24
So jetzt kann ich die Ergenisse sortieren an ein Beispiel hier was ich erstellt habe.Jetzt müßte ich nur noch Ergenisse mit verschieben können pro Bahn(Integer) und der Name(String).Also die Cells[0 bis 6,1] sollen sich mit verschieben werden wenn sich die sache ändert beim sortieren.Und die anderen zellen halt auch.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm2.Button3Click(Sender: TObject); var MyList: TStringList; begin MyList := TStringList.Create; MyList.Add(StringGrid1.cells[7,1]); MyList.Add(StringGrid1.cells[7,2]); MyList.Add(StringGrid1.cells[7,3]); Mylist.Sort; StringGrid1.Cells[7,1] := MyList.Strings[0]; StringGrid1.Cells[7,2] := MyList.Strings[1]; StringGrid1.Cells[7,3] := MyList.Strings[2]; MyList.Free; end; |
Gruß Uwe
Moderiert von
Gausi: Delphi-Tags hinzugefügt.
Narses - Fr 22.07.05 12:49
Moin!
Fischman hat folgendes geschrieben: |
Jetzt müßte ich nur noch Ergenisse mit verschieben können pro Bahn(Integer) und der Name(String).Also die Cells[0 bis 6,1] sollen sich mit verschieben |
Mag sein, mein Code
hier [
http://www.delphi-forum.de/viewtopic.php?p=196207#196207] ist ein Paradebeispiel für Ineffizienz, aber es werden alle Spalten einer Zeile des StringGrids mit sortiert (Button2Click).
cu
Narses
Fischman - Sa 23.07.05 01:05
Hallo Narses,
das ist ja auch gut für Dich das in einer Zeile alle Spalten mit geordnet werden.Aber genau da ist bei mir aber nicht Sinnvoll weil man dann nicht mehr nachvollziehen kann was für ein Ergebniss beim Bowling pro Bahn war.Wenn du das verstehst,ist auch nicht böse gemeint.
Gruß Uwe
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!