Hallo zusammen,
ich habe (gekürzt) folgende Typen
Delphi-Quellcode:
TRecVKUmsatzAusFVArtikel = class
private
FUnternehmenNr_ID : integer;
FJahr_ID : integer;
FUmsatz : real;
...
public
procedure Clear;
...
property UnternehmenNr_ID: integer read FUnternehmenNr_ID write FUnternehmenNr_ID;
property Jahr_ID: integer read FJahr_ID write FJahr_ID;
property Umsatz: real read FUmsatz write FUmsatz;
end;
TLstVKUmsatzAusFVArtikel = class
protected
FLst: TObjectList;
private
function GetRecords(index: integer): TRecVKUmsatzAusFVArtikel;
public
constructor Create;
destructor Destroy; override;
...
function Add(iRec: TRecVKUmsatzAusFVArtikel): TRecVKUmsatzAusFVArtikel;
...
procedure SortBYUmsatz;
property Records[index: integer]: TRecVKUmsatzAusFVArtikel read GetRecords; default;
end;
Delphi-Quellcode:
implementation
function CompareByUmsatz(Item1 : Pointer; Item2 : Pointer) : Integer;
var
Rec1, Rec2: TRecVKUmsatzAusFVArtikel;
begin
Rec1:= TRecVKUmsatzAusFVArtikel(Item1);
Rec2:= TRecVKUmsatzAusFVArtikel(Item2);
// Now compare by string
if customer1.Umsatz > customer2.Umsatz then
Result := 1
else
if customer1.Umsatz = customer2.Umsatz then
Result := 0
else
Result := -1;
end;
...
Delphi-Quellcode:
function TLstVKUmsatzAusFVArtikel.Add(iRec: TRecVKUmsatzAusFVArtikel): TRecVKUmsatzAusFVArtikel;
begin
FLst.Add(iRec);
result := iRec;
end;
procedure TLstVKUmsatzAusFVArtikel.SortBYUmsatz;
begin
Flst.Sort(CompareByUmsatz);
end;
Ich habe heute zum ersten mal die Methode Sort benutzt welche ich ja von TObjectList erbe. Klappt auch alles super.
Kurz gegoogelt und dann mit Hilfe von
http://www.delphibasics.co.uk/RTL.asp?Name=TList
alles zusammengestöpselt.
Aber was mache ich da?
Irgendwie stelle ich eine Prozedur! (kein Objekt!) in meiner
Unit zur Verfügung welche dann mit FLst.Sort(CompareByUmsatz) genutzt wird? Hä Was? was passiert da? Magie? Zauberei?
Ich verstehe rein gar nicht was ich da mache
Kann mir das wer erklären?