Autor Beitrag
sm4rty
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Sa 23.02.08 11:44 
Hi

ich hab ein string grid

ausblenden 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


ausblenden 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);
{A simple exchange sort of grid rows}
var
   i,j : integer;
   temp:tstringlist;
begin
  temp:=tstringlist.create;
  with Grid do
  for i := FixedRows to RowCount - 2 do  {because last row has no next row}
  for j:= i+1 to rowcount-1 do {from next row to end}
  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 user profile iconChristian S.: Code- durch Delphi-Tags ersetzt