type
PmyList = ^RmyList;
RmyList = record
name: string[20];
Age: integer; end;
implementation
{$R *.dfm}
function CompareNames(Item1, Item2: Pointer): integer;
begin
Result := CompareStr(inttostr(PmyList(Item1).Age),
inttostr(PmyList(Item2).Age)); // 定义比较函数
end;
procedure TForm1.btn1Click(Sender: TObject);
var
AList: TList;
PaList: PmyList;
Idx , I: integer;
begin
mmo1.Clear;
AList := TList.Create;
New(PaList);
PaList.name := 'Asheng';
PaList.Age := 18;
AList.Add(PaList);
New(PaList);
PaList.name := 'TianTian';
PaList.Age := 16;
AList.Add(PaList);
AList.Sort(@CompareNames); // 排序
for Idx := 0 to AList.Count - 1 do
begin
PaList := AList.Items[Idx];
mmo1.Lines.Add(PaList.name);
mmo1.Lines.Add(inttostr(PaList.Age));
end;
for I := 0 to AList.Count - 1 do
Dispose(AList[I]);
FreeAndNil(AList);
end;
Tlist
最新推荐文章于 2021-05-12 16:47:24 发布