Hi
ich hab ein string grid
Quelltext
1: 2: 3: 4: 5: 6: 7:
| ______________________________________________________ Name |Vorname|klasse|W1|w2|w3|besterwert|platzierung| ------------------------------------------------------ Müller| hans | 12 |12|13|14| 14 | | ------------------------------------------------------ Maier | Anja | 12 |23|44|45| 45 | | ------------------------------------------------------- |
was sortiert werden soll.
so das wenn ich einen button klicke der die spalte bester wert vergleicht und dann die zeilen so ordnet also name und nachname und so gleich mit vertauscht und das in absteigender reihenfolge, also den grössten zuerst und dann den kleinsten
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure Tform1.Sortgrid(Grid : TStringGrid; SortCol:integer);
var i,j : integer; temp:tstringlist; begin temp:=tstringlist.create; with Grid do for i := FixedRows to RowCount - 2 do for j:= i+1 to rowcount-1 do if AnsiCompareText(Cells[SortCol, i], Cells[SortCol,j]) < 0 then begin temp.assign(rows[j]); rows[j].assign(rows[i]); rows[i].assign(temp); end; temp.free; end; |
das wäre mein code
manchma geht es, aber sehr oft sortiert er es total falsch oder garnicht
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt