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

[Help]列舉型態或set of 做動態指定 之疑問

尚未結案
aAlan
一般會員


發表:38
回覆:24
積分:12
註冊:2004-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-09 01:58:30 IP:219.84.xxx.xxx 未訂閱
如上圖 我想在Edit上輸入一字串,按一下button後讓這個字串能夠加入到自己所宣告的列舉型態中,或者 自己所宣告的集合(set)型態中,然後可以在memo showt出set內的所有元素。 有沒有方式能夠做到這兩者之一就好了呢? 我自己試過了,發現 1.我無法宣告一個空的列舉型態, 2.加入到set的include 方法,不能傳我要新增到 set 或 列舉型態的 字串 導致要寫這個程式,變的不可能。 請問有用過set的前輩,可以出面指導提示一下方向好嗎?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-09 11:14:41 IP:219.81.xxx.xxx 未訂閱
1. 你無法利用字串來代替程式中的宣告。{據我所知是沒有的} 2. 可以直接定義[]方式為空的。 3. 必須先用GetEnumValue 找到字串所定義的型態 再用include的方式加入。
aAlan
一般會員


發表:38
回覆:24
積分:12
註冊:2004-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-09 16:14:22 IP:219.84.xxx.xxx 未訂閱
我照您的方式,也找了delphi 7 online help,似乎還有一些問題如下: procedure Include(var S: set of T; I:T);    要傳給include的參數之前, 1.要先宣告一個列舉型態=>T=(Add_emp,change_emp,delete_emp,reprot_emp); 2.再宣告此列舉型態的子集合=>S=set of T; 3.然後再把列舉型態T 內的元素動態加入到S =>include(S,delete_emp); 而您又說"你無法利用字串來代替程式中的宣告",變成我只能把列舉型態內 的元素加到S內,而無法在RunTime時透過Edit做動態加入列舉型態以外的元素 到S。不知道,這樣的看法是否正確呢?                       Thanks a lot !
引言: 1. 你無法利用字串來代替程式中的宣告。{據我所知是沒有的} 2. 可以直接定義[]方式為空的。 3. 必須先用GetEnumValue 找到字串所定義的型態 再用include的方式加入。
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-09 16:46:55 IP:219.81.xxx.xxx 未訂閱
是的,沒錯。 delete_emp 可以用變數型態取代。參考您上一個提問的問題。
aAlan
一般會員


發表:38
回覆:24
積分:12
註冊:2004-07-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-10 10:10:32 IP:219.84.xxx.xxx 未訂閱
您好: 謝謝您的回覆。 請恕愚駑劣。不太暸解您所說的兩句話: 1.delete_emp 可以用變數型態取代=>什麼是"變數型態"是variant嗎? 2.必須先用GetEnumValue 找到字串所定義的型態=>要如何做呢?我的意思是說要知道我在Edit所輸入字串的"定義型態",要如何做呢? 能否有個實例呢? 多謝了...........    
引言: 是的,沒錯。 delete_emp 可以用變數型態取代。參考您上一個提問的問題。
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-11 08:42:55 IP:61.222.xxx.xxx 未訂閱
variant 不需要吧! 您在上一次提問的問題,不是說明的很清楚了嗎!
boson
中階會員


發表:74
回覆:155
積分:85
註冊:2004-07-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-11 12:08:23 IP:218.170.xxx.xxx 未訂閱
aAlan 你可能沒搞清楚列舉型態與集合是什麼東西, 所以才會有這些疑問 列舉形態與 const 是類似的東西, 基本上它就是一種"宣告"而已 它不是"變數", 所以宣告完之後, 就不應該有改變它的時候, 事實上也無法改變它 你可以輕易使用字串陣列達到你的需求, 別考慮用列舉型態來做
系統時間:2024-06-08 2:02:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!