unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Math;
type
TForm1 = class(TForm)
mmo1: TMemo;
mmo2: TMemo;
btn3: TButton;
mmo3: TMemo;
procedure btn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function curmsort(list: TStringList; index1,
index2: Integer): Integer; //写函数时,函数名前不能加Tform1等限制。
var
value1, value2: Single;
list2: TStringList;
begin
try
list2:=TStringList.Create;
list2.CommaText:=list.Strings[index1];
value1 := StrToFloat(list2[0]);
list2.CommaText:=list.Strings[index2];
value2 := StrToFloat(list2[0]);
if value1> value2 then
Result := -1
else if value1< value2 then
Result := 1
else Result := 0;
finally
list2.Free;
end;
end;
procedure TForm1.btn3Click(Sender: TObject);
var
List1,O_List:TStringList;
T0,T1,T2:Cardinal;
O_FileName:string;
p: PChar;
n:Integer;
ifor1:Integer;
B1:Boolean;
begin
O_List:=TStringList.Create;
O_List.Text:=mmo1.Text;
O_List.Sorted := True;
mmo2.Text:=O_List.Text;
O_List.Sorted := False;
O_List.CustomSort(curmsort);
mmo3.Text:=O_List.Text;
O_List.Free;
end;
end.
TStringList 根据自定义排序
于 2023-02-06 18:25:25 首次发布
该代码示例展示了如何在Delphi中创建一个自定义排序函数`curmsort`,该函数基于两个字符串列表项的浮点值进行比较,然后在TStringList对象`O_List`上调用`CustomSort`方法进行排序。点击按钮后,原始列表`mmo1`的内容被读取并排序,排序后的结果分别显示在`mmo2`和`mmo3`中。
摘要由CSDN通过智能技术生成