請問如何用Set 實現下列功能? |
尚未結案
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
hua0009 is correct, you cannot declare a set of integer since a set is limited to 256 elements. Although inefficient, a TStringList may be used, e.g.
S := TStringList.Create; S.Add('70'); S.Add('80'); S.Add('62'); if S.IndexOf('62')>=0 then begin end; |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
From Help : sets (set types) A set is a collection of values of the same ordinal type. The values have no inherent order, nor is it meaningful for a value to be included twice in a set. The range of a set type is the power set of a specific ordinal type, called the base type; that is, the possible values of the set type are all the subsets of the base type, including the empty set. The base type can have no more than 256 possible values, and their ordinalities must fall between 0 and 255. 這說明了是 Set 的 Base Type 要是不能超過 255 個值 的 Ordinal Type,而不是說你 set 裡面有多少個值。 Interger 的可能值遠遠超過了 255 所以不能使用 試試我剛寫的 isIn 函數罷,有問題請告知喔 :
模擬 in operator 但能使用於各種形態的函數
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=31477 if isIn(62888888,VarArrayOf([70555555,80000000,62888888])) then
.....
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |