- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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的
您可能关注的文档
最近下载
- 完整八年级物理综合实践活动课教案.docx
- 高考英语一轮复习知识清单(全国通用):专题20 语法填空介词100题(精练)解析版.docx VIP
- 110kV〜750kV架空输电线路施工及验收规范.docx VIP
- 2021-2022年国家开放大学电大法学《实用法律基础》课程考试打印版完美打印版 英语网考资料.doc
- 奥迪A6电路图之发动机BAT.pdf
- 2023年4月自考02207电气传动与可编程控制器PLC试题及答案含解析.pdf
- 医院普外科课件.pptx
- 游戏策划方案-数值策划笔试题.docx VIP
- 高考英语一轮复习知识清单:专题08 语法填空不定式100题(全国通用)解析版.docx VIP
- drillwork2005操作手册.ppt
文档评论(0)