Zitat von
rainerkunze124:
Delphi-Quellcode:
function Sort(Row1, Row2: Integer): Integer;
var
C: Integer;
begin
C := 0;
Result := AnsiCompareStr(Grid.Cols[ColOrder[C]][Row1], Grid.Cols[ColOrder[C]][Row2]);
if Result = 0 then
begin
Inc(C);
while (C <= High(ColOrder)) and (Result = 0) do
begin
Result := AnsiCompareStr(Grid.Cols[ColOrder[C]][Row1],
Grid.Cols[ColOrder[C]][Row2]);
Inc(C);
end;
end;
end;
In der oben zitierten Funktion findet das eigentliche Sortieren statt.
Wenn Du statt
AnsiCompareStr nun eine eigene Funktion benutzt z.B.
MyCompareStr, kannst du jede gewünschte Sortierung programmieren.
z.B.
Delphi-Quellcode:
function MyCompareStr(s1, s2: string):Integer;
begin
// Bedingung Rückgabewert
// S1 > S2 > 0
// S1 < S2 < 0
// S1 = S2 = 0
// Result := AnsiCompareStr(s1, s2);
if s1 > s2 then Result := 1
else if s1 < s2 then Result := -1
else Result := 0;
end;
function Sort(Row1, Row2: Integer): Integer;
var
C: Integer;
begin
C := 0;
Result := MyCompareStr(Grid.Cols[ColOrder[C]][Row1], Grid.Cols[ColOrder[C]][Row2]);
if Result = 0 then
begin
Inc(C);
while (C <= High(ColOrder)) and (Result = 0) do
begin
Result := MyCompareStr(Grid.Cols[ColOrder[C]][Row1],
Grid.Cols[ColOrder[C]][Row2]);
Inc(C);
end;
end;
end;
Falls Deine Frage beantwortet ist, nicht vergessen mit dem
- Button oben auf der Seite die Frage als beantwortet zu markieren.
Danke