版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五章數(shù)組,列表框和組合框5.1概述數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而是一組相同類型數(shù)據(jù)的集合。用一個統(tǒng)一的名字(數(shù)組名)代表邏輯上相關(guān)的一批數(shù)據(jù),每個元素用下標(biāo)變量來區(qū)分;下標(biāo)變量代表元素在數(shù)組中的位置。VB中數(shù)組的表示形式:
A(1),A(10)‘一維數(shù)組
X(1,1),X(2,10)‘二維數(shù)組
Y(0,0,0),Y(1,2,5)‘三維數(shù)組VisualBasic中的數(shù)組分類:按數(shù)組的大?。ㄔ貍€數(shù))是否可以改變來分為:
定長數(shù)組、動態(tài)(可變長)數(shù)組。按元素的數(shù)據(jù)類型可分為:
數(shù)值型數(shù)組、字符串?dāng)?shù)組、邏輯數(shù)組、日期型數(shù)組、變體數(shù)組等、對象數(shù)組。按數(shù)組的維數(shù)可分為:
一維數(shù)組、二維數(shù)組、多維數(shù)組。5.2.1一維數(shù)組的聲明一維數(shù)組形式:
Dim數(shù)組名([<下界>to]<上界>)[As<數(shù)據(jù)類型>]或:
Dim數(shù)組名[<數(shù)據(jù)類型符>]([<下界>to]<上界>)例:Dima(1to10)AsInteger‘聲明了a數(shù)組有10個元素1是下標(biāo)的下界10是下標(biāo)的上界數(shù)組元數(shù)的數(shù)據(jù)類型與上面聲明等價形式:
Dima%(1to10)說明:
1.?dāng)?shù)組名的命名規(guī)則與變量的命名相同。
2.?dāng)?shù)組的元素個數(shù):上界-下界+1。
3.缺省<下界>為0,若希望下標(biāo)從1開始,可在模塊的通用部分使用OptionBase語句將設(shè)為1。其使用格式是:
OptionBase0|1‘后面的參數(shù)只能取0或1
例如:
OptionBase1‘將數(shù)組聲明中缺省<下界>下標(biāo)設(shè)為1
4.<下界>和<上界>不能使用變量,必須是常量,常量可以是直接常量、符號常量,一般是整型常量。DimNAsIntegerN=Val(InputBox(“EnterN=?”))DimA(N)AsInteger×5.如果省略As子句,則數(shù)組的類型為變體類型。6.?dāng)?shù)組中各元素在內(nèi)存占一片連續(xù)的存儲空間。A(0)A(1)A(2)A(n)….
一維數(shù)組在內(nèi)存中存放的順序5.2.2一維數(shù)組元素的引用
使用形式:
數(shù)組名(下標(biāo))
其中:下標(biāo)可以是整型變量、常量或表達(dá)式。例如:設(shè)有下面的數(shù)組定義:
DimA(10)AsInteger
,B(10)AsInteger
則下面的語句都是正確的。
A(1)=A(2)+B(1)+5'取數(shù)組元素運(yùn)算
A(i)=B(i)'下標(biāo)使用變量
B(i+1)=A(i+2)'下標(biāo)使用表達(dá)式
5.2.3一維數(shù)組的基本操作1.可通過循環(huán)給數(shù)組元素的初值
Fori=1To10 ‘A數(shù)組的每個元素值為1 A(i)=1Nexti
2.數(shù)組的輸入
輸入10個數(shù),并存入到數(shù)組A中Fori=1To10A(i)=Val(InputBox(“輸入A(”&i&“)的值”))Nexti3.求數(shù)組中最大元素及所在下標(biāo)
DimMaxAsInteger,iMaxAsIntegerMax=A(1):iMax=1Fori=2To10IfA(i)>MaxThenMax=A(i)iMax=iEndIfNextiPrint"A("&iMax&")=";A(iMax)
5.2.3一維數(shù)組的基本操作
5.2.3一維數(shù)組的基本操作4.將數(shù)組元素倒置Fori=1To10\2t=A(i)A(i)=A(10-i+1)A(10-i+1)=tNexti5.2.4一維數(shù)組的應(yīng)用實(shí)例5.1對存放的20個數(shù)據(jù)計算總和和平均值。.窗體中有3個標(biāo)簽和2個命令按鈕,界面設(shè)計如圖。程序一運(yùn)行,隨機(jī)產(chǎn)生20個2位整數(shù)顯示在上面標(biāo)簽中。單擊“總和”命令按鈕,,計算20個數(shù)據(jù)的總和,并顯示在下面的標(biāo)簽中。單擊“平均值“命令按鈕,計算這20個數(shù)據(jù)的平均值,并顯示在下面的標(biāo)簽中。實(shí)例5.3數(shù)組的最大,最小值。窗體中有3個標(biāo)簽和兩個命令按鈕,界面設(shè)計如圖。程序一運(yùn)行,隨機(jī)產(chǎn)生10個2位整數(shù)顯示在上面標(biāo)簽上。單擊最大命令按鈕,將這10個數(shù)據(jù)中的最大元素值顯示在下面標(biāo)簽中。單擊最小命令按鈕,將這10個數(shù)據(jù)中的最小元素值顯示在下面標(biāo)簽中。實(shí)例5.4數(shù)組元素的排序。5.2.4一維數(shù)組的應(yīng)用5.3二維數(shù)組5.3.1二維數(shù)組的聲明聲明格式如下:Dim數(shù)組名([<下界>]to<上界>,[<下界>to]<上界>)[As<數(shù)據(jù)類型>]其中的參數(shù)與一維數(shù)組完全相同。例如:Dima(2,3)AsSingle
二維數(shù)組在內(nèi)存的存放順序是“先行后列”。例如數(shù)組a的各元素在內(nèi)存中的存放順序是:a(0,0)→a(0,1)→a(0,2)→a(0,3)→a(1,0)→a(1,1)→a(1,2)→a(1,3)→a(2,0)→(2,1)→a(2,2)→a(2,3)5.3二維數(shù)組5.3.2二維數(shù)組的引用
引用形式:
數(shù)組名(下標(biāo)1,下標(biāo)2)例如:
a(1,2)=10a(i+2,j)=a(2,3)*2在程序中常常通過二重循環(huán)來操作使用二維數(shù)組元素。
二維數(shù)組數(shù)據(jù)的輸入
5.3二維數(shù)組Dima(1to4,1to5)AsInteger,i%,j%,k%1.給二維數(shù)組a輸入數(shù)據(jù)的程序段如下:
Fori=1to4Forj=1to5A(i,j)=Val(InputBox("a("&i&","&j&")=?"))NextjNexti5.4動態(tài)數(shù)組動態(tài)數(shù)組:在聲明時未給出數(shù)組的大小。在程序執(zhí)行時分配存儲空間。5.4.1動態(tài)數(shù)組的建立及使用
建立動態(tài)數(shù)組包括聲明和大小說明兩步:
1.在使用Dim、Private或Public語句聲明括號內(nèi)為空的數(shù)組。格式:Dim|Private|Public數(shù)組名()As數(shù)據(jù)類型例:Dima()AsInteger2.在過程中用ReDim語句指明該數(shù)組的大小。格式:ReDim[Preserve]數(shù)組名(下標(biāo)1[,下標(biāo)2…])
例:RedimA(10)RedimPreserveA(20)Preserve參數(shù):保留數(shù)組中原來的數(shù)據(jù)說明:(1)ReDim語句是一個可執(zhí)行語句,只能出現(xiàn)在過程中,并且可以多次使用,改變數(shù)組的維數(shù)和大小。(2)在過程中可以多次使用ReDim來改變數(shù)組的大小,也可改變數(shù)組的維數(shù)。例:ReDimx(10)
ReDimx(20)x(20)=30Printx(20)
ReDimx(20,5)x(20,5)=10Printx(20,5)
(3)每次使用ReDim語句都會使原來數(shù)組中值丟失,可以在ReDim后加Preserve
參數(shù)來保留數(shù)組中的數(shù)據(jù)。即當(dāng)數(shù)組被redim時,如果參數(shù)中有preserve,已賦值的元素會被保護(hù),值不會變
dima()aslong
redima(1to10)aslong
fori=1to10
a(i)=i*2
nexti
redimpreservea(1to100)aslong5.5控件數(shù)組5.5.1控件數(shù)組的概念
在實(shí)際應(yīng)用中,我們有時會用到一些類型相同且功能類似的控件。如果對每一個控件都單獨(dú)處理,就會多做一些麻煩而重復(fù)的工作。這時,我們可以用控件數(shù)組來簡化程序??丶?shù)組由一組相同類型的控件組成,這些控件共用一個控件名字,具有相似的屬性設(shè)置,共享同樣的事件過程??丶?shù)組中各個控件相當(dāng)于普通數(shù)組中的各個元素,同一控件數(shù)組中各個控件的Index屬性相當(dāng)于普通數(shù)組中的下標(biāo)。假設(shè)有一個包含3個按鈕的控件數(shù)組Command1,它的3個元素就是Command1(0),Command1(1),Command1(2)。
5.5控件數(shù)組建立了控件數(shù)組之后,控件數(shù)組中所有控件共享同一事件過程。例如,假定某個控件數(shù)組含有10個標(biāo)簽,則不管單擊哪個標(biāo)簽,系統(tǒng)都會調(diào)用同一個Click過程。由于每個標(biāo)簽在程序中的作用不同,系統(tǒng)會將被單擊的標(biāo)簽的Index屬性值傳遞給過程,由事件過程根據(jù)不同的Index值執(zhí)行不同的操作。PrivateSubcmdOK_Click(IndexAsInteger)……'三個命令按鈕共享代段
SelectCaseIndexCase0……'處理第一個命令按鈕的操作
Case1……'處理第二個命令按鈕的操作
Case2……'處理第三個命令按鈕的操作
EndSelect……EndSub5.5控件數(shù)組5.5.2控件數(shù)組的建立1.窗體上畫出控件,進(jìn)行屬性設(shè)置,這是建立的第一個元素;2.選中該控件,進(jìn)行“Copy”操作若干次和“Paste”操作若干次建立了所需個數(shù)的控件數(shù)組元素。3.進(jìn)行事件過程的編程。
實(shí)例5.6
窗體中有1個命令按鈕,5個標(biāo)簽,1個包含10個單選按鈕的控件數(shù)組,界面設(shè)計如圖。程序運(yùn)行時,單擊測試命令按鈕,在標(biāo)簽中隨機(jī)顯示一個交通標(biāo)識的名稱。用戶單擊一個點(diǎn)選按鈕,程序自動判斷正誤后提示正確答案及正誤結(jié)果。5.6列表框和組合框
列表框(ListBox)控件將一系列的選項組合成一個列表,用戶可以選擇其中的一個或幾個選項,但不能向列表清單中輸入項目;組合框(ComboBox)控件是綜合文本框和列表框特性而形成的一種控件,用戶可通過在組合框中輸入文本來選定項目,也可從列表中選定項目。1.列表框 列表框控件(ListBox)的主要用途在于提供列表式的多個數(shù)據(jù)項供用戶選擇。在列表框中放入若干個項的名字,用戶可以通過單擊某一項或多項來選擇自己所需要的項目。如果放入的項較多,超過了列表框設(shè)計時可顯示的項目數(shù),則系統(tǒng)會自動在列表框邊上加一個垂直滾動條。1.屬性 (1)List屬性 該屬性是一個字符串?dāng)?shù)組,用來保存列表框中的各個數(shù)據(jù)項內(nèi)容。
List數(shù)組的下標(biāo)從0開始,即List(0)保存表中的第一個數(shù)據(jù)項的內(nèi)容。List(1)保存第二個數(shù)據(jù)項的內(nèi)容,依次類推,List(ListCount-1)保存表中的最后一個數(shù)據(jù)項的內(nèi)容。
(2)ListCount屬性 該屬性記錄了列表框中的數(shù)據(jù)項數(shù),該屬性只能在程序中引用它。(3)Text屬性 用于存放被選中列表項的文本內(nèi)容。該屬性是只讀的,不能在屬性窗口中設(shè)置,也不能在程序中設(shè)置,只用于獲取當(dāng)前選定的列表項的內(nèi)容??稍诔绦蛑幸肨ext屬性值。4)ListIndex屬性 該屬性是List數(shù)組中,被選中的列表項的下標(biāo)值(即索引號)。如果用戶選擇了多個列表項,則ListIndex是最后一次所選列表項的索引號;如果用戶沒有從列表框中選擇任何一項,則ListIndex為-1。程序運(yùn)行時,可以使用ListIndex屬性判斷列表框中哪一項被選中。 例如,在列表框List1中選中第2項,即List1.List數(shù)組的第2項,則ListIndex=1(ListIndex從0開始)。
ListIndex屬性不能在設(shè)計時設(shè)置,只有程序運(yùn)行時才起作用。(5)Selected屬性 該屬性是一個邏輯數(shù)組,其元素對應(yīng)列表框中相應(yīng)的項。表示相應(yīng)的項在程序運(yùn)行期間是否被選中。例如,Selected(0)的值為True,表示第一項被選中,如為False,表示未被選中。(6)MultiSelect(多選擇列表項)屬性該屬性值表明是否能夠在列表框控件中進(jìn)行復(fù)選以及如何進(jìn)行復(fù)選。它決定用戶是否可以在控件中做多重選擇,它必須在設(shè)計時設(shè)置,運(yùn)行時只能讀取該屬性。Multiselect屬性值的說明下表所示。設(shè)置值含義0(缺省值)不允許復(fù)選1簡單復(fù)選。鼠標(biāo)單擊或按下空格鍵在列表中選中或取消選中項。箭頭鍵移動焦點(diǎn)2擴(kuò)展復(fù)選。按下
SHIFT并單擊鼠標(biāo)將在以前選中項的基礎(chǔ)上擴(kuò)展選擇到當(dāng)前選中項。按下
CTRL并單擊鼠標(biāo)來在列表中選中或取消選中項(7)Sorted屬性返回一個邏輯值,當(dāng)Sorted屬性為True時列表框控件或組合框控件的項目自動按字母表順序(升序)排序,為False時項目按加入的先后順序排列顯示。該屬性只能在設(shè)計時設(shè)置,不能在程序代碼中設(shè)置。2方法1.AddItem方法用于將項目添加到列表框控件或組合框控件。語法格式:〈對象名〉.AddItemitem[,index]
其中:item:為字符串表達(dá)式,表示要加入的項目。
Index:決定新增項目的位置,缺省,則添加在最后。
2.RemoveItem方法用于從列表框控件或組合框控件中刪除一項。語法格式:〈對象名〉.RemoveItemindex
對index參數(shù)的規(guī)定同AddItem方法。
3.Clear方法用于清除列表框控件或組合框控件中的所有項目。語法格式:
〈對象名〉.Clear例如,刪除列表框(List1)中所有項目,可使用:
List1.Clear實(shí)例5.8
窗體中有1個標(biāo)簽,一個列表框和2個命令按鈕,界面設(shè)計如圖。程序一運(yùn)行,列表框中顯示北京,上海,天津和重慶等城市名。單擊添加按鈕,出現(xiàn)輸入框,用戶輸入新的城市名,隨機(jī)將該城市名添加到列表框中。在列表框中選中一項后,單擊刪除命令按鈕,從列表框中刪除所選城市。實(shí)例5.9
窗體中有2個標(biāo)簽,2個命令按鈕和2個列表框,界面設(shè)計如圖。程序一運(yùn)行隨機(jī)產(chǎn)生100個兩位整數(shù)添加在左邊的列表框中;單擊>>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教工教育培訓(xùn)計劃
- 2025年財政監(jiān)督總結(jié)與2025工作計劃
- 2025年婦幼保健院工作計劃
- 2025年第二學(xué)期學(xué)校安全工作計劃范文
- Unit 2 Lesson 3 In the library(說課稿)-2024-2025學(xué)年冀教版(三起)(2024)英語三年級上冊
- Unit7 Protect the Earth 第一課時(說課稿)2024-2025學(xué)年譯林版(三起)英語六年級上冊
- 2025年銷售月工作計劃
- 2024年公務(wù)員考試邊壩縣《行政職業(yè)能力測驗》考前沖刺試卷含解析
- 全國清華版信息技術(shù)小學(xué)三年級上冊新授課 第2課 認(rèn)識新伙伴-計算機(jī) 說課稿
- 2025幼兒園大班教育教學(xué)計劃
- (一模)株洲市2025屆高三教學(xué)質(zhì)量統(tǒng)一檢測 英語試卷
- 社區(qū)意識形態(tài)工作責(zé)任制實(shí)施細(xì)則模版(2篇)
- 礦業(yè)公司規(guī)章制度匯編
- 介入導(dǎo)管室護(hù)士長職責(zé)
- 《國家課程建設(shè)》課件
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 歷史 含解析
- 2024-2025學(xué)年湖北省武漢市華中師大一附中高三上學(xué)期期中英語試題及答案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期1月期末數(shù)學(xué)試題 含解析
- 大學(xué)老師工作述職報告
- 辦公樓裝飾裝修工程施工組織設(shè)計方案
- 汽車產(chǎn)業(yè)AIGC技術(shù)應(yīng)用白皮書 2024
評論
0/150
提交評論