[Delphi] – Stringgrid sortieren.

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.).

2 Gedanken zu “[Delphi] – Stringgrid sortieren.

  1. Danke, das hat mein Problem gut gelöst. Ich rufe nun abhängig vom Inhalt einer Spalte eine ‚SortString-Procedure‘ oder eine ‚SortNum-Procedure‘ auf
    Schön wäre eine Prozedur, die selbst erkennt, ob Zahlen oder Strings in einer Spalte stehen und dann abhängig davon sortiert.
    Vielleicht hat ja jemand schon so was. Ich versuche mich mal dran….

  2. mh.
    interessantes problem. ich schaue mir das mal die tage an u. update ggf. den artikel.
    lg

Schreibe einen Kommentar