eigentlich meinte ich es etwa so:
Delphi-Quellcode:
type
TVergleichsfunktion = function(Item1, Item2: TMyRecord): Integer;
TKlasse.Sort(Vergleichsfunktion: TVergleichsfunktion);
var
i, j, k: Integer;
temp: TPerson;
begin
for i := 1 to Length(index) - 1 do
begin
j := i;
while not (j = 0) do
begin
if Vergleichsfunktion(index[j-i], index[j]) >= 1 then
//...
end;
Dann brauchst du nur noch für jedes Element des Records eine Vergleichsfunktion. Für Zahlen könnte die so aussehen:
[delphi]function VergleicheZahlen(Item1, Item2: TMyRecord): Integer;
begin
Result := Item2.IntProperty - Item1.IntProperty;
end;[/dephi]
RTTI wird hier wohl nicht gehen, weil sich diese Variante vornehmlich auf einen Datentyp beschränkt. Du hast aber Integer, Real & String.
Bernhard