第十五周-阵列的进阶用法.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十五周-阵列的进阶用法

※第十五週-陣列的進階用法 1、設定註標的起始值 陣列註標的預設起始值為0,因此宣告Dim A(3)可得A(0)~A(3)四個陣列元素。 若希望註標由1開始,則需先指定Option Base 1。 語法:Option Base N (N只能為0或1) 語法:Option Base N (N只能為0或1) 說明:Option Base 0 代表陣列註標值由0開始 (預設值)    Option Base 1 代表陣列註標值由1開始 例: Option Base 1 Dim A(3) ‘產生A(1)、A(2)、A(3)三個陣列元素 2、指定註標範圍的宣告方式 若陣列註標起始值不為0或1該如何宣告呢? 語法:Dim 陣列名稱 (M To N) 註:N=M 語法:Dim 陣列名稱 (M To N) 註:N=M 說明:可產生註標值M~N的陣列元素。 例: Dim F(5 To 10) ‘產生F(5)、F(6)...F(10)共六個陣列元素。 Dim G(-2 To 2) ‘產生G(-2)、G(-1)、G(0)、G(1)、G(2)共五個陣列元素。 3、讀取陣列的註標範圍 呼叫LBound()及UBound()可以分別讀取陣列的下界及上界值。 語法:N = LBound(陣列名稱, 維度) 語法:N = LBound(陣列名稱, 維度) N = UBound(陣列名稱, 維度) 說明:(1)LBound函數將讀取陣列的起始註標(下界值),UBound函數將 讀取陣列的終止註標(上界值)。 (2)若省略維度,則將取第一維度的起始或終止註標。 例: Dim M (3 To 7) Print LBound(M) ‘印出3 Print UBound(M) ‘印出7 實例演練1 執行畫面 請下載 15-ex1.exe 執行畫面 請下載 15-ex1.exe 執行畫面: 填入原始字串後,按下倒序印出按鈕,則將字串中的字元依序放入陣列,並輸出倒序後的字串。 提示: 可使用字串函數Mid(),語法如下: Mid(s, n, m):由s字串的第n個字元開始,往右取出m個字元。 例:Mid(“ABCDEF”, 2, 3) 傳回值為 “BCD”。 實例演練1解說 1、在表單中拉出所需的物件,本表單共使用三種控制項:標籤、文字方塊、命令鈕。 標籤 標籤 Label 命令鈕 Command 文字方塊 Text 2、物件屬性設定: 物件 屬性 屬性值 Label1 Caption 原始字串: Label2 Caption 倒序後的字串: Command1 Caption 倒序印出 Text1、Text2 Text (空白) 3、在Command1_Click程序中輸入程式,如下圖: (方法一) (方法二)這是更有彈性的寫法,使用LBound()、UBound()函數取得陣列的下界及上界值(紅色箭頭→所指處)。如此一來,若需變動陣列的上下界範圍,僅需在宣告處變更即可。 4、使用ReDim敘述改變陣列的大小 在某些情況下,我們不知道待處理資料的筆數,因此一開始無法確定陣列的範圍。 如下例: 小試身手:寫一程式讀取InputBox輸入的數值,並存入陣列中, 直到輸入的數值等於0為止,最後再計算陣列中所有數值的平均值。 若是利用Dim 宣告陣列,其陣列的大小是固定的,也就是其陣列元素的個數是N+1個。在本例中,陣列大小需要隨著使用者不斷輸入數值而增加,如果我們想視情況調整陣列的大小,VB提供另一種宣告語法-ReDim。 以ReDim宣告陣列的語法在格式上與Dim 陣列名稱(N)敘述完全相同,也可以用ReDim陣列名稱(M to N)。 宣告範例1:  一開始宣告陣列A時,括號「( )」內為空值,之後在程式當中可確定陣列大小時,再以ReDim重新宣告。 Dim A() … ReDim A(8) … ReDim A(3 to 10) 宣告範例2: 一開始在程序中即以ReDim宣告陣列B,之後可再自由運用ReDim重新調整陣列的大小。 ReDim B(3) … ReDim A(6) … ReDim A(1 to 5) 使用ReDim宣告陣列時,另有幾點需留意: 1、ReDim敘述僅能改變陣列的大小(元素數量),但不能改變其資料型態或是維數。 2、當利用ReDim敘述調整陣列大小的同時,原始陣列中所有的元素內容將被清空。若是想保留原始資料,則可加入Preserve關鍵字,範例如下。 ReDim M(8) … … ReDim Preserve M(5)     ↑   陣列M縮小,原始陣列中之M(0)至M(5)的內容將被保留 同學們理解了ReDim的

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档