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

可否让数组排序?

尚未結案
ffprince
初階會員


發表:66
回覆:62
積分:25
註冊:2003-08-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-08 19:38:43 IP:218.85.xxx.xxx 未訂閱
我程式中有一个数组,想让他按照某几列排序,有什么诀窍吗?
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-08 20:57:58 IP:61.70.xxx.xxx 未訂閱
引言: 我程式中有一???,想?他按照某几列排序,有什么????
可否說明白點,如是資料庫的Table還是什麼??
kevin622
一般會員


發表:0
回覆:22
積分:9
註冊:2003-10-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-08 21:47:10 IP:210.244.xxx.xxx 未訂閱
有看沒有懂...^^" 請問你是要做什麼樣的排序?? 在哪個地方顯示?? 如果是資料庫的欄位排序,請用 select * from TABLE order by 要排序的欄位 。 §§§ 量力而為 §§§ 當覺得力量不足時,就是該為自己充電的時候了。
ffprince
初階會員


發表:66
回覆:62
積分:25
註冊:2003-08-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-08 21:53:02 IP:218.85.xxx.xxx 未訂閱
不好意思,我所谓的数组,是程式里定义的,如temp[1..10,1..100]
kevin622
一般會員


發表:0
回覆:22
積分:9
註冊:2003-10-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-08 22:38:48 IP:210.244.xxx.xxx 未訂閱
你可以至 ※資料結構與演算法討論區 看看..裡面應該會有你要的答案..。 §§§ 量力而為 §§§ 當覺得力量不足時,就是該為自己充電的時候了。
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-09 10:20:14 IP:210.65.xxx.xxx 未訂閱
Hi ffprince,    以下程式為先前用 IntraWeb 開發程式時一段排序 Procedure,供你參考
procedure TIWFormMain.SortListBox(Target : Word);
var
    MyList : TStringList;
    I : Integer;
    ID , Name : TStrings;
    MyListID,MyListName : TStrings;
begin
    CASE Target OF
        1 : BEGIN
                ID := IWListboxID1.Items;
                Name := IWListboxName1.Items;
            END;
        2 : BEGIN
                ID := IWListboxID2.Items;
                Name := IWListboxName2.Items;
            END;
    ELSE
        ID := NIL;
        NAME := NIL;
    END;
    MyList := TStringList.Create;
    MyListID := TStringList.Create;
    MyListName := TStringList.Create;
    TRY
        FOR I := 0 TO Name.Count - 1 DO
            BEGIN
                MyList.Add(Name.Strings[I]   #255   ID.Strings[I]);
            END;
        MyList.Sort;
        ID.Clear;
        Name.Clear;
        FOR I := 0 TO MyList.Count - 1 DO
            BEGIN
                MyListID.Add(Copy(MyList.Strings[I],POS(#255,MyList.Strings[I])   1,Length(MyList.Strings[I])-1));
                MyListName.Add(Copy(MyList.Strings[I],0,POS(#255,MyList.Strings[I]) - 1));
            END;
        ID.Assign(MyListID);
        Name.Assign(MyListName);
    FINALLY
        MyList.Free;
        MyListID.Free;
        MyListName.Free;
    END;
end;
主要是運用 TStringList 的 Sort 方式來排序 排序前先將了兩個 ListBox 的值組合起來,中間用一個特殊字元 #255,排完序後,再將字串拆出,還原至原先之 LisBox 內 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-06-02 2:30:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!