線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1814
推到 Plurk!
推到 Facebook!

如何在stringlist 中降羃排序?

 
wj2pp
一般會員


發表:19
回覆:9
積分:5
註冊:2002-05-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-06-01 09:06:02 IP:61.218.xxx.xxx 未訂閱
我有一個stringlist資料為A01,B01,C01,D01 但我要sort 後變成D01,C01,B01,A01 請問有沒有什麼方式呢
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-06-01 22:43:43 IP:192.168.xxx.xxx 未訂閱
引言: 我有一個stringlist資料為A01,B01,C01,D01 但我要sort 後變成D01,C01,B01,A01 請問有沒有什麼方式呢
用CustomSort如何?
function ccc(List: TStringList; Index1, Index2: Integer): Integer;
begin
   if list[index1]>list[index2] then result:=-1
   else if list[index1]=list[index2] then result:=0
   else result:=1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var s:tstringlist;
begin
  s:=tstringlist.create;
  s.add(a);
  s.add(c);
  s.add(b);
  s.CustomSort(ccc);
  memo1.lines:=s;
  s.free;
end;
~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
anderslee
初階會員


發表:2
回覆:32
積分:26
註冊:2002-06-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-06-03 16:54:47 IP:202.69.xxx.xxx 未訂閱
可以自行寫一個比較的 procedure 加入 customsort 就可以 不過我可以肯定一定比內定的 asending 排序慢很多 其實你的要求只是 desending 罷了 有沒有想過為什麼Delphi內定的並不提供??? 因為只要你由 I:= Count-1 downto 1 不就已經解決你的要求嗎?? 或 在求 Nth item 時用數學方式也可以 Nth item := Strings[Count-N-1];
系統時間:2024-04-20 9:40:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!