FINDFIRST的檔案排序問題 |
答題得分者是:william
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
Resort the list and update the memo? Assume you have all TSearchRec stored in List1, i.e. List1.Items[0] is a PSearchRec (=^TSearchRec), then
{ sorting function for attribute } function AttrSort(p1,p2: pointer): integer; begin if PSearchRec(p1)^.Attr < PSearchRec(p2)^.Attr then Result := -1 else if PSearchRec(p1)^.Attr = PSearchRec(p2)^.Attr then Result := 0 else Result := 1; end; {...} List1.Sort(AttrSort); { update the memo } |
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
^ means dereferencing the pointer.. PSearchRec(p1)^.Attr means typcase the pointer p1 as PSearchRec and get the Attr member of the TSearchRec to which it is pointing. TList has a sort method (using quick sort) and you need to supply you own comparing method (e.g. AttrSort) or it.
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |