unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private public end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
type
pmuo=^muo;
muo = record
muoname:string;
hsgs:integer;
end;var
muoList: TList;
amuo:pmuo;begin
muolist:=TList.Create;
New(amuo);
amuo.muoname:='d:\001.bmp';
amuo.hsgs:=3;
muolist.Add(amuo);
New(amuo);
amuo.muoname:='d:\002.bmp';
amuo.hsgs:=2;
muolist.Add(amuo);
end;end.现在想根据muolist各项的 的hsgs字段进行排序,我只知首muolist.sort() 可以实现,可是搞了半天还是一头雾水,请大侠们帮一下我啊,最好能写一点儿代码,万分感谢!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private public end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
type
pmuo=^muo;
muo = record
muoname:string;
hsgs:integer;
end;var
muoList: TList;
amuo:pmuo;begin
muolist:=TList.Create;
New(amuo);
amuo.muoname:='d:\001.bmp';
amuo.hsgs:=3;
muolist.Add(amuo);
New(amuo);
amuo.muoname:='d:\002.bmp';
amuo.hsgs:=2;
muolist.Add(amuo);
end;end.现在想根据muolist各项的 的hsgs字段进行排序,我只知首muolist.sort() 可以实现,可是搞了半天还是一头雾水,请大侠们帮一下我啊,最好能写一点儿代码,万分感谢!
解决方案 »
- [Error] RLINK32: Too many resources to handle.
- 几款杀毒软件的使用体会
- 请大家讨论这样的一个开发思维
- 图形处理问题/会者简单,分分钟搞定
- 请教从电脑启动到关机只能运行一个应用程序。
- 请问如何将TDateTime类型转换成PFileTime类型?
- 如何实现Delphi的属性编辑器???
- 怎样使用Delphi完成条形码的编制
- 菜鸟求救:为什么通过query动态查询得到的数据DbGrid没有显示,请同行们帮忙
- 请大家帮帮忙,关于日期中取年和月的问题
- d7如何判断远程文件是否存在?如:判断http://www.163.com/123.rar是否存在!
- 三层问题
begin
if pmuo(APt1)^.hsgs > pmuo(APt2)^.hsgs then
Result := 1
else
Result := -1;
end;使用时:muolist.sort(ListSort);
注意:pmuo和muo的定义范围修改为全局定义,不要放到一个过程里面定义!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private public end;var
Form1: TForm1;
type
pmuo=^muo;
muo = record
muoname:string;
hsgs:integer;
end;implementation{$R *.dfm}
function ListSort(APt1, APt2: Pointer): Integer;
begin
if pmuo(APt1)^.hsgs > pmuo(APt2)^.hsgs then
Result := 1
else
Result := -1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
muoList: TList;
amuo:pmuo;
tmpmuo:pmuo;begin
muolist:=TList.Create;
New(amuo);
amuo.muoname:='d:\001.bmp';
amuo.hsgs:=3;
muolist.Add(amuo);
New(amuo);
amuo.muoname:='d:\002.bmp';
amuo.hsgs:=2;
muolist.Add(amuo); muolist.sort(ListSort);
tmpmuo:=muolist.Items[0];
showmessage(tmpmuo.muoname);end;
end.多谢这位兄拔剑相助,不过我还没有搞定,能不能再帮我看一下上面代码是哪里出了问题?