Folgender Code löst das Sortierproblem bei folgender Ausgangslage:
– Stringgrid, gefüllt mit Zahlen
procedure SortGrid(Grid: TStringGrid; Col: integer);
var i, j: integer;
prev: string;
begin
for j:= 0 to Grid.RowCount- 1 do
for i:= 2 to Grid.RowCount- 1 do
begin
if strtoint(Grid.Cells[Col, i])> strtoint(Grid.Cells[Col, i-1]) then
begin
prev:= Grid.Rows[i- 1].CommaText;
Grid.Rows[i- 1].CommaText:= Grid.Rows[i].CommaText;
Grid.Rows[i].CommaText:= prev;
end;
end;
end;
Der Aufruf funktioniert über den folgenden Befehl:
SortGrid(grid, [spalte]);
„[spalte]“ muss dann entsprechend gefüllt werden (2,1 etc.).