Generic TList Delphi example
提示:LIST排序
核心源码
type
TMyRecord = packed record
Name: string;
Age: integer;
Salary: double;
end;
TMyRecordList = TList; // Tlist for records
TMyStringList = TList;
TMyIntegerList = TList;
TMyDoubleList = TList;
const
MaxNumber = 2000; // Number of elements
var
Form1: TForm1;
MyRecordList: TMyRecordList; // List of records
MyStringList: TMyStringList; // List of strings
MyIntegerList: TMyIntegerList; // List of integers
MyDoubleList: TMyDoubleList; // List of doubles
MyRecord: TMyRecord;
MySortOrder: boolean = true;
implementation
{$R *.dfm}
procedure TForm1.Button10Click(Sender: TObject);
var
Comparison: TComparison;
begin
Comparison := function(const Left, Right: double): integer
begin
if Left = Right then
Result := 0
else if Left < Right then
Result := -1
else
Result := 1;
end;
MyDoubleList.Sort(TComparer.Construct(Comparison));
ListView4.Refresh;
end;
procedure TForm1.Button11Click(Sender: TObject);
var
Comparison: TComparison;
begin
Comparison := function(const Left, Right: double): integer
begin
if Left = Right then
Result := 0
else if Right < Left then
Result :=