宣告有分成动态宣告静态宣告全域变数等三种.docVIP

宣告有分成动态宣告静态宣告全域变数等三种.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
壹、變數宣告有分成動態宣告、靜態宣告 ○動態宣告:由於VB是個模組化的程式,因此在執行程式功能或是觸動物件事件時就會去執行副程式(Sub、Function、Property......等等),執行副程式時,VB或把副程式的程式碼複製到隨機位置的記憶體裡後再執行,當副程式執行結束後則從記憶體裡移除該副程式的程式碼。動態宣告變數也就是執行該副程式時,電腦會隨機分配記憶體位置給變數存放資料,因此副程式執行結束而程式碼被移出記憶體時,變數也隨之移出記憶體,再執行該副程式時,電腦又隨機分配記憶體位置給變數存放資料,雖然使用相同名稱來當變數,但每次執行所分配到的記憶體位置不同,因此無法享有相同的資訊。 ◎宣告法,於副程式裡使用Dim敘述宣告: Private Sub .... Dim A As Integer Dim B As Date Dim C As Single Dim D As Object End Sub Private Function .... Dim A As Integer Dim B As Date Dim C As Single Dim D As Object End Function ●範例程式碼: Private Sub Command1_Click() Call A Call A Call A Call A 表示呼叫副程式A 並暫停目前的工作來先執行副程式A裡的程式碼 直到副程式A裡的程式碼執行完畢後 再回來到Private Sub Command1_Click() 中的Call A的下一行開始執行 End Sub Function A() Dim B As Integer B = B + 1 Debug.Print B End Function ●三次傳回的答案都是1 ★Function A是如何產生的呢? ●我們可以直接在按鈕上用滑鼠快速點兩下,得到Private Sub Command1_Click(),然而上式裡的Function A()卻找不到可以產生的方法,其實Function A()是自己製造的函數(副程式),該如何產生呢? ●按按方向鍵,讓文字游標移到Private Sub Command1_Click() ...... End Sub以外。 ●先輸入Function A。 ●輸入完後直接按Enter鍵即可產生全新的自製函數Function A()。 ○靜態宣告:靜態宣告變數也就是執行該副程式時,電腦會分配固定記憶體位置給變數存放資料,當副程式執行結束而程式碼被移出記憶體時,該記憶體位置保留,再執行該副程式時,電腦又分配相同記憶體位置給變數存放資料,使用相同名稱來當變數而每次執行所分配到的記憶體位置相同,因此該副程式可以享有相同的資訊。 ◎宣告法,於副程式裡使用Static敘述宣告: Private Sub .... Static A As Integer Static B As Date Static C As Single End Sub Private Function .... Static A As Integer Static B As Date Static C As Single Static D As Object End Function ●範例程式碼: Private Sub Command1_Click() Call A Call A Call A End Sub Function A() Static B As Integer B = B + 1 Debug.Print B End Function ●第一次傳回的答案是1 ●第二次傳回的答案是2 ●第三次傳回的答案是3 Private Sub Commadn1_Click() Static a As Integer Dim sum As Integer a=a+1 sum=sum+1 print “a=”;a,”aum=”;sum End Sub 貳、變數的生命週期 在Visual Basic中,根據變數生命週期及影響,大致可分為三個層次: ○Local Variable 區域變數 在程序(包括事件程序、一程序)或函式中宣告的變數皆屬於”程序或函式層次”的變數。 該變數影響的範圍只有在該程序或函式中。 一旦離開該程序,這些變數也隨著消失。 ○ Private Variable 私有變數 表單層次 在表單的一般宣告區宣告 該變數影響的範圍函蓋該表單中所有程序函式,生命週期比程序層次的變數還長 例: Option Explicit Dim sum As Integer Private Sub C

文档评论(0)

yuxiufeng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档