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

关于变量

答題得分者是:jow
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-09-18 20:56:14 IP:222.184.xxx.xxx 訂閱
编程规则中写尽量不要用全局变量,那么我在想如果我有下面的要求用何种方式比较合适:
1。我想要一个变量,能够在本单元中被所有的地方引用,例如Button1Click、Button2Click中都要用到这个变量,但不需要被其它元引用。
2。是用变量好,还是用一个控件(比如label)好,例如:用变量的话就是把某个值赋给变量,那么把某个值赋给label.caption是不是也起到相同的效果呢,当然这个值是字符或数字,不会是其它类型的,在这种前提下哪种方法赋值比较好一点?
------
我的编程起步于ktop,我将永远支持ktop
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-09-18 21:44:08 IP:203.79.xxx.xxx 訂閱
把你的變數宣告在該單元的implementation以下,應該就可以了.
如果你把要Keep的數值以TLabel.Caption來操作,其他unit只要
uses 這個檔案, TLabel.Caption 形同公開的, 我指的是擺在Form
上的元件.

如果TLabel元件是動態產生, 且其物件變數宣告在implementation
以下,純粹當keep值的變數也是可以,但不建議如此做, 數值就用數值
變數, 字串就用字串變數應該很好決定吧.

個人意見僅供參考.

ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-09-18 21:56:19 IP:222.184.xxx.xxx 訂閱
變數宣告在該單元的implementation以下,我的理解这样的宣告还是属于一个(单元内)全局变量?这样同尽量不用全局变量这个规则有无冲突?
我的变量现在遇到的情况就是只要本单元用就行,暂没遇到其它单元要用的情况。前辈的意思是用变量来接收赋值,比用其它元件好,在字符类型变量中可能区别不大,如果是数字的变量用label.caption来接收就不太合适了,对吧?还有是否变量的使用会比元件效率高一点?
===================引 用 jow 文 章===================
把你的變數宣告在該單元的implementation以下,應該就可以了.
如果你把要Keep的數值以TLabel.Caption來操作,其他unit只要
uses 這個檔案, TLabel.Caption 形同公開的, 我指的是擺在Form
上的元件.

如果TLabel元件是動態產生, 且其物件變數宣告在implementation
以下,純粹當keep值的變數也是可以,但不建議如此做, 數值就用數值
變數, 字串就用字串變數應該很好決定吧.

個人意見僅供參考.

------
我的编程起步于ktop,我将永远支持ktop
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-09-18 22:15:54 IP:203.79.xxx.xxx 訂閱
除了資料型別的選用之外,總而言之,你在考量的其實
就是變數或類別的Accessibility.不是三言兩語可以說
得清楚的.

除了變數本身可視範圍之外,其內含實際所佔用記憶體
的配置與釋放也要一併考慮到. 尤其在使用物件變數的
時候.

編輯記錄
jow 重新編輯於 2007-09-18 22:22:57, 註解 無‧
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-09-18 22:19:53 IP:203.79.xxx.xxx 訂閱
如果你的 unit 中只有一個 Class 就宣告在 private 中
不過我想你的 unit 中應該有好幾個 Class, 所以宣告在 implementation 以下 var 中, 只有本身 unit 可以使用, 其他 unit 是無法存取此變數的

===================引 用 ntjrr 文 章===================
變數宣告在該單元的implementation以下,我的理解这样的宣告还是属于一个(单元内)全局变量?这样同尽量不用全局变量这个规则有无冲突?
我的变量现在遇到的情况就是只要本单元用就行,暂没遇到其它单元要用的情况。前辈的意思是用变量来接收赋值,比用其它元件好,在字符类型变量中可能区别不大,如果是数字的变量用label.caption来接收就不太合适了,对吧?还有是否变量的使用会比元件效率高一点?
===================引 用 jow 文 章===================
把你的變數宣告在該單元的implementation以下,應該就可以了.
如果你把要Keep的數值以TLabel.Caption來操作,其他unit只要
uses 這個檔案, TLabel.Caption 形同公開的, 我指的是擺在Form
上的元件.

如果TLabel元件是動態產生, 且其物件變數宣告在implementation
以下,純粹當keep值的變數也是可以,但不建議如此做, 數值就用數值
變數, 字串就用字串變數應該很好決定吧.

個人意見僅供參考.

------
將問題盡快結案也是一種禮貌!
系統時間:2024-04-23 14:17:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!