stringlist排序的问题(68)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
1 3.234232 2.333233 4.324234 1.32222按第二列的大小排序应该怎样写排序语句
 
第1种简单方法:把第一列的内容放到objects里,第二列的放在text里第2种方法:继承TStringList类,override它的procedure:Sort或CustomSort;
 
function mycomp(List: TStringList; Index1, Index2: integer): single; var r1,r2:single; begin r1:=strtofloat(list.Strings[index1]); r2:=strtofloat(list.Strings[index2]); result:=r1-r2; end;procedure TForm1.Button1Click(Sender: TObject); var t:tstringlist;begin t:=tstringlist.Create; t.Add('1 1.23442'); t.Add('2 2.5234'); t.Add('3 1.3323'); t.Add('4 1.22222'); t.Add('5 5.23'); t.Add('6 6.32'); t.Add('7 20.2344'); t.CustomSort(mycomp); Memo1.Lines.AddStrings(t);end;不知道错在那里(想把StringList里的实数排序)
 
function mycomp(List: TStringList; Index1, Index2: integer): single; var r1,r2:single; begin r1:=strtofloat(list.Strings[index1]); r2:=strtofloat(list.Strings[index2]); result:=r1-r2; end;procedure TForm1.Button1Click(Sender: TObject); var t:tstringlist;begin t:=tstringlist.Create; t.Add('1 1.23442'); t.Add('2 2.5234'); t.Add('3 1.3323'); t.Add('4 1.22222'); t.Add('5 5.23'); t.Add('6 6.32'); t.Add('7 20.2344'); t.CustomSort(mycomp); Memo1.Lines.AddStrings(t);end;不知道错在那里(想把StringList里的实数排序)
 
后退
顶部