可否让数组排序? |
尚未結案
|
ffprince
初階會員 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
kevin622
一般會員 發表:0 回覆:22 積分:9 註冊:2003-10-16 發送簡訊給我 |
|
ffprince
初階會員 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
kevin622
一般會員 發表:0 回覆:22 積分:9 註冊:2003-10-16 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |