全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1990
推到 Plurk!
推到 Facebook!

如何使用TList的Sort

尚未結案
GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-27 13:54:32 IP:202.145.xxx.xxx 未訂閱
若在TList中放入若干相同的物件(如TEdit) 那要如何以該物件中的屬性作排序呢(如Tedit的Text)     多謝回覆....
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-27 14:16:43 IP:203.75.xxx.xxx 未訂閱
sort 的宣告如下, void __fastcall Sort(TListSortCompare Compare); 其中要傳的參數是一個函數的指標, 合於規格的宣告為 int __fastcall Compare(void *Item1, void *Item2); 這個函數是你自己要寫的比較函數, 所傳回值的意義為, > 0 表示 item1 小於 item2, = 0 表示二者相等, < 0 表 item1 大於 item2, 如此 TList 在執行 sort 時就會呼叫你寫的比較式, 由傳回值來判斷這個 item 比較大或比較小. Jesse Chan
------
Jesse Chan
GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-27 17:34:24 IP:61.30.xxx.xxx 未訂閱
汗顏....< > 小弟拙...實不知如何實作出此功能 可否可請版主陳大人給個範例...小弟深表感激 < >
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-28 11:20:06 IP:203.73.xxx.xxx 未訂閱
引言: 汗顏....< > 小弟拙...實不知如何實作出此功能 可否可請版主陳大人給個範例...小弟深表感激 < >
GaryKao99 你好: 請參考以下的範例程式碼 < class="code"> int __fastcall CompareEditText(void *Item1, void *Item2); //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Edit1->Text="5"; Edit2->Text="3"; Edit3->Text="7"; Edit4->Text="4"; TList *list=new TList; list->Add(Edit1); list->Add(Edit2); list->Add(Edit3); list->Add(Edit4); list->Sort(CompareEditText); for(int i=0; iCount; i ) { ShowMessage(((TEdit*)list->Items[i])->Text); } delete list; } int __fastcall CompareEditText(void *Item1, void *Item2) { return CompareText(((TEdit*)Item1)->Text, ((TEdit*)Item2)->Text); } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-28 11:30:00 IP:203.73.xxx.xxx 未訂閱
sorry, 我昨天加班, 沒有繼續回答, 感謝包子幫忙, 他的範例十分好, 相信可以解決你的問題, 如果你已完全了解, 記得把問題結案並給包大人分數以資感謝, 另外我不姓陳, 那是 Chen 不是 Chan, 在此更正一下, 謝謝. Jesse Chan
------
Jesse Chan
GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-28 14:21:51 IP:202.145.xxx.xxx 未訂閱
首先在此要感謝Chan大大在百忙之中回答我的問題,謝謝.... 雖然我叫錯他的名字< >...(我想寬宏的他不會介意的< >) 再來要感謝Pao大大....他的範例程式真的非常有用(我已經試過了)... 真是非常感謝各位前輩的幫忙,小弟在此送上五個微笑< >< >< >< > 以表心意
GaryKao99
中階會員


發表:46
回覆:102
積分:54
註冊:2002-08-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-28 14:35:48 IP:61.30.xxx.xxx 未訂閱
小弟不才... 不能領悟Chan大大的說明,在此說聲抱歉
系統時間:2018-01-18 23:45:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!