《Visual_Basic程序設(shè)計項目化教程》制作簡易計算器
《《Visual_Basic程序設(shè)計項目化教程》制作簡易計算器》由會員分享,可在線閱讀,更多相關(guān)《《Visual_Basic程序設(shè)計項目化教程》制作簡易計算器(55頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社Visual Basic 程序設(shè)計項目化教程n主編主編 管小清管小清 郭賀彬郭賀彬VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社項目四項目四 制作簡易計算器制作簡易計算器 n項目目標(biāo):項目目標(biāo):n 本項目利用控件數(shù)組來設(shè)計一個簡易的計算器,能本項目利用控件數(shù)組來設(shè)計一個簡易的計算器,能夠?qū)崿F(xiàn)加、減、乘、除四則運算;運算的數(shù)據(jù)可以包夠?qū)崿F(xiàn)加、減、乘、除四則運算;運算的數(shù)據(jù)可以包括整數(shù)和小數(shù),同時對于除法運算還進(jìn)行數(shù)據(jù)有效性括整數(shù)和小數(shù),同時對于除法運算還進(jìn)行數(shù)據(jù)有效性的驗證等。本項目
2、主要用來學(xué)習(xí)的驗證等。本項目主要用來學(xué)習(xí)VB中控件數(shù)組的畫法,中控件數(shù)組的畫法,控件數(shù)組的各個控件的調(diào)用,控件數(shù)組的事件,控件數(shù)組的各個控件的調(diào)用,控件數(shù)組的事件,F(xiàn)rame控件的使用,控件的使用,IF、Case控制語句的應(yīng)用??刂普Z句的應(yīng)用。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社項目四項目四 制作簡易計算器制作簡易計算器n項目主要知識點:項目主要知識點:n1.Frame控件的使用控件的使用n2.控件數(shù)組的使用控件數(shù)組的使用o畫法畫法o編程編程n3.控件的特殊屬性控件的特殊屬性n Alignmentn Tagn4.VB中的運算符以及運算順序中的運算符以
3、及運算順序n 算術(shù)運算符算術(shù)運算符n 邏輯運算符邏輯運算符n 關(guān)系運算關(guān)系運算 n5.表達(dá)式的運算表達(dá)式的運算n6.賦值語句(賦值語句(InputBox函數(shù))函數(shù))n7.選擇程序結(jié)構(gòu)選擇程序結(jié)構(gòu)n IFElse語句語句n Select Case語句語句n8.數(shù)據(jù)有效性驗證的方法數(shù)據(jù)有效性驗證的方法VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社項目四項目四 制作簡易計算器制作簡易計算器n項目實施步驟:項目實施步驟:n閱讀相關(guān)基礎(chǔ)知識閱讀相關(guān)基礎(chǔ)知識n界面設(shè)計界面設(shè)計o窗體設(shè)計窗體設(shè)計o控件屬性設(shè)置控件屬性設(shè)置n程序設(shè)計程序設(shè)計o編程初步編程初步o程序代碼程序代碼
4、n程序調(diào)試,功能完善程序調(diào)試,功能完善VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n4.1.1 Frame控件控件nFrame 控件為控件提供可標(biāo)識的分組。當(dāng)需要在同一窗體內(nèi)建立幾組互控件為控件提供可標(biāo)識的分組。當(dāng)需要在同一窗體內(nèi)建立幾組互獨立的控件時,就需要用框架將每一組控件框起來,把控件分成幾組。獨立的控件時,就需要用框架將每一組控件框起來,把控件分成幾組。n舉例說明,用舉例說明,用Frame控件將控件將OptionButton分三組顯示,如下圖分三組顯示,如下圖4-1所示。所示。用用Frame可以美化界面,
5、在視覺上感覺清晰。可以美化界面,在視覺上感覺清晰。圖4-1 Frame控件設(shè)計的界面VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n框架內(nèi)控件的創(chuàng)建方法:框架內(nèi)控件的創(chuàng)建方法:n為了將控件分組,首先繪制為了將控件分組,首先繪制 Frame 控件,然后繪制控件,然后繪制 Frame 里面的控件。里面的控件。這樣就可以把框架和里面的控件同時移動,成為一體。這樣就可以把框架和里面的控件同時移動,成為一體。n方法方法1:單擊工具箱上的:單擊工具箱上的Frame控件,然后用出現(xiàn)的控件,然后用出現(xiàn)的“+”指針,在指針,在For
6、m窗體上畫出適當(dāng)大小的窗體上畫出適當(dāng)大小的Frame框架控件,然后再繼續(xù)把其他的控件框架控件,然后再繼續(xù)把其他的控件畫在畫在Frame框架中適當(dāng)位置??蚣苤羞m當(dāng)位置。n如果在如果在 Frame 外部繪制了一個控件并試圖把它移到框架內(nèi)部,那么控件外部繪制了一個控件并試圖把它移到框架內(nèi)部,那么控件將在浮在將在浮在 Frame 的上部,無法和的上部,無法和Frame成為一體,當(dāng)移動控件的時候,成為一體,當(dāng)移動控件的時候,需分別移動需分別移動 Frame 和控件。這時候通過方法和控件。這時候通過方法2可以實現(xiàn)控件和框架一體可以實現(xiàn)控件和框架一體的效果。的效果。n方法方法2:將已有控件:將已有控件“剪切
7、剪切”(Ctrl+X)到剪貼板,然后選中框架,到剪貼板,然后選中框架,使用使用(Ctrl+V)命令粘貼到框架內(nèi),即可實現(xiàn)控件和框架一體的效果。命令粘貼到框架內(nèi),即可實現(xiàn)控件和框架一體的效果。nFrame的重要屬性參見表的重要屬性參見表4-1。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n表表4-1 Frame控件的常用屬性控件的常用屬性 屬性屬性含義含義Caption框架標(biāo)題Enabled缺省為True,屬性值為False時,標(biāo)題呈灰色,不允許對框架內(nèi)的所有對象進(jìn)行操作VisibleTrue:框架及其控件可見,F(xiàn)
8、alse:框架及其控件被隱含起來注意:框架可以響應(yīng)的事件Click、DblClick,一般不需要有關(guān)框架的事件過程VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n4.1.2 控件數(shù)組的使用控件數(shù)組的使用n 控件數(shù)組是一組具有共同名稱和類型和事件過程的控件。它們的事件過程也相同??丶?shù)組是一組具有共同名稱和類型和事件過程的控件。它們的事件過程也相同。同一控件數(shù)組中的元素有自己的屬性設(shè)置值。如同一控件數(shù)組中的元素有自己的屬性設(shè)置值。如Label(0),),Label(1),),Label(2),),是控件數(shù)組,但是控件
9、數(shù)組,但Label1,Label2,Label3就不是控件數(shù)組。就不是控件數(shù)組。n1.建立控件數(shù)組的方法建立控件數(shù)組的方法n控件數(shù)組時針對控件建立的,因此與普通數(shù)組的定義不一樣。建立控件數(shù)組有控件數(shù)組時針對控件建立的,因此與普通數(shù)組的定義不一樣。建立控件數(shù)組有3種種方法:方法:n方法方法1:給控件起相同的名稱:給控件起相同的名稱n步驟如下:步驟如下:n 在窗體上畫出多個同類型的控件,并決定哪個控件是數(shù)組的第一個元素。在窗體上畫出多個同類型的控件,并決定哪個控件是數(shù)組的第一個元素。n單擊要包含到數(shù)組中的某個控件(控件數(shù)組的第一個元素表示的控件除外),單擊要包含到數(shù)組中的某個控件(控件數(shù)組的第一個
10、元素表示的控件除外),將其激活;將其激活;n在屬性窗口中選擇在屬性窗口中選擇“(名稱)(名稱)”屬性,并鍵入和控件數(shù)組第一個元素一樣的名屬性,并鍵入和控件數(shù)組第一個元素一樣的名稱稱n對每個要加到數(shù)組中的控件重復(fù)步驟對每個要加到數(shù)組中的控件重復(fù)步驟,鍵入與控件數(shù)組第一個元素,鍵入與控件數(shù)組第一個元素一樣的名稱。一樣的名稱。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n當(dāng)對第二個控件鍵入與第一個控件相同的名稱后,當(dāng)對第二個控件鍵入與第一個控件相同的名稱后,VB將顯示一個將顯示一個如圖如圖4-2所示的對話框,詢問是否確
11、實要建立控件數(shù)組。單擊所示的對話框,詢問是否確實要建立控件數(shù)組。單擊“是是”將建立控件數(shù)組,單擊將建立控件數(shù)組,單擊“否否”將放棄建立控件數(shù)組。以后鍵入將放棄建立控件數(shù)組。以后鍵入其他控件相同的名稱時,將不會出現(xiàn)類似的提示框。其他控件相同的名稱時,將不會出現(xiàn)類似的提示框。圖4-2 建立控件數(shù)組提示適用場合:適用場合:如果要求一個控件數(shù)組的絕大多數(shù)屬性都不同,適用于方法1,可以先設(shè)置好各個同類型控件的“(名稱)”以外的其他屬性值。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n方法方法2:將控件復(fù)制并粘貼到窗體等上面
12、:將控件復(fù)制并粘貼到窗體等上面n在窗體上畫一個控件,單擊一下將其激活;在窗體上畫一個控件,單擊一下將其激活;n執(zhí)行執(zhí)行“編輯編輯”菜單中的菜單中的“復(fù)制復(fù)制”命令或命令或Ctrl+C,將該控件放入剪,將該控件放入剪貼板;貼板;n執(zhí)行執(zhí)行“編輯編輯”菜單中的菜單中的“粘貼粘貼”命令或者命令或者Ctrl+V,將顯示一個對,將顯示一個對話框,詢問是否建立控件數(shù)組,如圖話框,詢問是否建立控件數(shù)組,如圖4-2所示;所示;n單擊對話框中的單擊對話框中的“是是”按鈕,窗體的左上角將出現(xiàn)一個控件,它按鈕,窗體的左上角將出現(xiàn)一個控件,它就是控件數(shù)組的第二個元素。其名稱和第一個創(chuàng)建的控件一樣,就是控件數(shù)組的第二個
13、元素。其名稱和第一個創(chuàng)建的控件一樣,下標(biāo)索引值為下標(biāo)索引值為1,而第一個創(chuàng)建的控件的下標(biāo)索引值自動為,而第一個創(chuàng)建的控件的下標(biāo)索引值自動為0;VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n將新創(chuàng)建的控件移動到適當(dāng)?shù)奈恢?,再次使用將新?chuàng)建的控件移動到適當(dāng)?shù)奈恢茫俅问褂谩罢迟N粘貼”命令創(chuàng)建下一個控件,作為控件數(shù)組的下一個元素重命令創(chuàng)建下一個控件,作為控件數(shù)組的下一個元素重復(fù)本操作直到添加了控件數(shù)組的所有元素為止。復(fù)本操作直到添加了控件數(shù)組的所有元素為止。n用這種方法創(chuàng)建的控件數(shù)組,其中各個控件,其下標(biāo)用這種方法創(chuàng)建
14、的控件數(shù)組,其中各個控件,其下標(biāo)索引值和添加到控件數(shù)組的次序相同,由于每次都是索引值和添加到控件數(shù)組的次序相同,由于每次都是從第一個控件復(fù)制而來,所以,不僅它們的名稱和類從第一個控件復(fù)制而來,所以,不僅它們的名稱和類型是相同的,而且各個控件的大多數(shù)屬性都相同。型是相同的,而且各個控件的大多數(shù)屬性都相同。n 適用場合:如果要求控件數(shù)組中的各個控件的絕大適用場合:如果要求控件數(shù)組中的各個控件的絕大部分屬性都相同,宜采用方法部分屬性都相同,宜采用方法2。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n方法方法3:將控件的
15、:將控件的Index屬性設(shè)置為非屬性設(shè)置為非Null數(shù)值(數(shù)值(0-32767)n在窗體上添加多個同類型的控件;在窗體上添加多個同類型的控件;n選擇一個控件,打開屬性窗口將其選擇一個控件,打開屬性窗口將其Index屬性設(shè)置為屬性設(shè)置為032767之間之間的整數(shù);的整數(shù);n重復(fù)步驟重復(fù)步驟,完成對所有的控件,完成對所有的控件Index屬性的修改。注意:各個控屬性的修改。注意:各個控件的件的Index屬性值可以連續(xù),也可以不連續(xù),但一定要唯一;屬性值可以連續(xù),也可以不連續(xù),但一定要唯一;n在屬性窗口中,將所有控件的名稱修改為控件數(shù)組的名稱。在屬性窗口中,將所有控件的名稱修改為控件數(shù)組的名稱。n適用
16、場合:如果要求用戶指定控件數(shù)組中各控件的適用場合:如果要求用戶指定控件數(shù)組中各控件的Index屬性值,屬性值,宜用方法宜用方法3。n 三種方法可以配合使用,也可以單獨使用。三種方法可以配合使用,也可以單獨使用。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n2.控件數(shù)組的特點控件數(shù)組的特點n控件數(shù)組具有以下特點:控件數(shù)組具有以下特點:o相同的控件名稱,相同的控件名稱,Name屬性相同;屬性相同;o控件數(shù)組中的控件具有相同的一般屬性;控件數(shù)組中的控件具有相同的一般屬性;o所有的控件共用相同的事件過程;所有的控件共用相
17、同的事件過程;o控件數(shù)組的每一個元素都有一個下標(biāo),下標(biāo)值由控件數(shù)組的每一個元素都有一個下標(biāo),下標(biāo)值由Index屬性值指定。屬性值指定。數(shù)組名字有數(shù)組名字有Name決定,而每個元素由決定,而每個元素由Index屬性值來確定;屬性值來確定;o控件數(shù)組中的控件執(zhí)行相同的事件過程;控件數(shù)組中的控件執(zhí)行相同的事件過程;o控件數(shù)組元素通過數(shù)組名和括號中的下標(biāo)來引用;控件數(shù)組元素通過數(shù)組名和括號中的下標(biāo)來引用;o控件數(shù)組多用于單選按鈕,在一個框架中,有時候可能會有多個單選控件數(shù)組多用于單選按鈕,在一個框架中,有時候可能會有多個單選按鈕,可以把這些單選按鈕定義為一個數(shù)組,然后通過賦值語句使用按鈕,可以把這些單
18、選按鈕定義為一個數(shù)組,然后通過賦值語句使用Index屬性或?qū)傩曰駽aption屬性。屬性。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n3.控件數(shù)組的使用控件數(shù)組的使用n使用控件數(shù)組主要是利用其共享事件過程的特點來簡化編程。對使用控件數(shù)組主要是利用其共享事件過程的特點來簡化編程。對當(dāng)一個已經(jīng)建立好的控件數(shù)組編寫事件過程時,為了區(qū)別各個控當(dāng)一個已經(jīng)建立好的控件數(shù)組編寫事件過程時,為了區(qū)別各個控件,件,VB把控件的把控件的Index屬性作為過程參數(shù),在過程中通過如下形屬性作為過程參數(shù),在過程中通過如下形式引用相應(yīng)的控
19、件。式引用相應(yīng)的控件。n控件數(shù)組名(控件數(shù)組名(Index)n當(dāng)控件數(shù)組中的控件識別出一個事件已經(jīng)發(fā)生時,當(dāng)控件數(shù)組中的控件識別出一個事件已經(jīng)發(fā)生時,VB就會立刻調(diào)就會立刻調(diào)出控件數(shù)組的相應(yīng)的事件過程,并把可應(yīng)用的索引號當(dāng)做附加參出控件數(shù)組的相應(yīng)的事件過程,并把可應(yīng)用的索引號當(dāng)做附加參數(shù)傳遞給過程。數(shù)傳遞給過程。n舉例控件數(shù)組的使用舉例控件數(shù)組的使用n 用方法用方法2建立如圖建立如圖4-3所示界面的按鈕數(shù)組,要實現(xiàn)單擊各個按鈕所示界面的按鈕數(shù)組,要實現(xiàn)單擊各個按鈕時將按鈕的標(biāo)題顯示在時將按鈕的標(biāo)題顯示在text1中。中。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電
20、出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述圖4-3 設(shè)計按鈕數(shù)組界面VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n 雙擊按鈕數(shù)組進(jìn)入代碼編輯窗口,自動生成如下結(jié)構(gòu):雙擊按鈕數(shù)組進(jìn)入代碼編輯窗口,自動生成如下結(jié)構(gòu):nPrivate Sub Command1_Click(Index As Integer)nEnd Subn注意觀察程序中的參數(shù)傳遞的是控件數(shù)組的各個控件的注意觀察程序中的參數(shù)傳遞的是控件數(shù)組的各個控件的Index屬性屬性值,所有的控件共享同一個事件,通過值,所有的控件共享同一個事件,通過Ind
21、ex來標(biāo)識不同的控件。來標(biāo)識不同的控件。在代碼結(jié)構(gòu)中間補充實現(xiàn)本功能的代碼:在代碼結(jié)構(gòu)中間補充實現(xiàn)本功能的代碼:nText1.Text=Command1(Index).Captionn通過通過“數(shù)組名(數(shù)組名(Index).屬性名屬性名”這樣的形式來調(diào)用使用控件數(shù)這樣的形式來調(diào)用使用控件數(shù)組中的各個控件,在這個例子中,組中的各個控件,在這個例子中,Index的值是從的值是從02。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n4.1.3 表達(dá)式及運算符表達(dá)式及運算符n運算是對數(shù)據(jù)進(jìn)行加工的過程。在程序設(shè)計語言中用運
22、算是對數(shù)據(jù)進(jìn)行加工的過程。在程序設(shè)計語言中用不同的符號來描述不同的運算形式,這些符號稱為運不同的符號來描述不同的運算形式,這些符號稱為運算符或者操作符,運算的對象稱為操作數(shù)。運算符和算符或者操作符,運算的對象稱為操作數(shù)。運算符和操作數(shù)可以組成各種類型的表達(dá)式,從而實現(xiàn)程序中操作數(shù)可以組成各種類型的表達(dá)式,從而實現(xiàn)程序中需要的大量的運算。由運算符將操作數(shù)連接起來即構(gòu)需要的大量的運算。由運算符將操作數(shù)連接起來即構(gòu)成了各種類型的表達(dá)式。表達(dá)式描述了對不同類型的成了各種類型的表達(dá)式。表達(dá)式描述了對不同類型的操作數(shù)以何種順序進(jìn)行何種操作,或者說描述了某個操作數(shù)以何種順序進(jìn)行何種操作,或者說描述了某個求值
23、規(guī)則。每個表達(dá)式都產(chǎn)生唯一的值。操作數(shù)可以求值規(guī)則。每個表達(dá)式都產(chǎn)生唯一的值。操作數(shù)可以是常量、變量、函數(shù)、對象等。是常量、變量、函數(shù)、對象等。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n表達(dá)式的類型由運算符的類型決定,在表達(dá)式的類型由運算符的類型決定,在VB中有中有4類常用的運算符和表達(dá)式:類常用的運算符和表達(dá)式:nVB中的運算符有中的運算符有4類:類:n第一類:第一類:1.算術(shù)運算符和算術(shù)表達(dá)式算術(shù)運算符和算術(shù)表達(dá)式n算術(shù)運算符是最常用的運算符,用來對數(shù)值型數(shù)據(jù)執(zhí)行簡單的算術(shù)運算,按照優(yōu)先級別給出算術(shù)運算符
24、是最常用的運算符,用來對數(shù)值型數(shù)據(jù)執(zhí)行簡單的算術(shù)運算,按照優(yōu)先級別給出算術(shù)運算符,如表算術(shù)運算符,如表4-1所示。所示。n 表表4-1 算術(shù)運算符算術(shù)運算符優(yōu)先級優(yōu)先級運算符運算符含義含義例子例子運算結(jié)果運算結(jié)果1+加2+351-減/取負(fù)值-1-2-32Mod求余9 Mod 213整除9244/除9/24.54*乘2*485乘方238VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n運算順序根據(jù)優(yōu)先級從高到低,括號改變優(yōu)先級的高運算順序根據(jù)優(yōu)先級從高到低,括號改變優(yōu)先級的高低,括號優(yōu)先。低,括號優(yōu)先。n數(shù)學(xué)表達(dá)式轉(zhuǎn)換
25、為算術(shù)表達(dá)式舉例,見表數(shù)學(xué)表達(dá)式轉(zhuǎn)換為算術(shù)表達(dá)式舉例,見表4-2。n表表4-2 數(shù)學(xué)表達(dá)式轉(zhuǎn)換為數(shù)學(xué)表達(dá)式轉(zhuǎn)換為VB表達(dá)式表達(dá)式數(shù)學(xué)表達(dá)式數(shù)學(xué)表達(dá)式VB算術(shù)表達(dá)式算術(shù)表達(dá)式VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n第二類:第二類:2.字符串運算符和字符串表達(dá)式字符串運算符和字符串表達(dá)式n VB字符串運算符有兩個:字符串運算符有兩個:“&”和和“+”運算符,都是雙目運算符,其作用是運算符,都是雙目運算符,其作用是把兩個字符串連接在一起,生成一個較長的字符串。由字符串運算符與運算量把兩個字符串連接在一起,生成一個
26、較長的字符串。由字符串運算符與運算量構(gòu)成的表達(dá)式稱為字符串表達(dá)式。構(gòu)成的表達(dá)式稱為字符串表達(dá)式。n“&”和和“+”運算符在連接兩個字符串時,功能是等價的,但是在某些時候是運算符在連接兩個字符串時,功能是等價的,但是在某些時候是不一樣的,具體參見表不一樣的,具體參見表4-3.n 表表4-3“&”和和“+”運算符的用法運算符的用法運算符運算符參數(shù)要求參數(shù)要求處理方法處理方法&兩個操作數(shù)都是字符字符串連接&兩個操作數(shù)都是數(shù)字?jǐn)?shù)字當(dāng)做字符,做字符串連接&一個操作數(shù)為數(shù)字,另一個操作數(shù)為字符數(shù)字當(dāng)做字符串和字符串做字符串連接+兩個操作數(shù)都是字符串字符串連接+一個操作數(shù)為數(shù)字字符串,另一個為數(shù)值型數(shù)據(jù)把數(shù)
27、字字符串轉(zhuǎn)化為數(shù)值,與另一個數(shù)值操作數(shù)執(zhí)行加法操作+一個操作數(shù)為數(shù)值型數(shù)據(jù),另一個操作數(shù)為非數(shù)字字符串錯誤VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n“&”和和“+”舉例,見表舉例,見表4-4。表4-4“&”和“+”示例 舉例舉例結(jié)果結(jié)果總結(jié)總結(jié)I want to learn&VBI want to learn VB“&”運算符,強(qiáng)制把運算數(shù)當(dāng)做字符來連接My score is&100My score is 100123&123123123123&123123123I want to learn+VBI wan
28、t to learn VB“+”運算符,只有兩個操作數(shù)都為字符串時,與“&”功能一樣;當(dāng)兩個操作數(shù)都是數(shù)值或者一個是數(shù)值型一個是數(shù)字字符串,“+”運算符當(dāng)做加號來計算;“+”不能是非數(shù)值字符串和數(shù)值進(jìn)行運算123+123123123123+123246123+123246My score is+100出錯VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n第三類:第三類:3.關(guān)系運算符和關(guān)系表達(dá)式關(guān)系運算符和關(guān)系表達(dá)式n關(guān)系運算符也稱作比較運算符,用來對兩個表達(dá)式的值進(jìn)行比較,比較關(guān)系運算符也稱作比較運算符,用來對兩個
29、表達(dá)式的值進(jìn)行比較,比較的結(jié)果為邏輯值,如果關(guān)系成立,則返回的結(jié)果為邏輯值,如果關(guān)系成立,則返回True,否則返回,否則返回False。在。在VB中用中用-1和和0表示表示True和和False。n關(guān)系運算符如表關(guān)系運算符如表4-5所示。所示。表4-5 關(guān)系運算符運算符運算符含義含義例子例子運算結(jié)果運算結(jié)果=等于abc=ABCTrue小于3大于30True=小于或等于1+1=大于或等于3+1=9False不等于5 mod 2 0TrueVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n第四類:第四類:4.邏輯運算符和
30、邏輯表達(dá)式邏輯運算符和邏輯表達(dá)式n邏輯運算符是用來執(zhí)行邏輯運算的運算符。常用的有邏輯運算符是用來執(zhí)行邏輯運算的運算符。常用的有And(與)、(與)、Not(非)(非)和和Or(或)。邏輯表達(dá)式是用邏輯運算符將邏輯變量連接起來的式子。如(或)。邏輯表達(dá)式是用邏輯運算符將邏輯變量連接起來的式子。如表表4-6所示。所示。表4-6 邏輯運算符 運算運算符符含義含義例子例子運算結(jié)果運算結(jié)果And與X and Y當(dāng)x和y都為True時,其值為True,否則為FalseOr或X or Y當(dāng)X或Y其中一個為True時,其值為True,否則為FalseNot非Not x當(dāng)x為True時,其值為False,否則為
31、True項目總結(jié):四種運算符的優(yōu)先級分別為:算術(shù)運算符字符運算符比較運算符邏輯運算符。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n4.1.4 賦值語句賦值語句nVB具有結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu),即順序結(jié)構(gòu)、選具有結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),是程序設(shè)計的基礎(chǔ)。順序結(jié)構(gòu)就擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),是程序設(shè)計的基礎(chǔ)。順序結(jié)構(gòu)就是各語句按出現(xiàn)的先后次序執(zhí)行。一般的程序設(shè)計語是各語句按出現(xiàn)的先后次序執(zhí)行。一般的程序設(shè)計語言中,順序結(jié)構(gòu)的語句主要是賦值語句、輸入言中,順序結(jié)構(gòu)的語句主要是賦值語句、輸入
32、/輸出語輸出語句等。在句等。在VB中也有賦值語句。形式為:中也有賦值語句。形式為:n變量名表達(dá)式變量名表達(dá)式n計算右邊表達(dá)式的值,然后賦給左邊的變量。計算右邊表達(dá)式的值,然后賦給左邊的變量。n給變量賦值和設(shè)定屬性是給變量賦值和設(shè)定屬性是VB編程中常見的兩個任務(wù)。編程中常見的兩個任務(wù)。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n例如:例如:nn=n+1 計數(shù)累加計數(shù)累加 nText1.Text 清除文本框的內(nèi)容清除文本框的內(nèi)容nText1.Text 歡迎使用歡迎使用VB 文本框顯示字符串文本框顯示字符串 n賦值語
33、句不允許寫成賦值語句不允許寫成“表達(dá)式變量表達(dá)式變量”,雖然賦值號與關(guān)系運算,雖然賦值號與關(guān)系運算符等于號都用符等于號都用“=”表示,表示,VB系統(tǒng)會根據(jù)所處的位置自動判斷符系統(tǒng)會根據(jù)所處的位置自動判斷符號的意義。號的意義。n賦值號左邊的變量只能是變量,不能是常量、常數(shù)符號、表達(dá)式。賦值號左邊的變量只能是變量,不能是常量、常數(shù)符號、表達(dá)式。下面均為錯誤的賦值語句:下面均為錯誤的賦值語句:nNow()=x+y 左邊是表達(dá)式左邊是表達(dá)式(函數(shù)函數(shù))n5=sqr(s)+x+y 左邊是常量左邊是常量VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知
34、識概述步:基礎(chǔ)知識概述n4.1.5 選擇程序結(jié)構(gòu)選擇程序結(jié)構(gòu)n 計算機(jī)要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。計算機(jī)要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。必須利用選擇結(jié)構(gòu)等來解決實際應(yīng)用中的各種問題。必須利用選擇結(jié)構(gòu)等來解決實際應(yīng)用中的各種問題。VB中提供了多種形中提供了多種形式的條件語句來實現(xiàn)選擇結(jié)構(gòu),有式的條件語句來實現(xiàn)選擇結(jié)構(gòu),有If條件語句和條件語句和Select情況語句等。它們情況語句等。它們都是對條件進(jìn)行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。都是對條件進(jìn)行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。n 1.第一種分支語句:第一種分支語句:If語句語句n
35、IF語句分為三種:單分支結(jié)構(gòu),雙分支結(jié)構(gòu)和多分支結(jié)構(gòu),分別介紹如語句分為三種:單分支結(jié)構(gòu),雙分支結(jié)構(gòu)和多分支結(jié)構(gòu),分別介紹如下:下:nIfThen語句語句(單分支結(jié)構(gòu)單分支結(jié)構(gòu))n格式為:格式為:nIf Thenn 語句塊(可以是一句或多句語句)語句塊(可以是一句或多句語句)n End Ifn或或 If Then VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式,字符表表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式,字符表達(dá)式。表達(dá)式值按非零為達(dá)式。表達(dá)式值按非零為True,零
36、為,零為False進(jìn)行判斷。單分進(jìn)行判斷。單分支支IF語句的執(zhí)行流程如圖語句的執(zhí)行流程如圖4-6所示。所示。圖4-6 單分支IF語句執(zhí)行流程該語句的作用是當(dāng)表達(dá)式的值為True,執(zhí)行Then后面的語句塊,否則不做任何操作。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n例:已知兩個數(shù)例:已知兩個數(shù)x和和y,比較它們的大小,使得,比較它們的大小,使得x大于大于y。n If xy Thenn t=xn x=y n y=tn End If n或或 If xy Then t=x:x=y:y=t n簡單簡單If形式無形式無E
37、nd If時,只能是一句語句或語句間用冒時,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。號分隔,而且必須在一行上書寫。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n雙分支結(jié)構(gòu):雙分支結(jié)構(gòu):IfThenElse語句語句n結(jié)構(gòu)如下:結(jié)構(gòu)如下:nIf 表達(dá)式表達(dá)式 Thenn語句塊語句塊1nElsen語句塊語句塊2nEnd Ifn或或 If 表達(dá)式表達(dá)式 Then 語句語句1 Else 語句語句2 n當(dāng)表達(dá)式的值為當(dāng)表達(dá)式的值為True時,執(zhí)行時,執(zhí)行Then后面的語句塊后面的語句塊1,否則執(zhí)行,否則執(zhí)行E
38、lse后面的語句塊后面的語句塊2 VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n例子:計算分段函數(shù)例子:計算分段函數(shù)nn雙分支結(jié)構(gòu)實現(xiàn):雙分支結(jié)構(gòu)實現(xiàn):n If x0 Thenn y=sin(x)+sqr(x*x+1)n Elsen y=cos(x)x3+3*xn End IfVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n多分支結(jié)構(gòu):多分支結(jié)構(gòu):IfThenElseIf 語句語句 n結(jié)構(gòu):結(jié)構(gòu):nIf 表達(dá)式表達(dá)式1 Thenn 語
39、句塊語句塊1n ElseIf 表達(dá)式表達(dá)式2 Thenn 語句塊語句塊2n n Else n 語句塊語句塊 n+1n End Ifn作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個語句塊。作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個語句塊。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n多分支多分支IF語句的執(zhí)行流程如圖語句的執(zhí)行流程如圖4-7所示。所示。圖4-7 多分支IF語句執(zhí)行流程VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述nIf語句的嵌套:語句的
40、嵌套:nIf語句的嵌套是指語句的嵌套是指If或或Else后面的語句塊中又包含后面的語句塊中又包含If語句。語句。nIf 表達(dá)式表達(dá)式1 Thenn If 表達(dá)式表達(dá)式2 Thenn n End Ifn nEnd IfVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n2.第二種分支結(jié)構(gòu):第二種分支結(jié)構(gòu):select語句語句n語法格式為:語法格式為:nSelect Case 變量或表達(dá)式變量或表達(dá)式n Case 表達(dá)式列表表達(dá)式列表1n 語句塊語句塊1n Case 表達(dá)式列表表達(dá)式列表2n 語句塊語句塊2nn Case
41、Elsen 語句塊語句塊n+1nEnd SelectVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.1 第第1步:基礎(chǔ)知識概述步:基礎(chǔ)知識概述n表達(dá)式列表與變量或表達(dá)式的類型必須相同,是下面表達(dá)式列表與變量或表達(dá)式的類型必須相同,是下面4種形式之一種形式之一:n表達(dá)式表達(dá)式 例例:An一組用逗號分隔的枚舉值一組用逗號分隔的枚舉值 2,4,6,8 n表達(dá)式表達(dá)式1 To 表達(dá)式表達(dá)式2 60 To 100nIs關(guān)系運算符表達(dá)式關(guān)系運算符表達(dá)式 Is 60n多分支結(jié)構(gòu),用多分支結(jié)構(gòu),用Select Case語句比語句比IfThenElseIf語句直觀,程序可讀性
42、強(qiáng)。但不是所有的多分支結(jié)構(gòu)語句直觀,程序可讀性強(qiáng)。但不是所有的多分支結(jié)構(gòu)均可用均可用Select Case語句代替語句代替IfThenElseIf語句。語句。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.2 第第2步:界面設(shè)計步:界面設(shè)計n4.2.1 任務(wù)一、建立應(yīng)用程序用戶界面任務(wù)一、建立應(yīng)用程序用戶界面n 選擇新建工程,進(jìn)入窗體設(shè)計器,首先增加一個框架控件選擇新建工程,進(jìn)入窗體設(shè)計器,首先增加一個框架控件Frame1,選中,選中Frame1后,在其中增加一個文本框控件后,在其中增加一個文本框控件Text1、兩個命令按鈕數(shù)組、兩個命令按鈕數(shù)組Comman
43、d1(0)Command1(10)、)、Command2(0)Command2(3)和一個命令按鈕和一個命令按鈕Command3。n各控件排列如下圖各控件排列如下圖4-8所示:所示:圖4-8 界面設(shè)計 VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.2 第第2步:界面設(shè)計步:界面設(shè)計n注:注:n框架控件一般用在窗體布局中,其作用是對控件進(jìn)行位置上的限框架控件一般用在窗體布局中,其作用是對控件進(jìn)行位置上的限定,通常不對框架進(jìn)行編程。定,通常不對框架進(jìn)行編程。n控件數(shù)組是由一組相同類型的控件組成,這些控件共用一個相同控件數(shù)組是由一組相同類型的控件組成,這些控件共
44、用一個相同的控件名,具有相同的屬性設(shè)置。數(shù)組中每個控件都有唯一的索的控件名,具有相同的屬性設(shè)置。數(shù)組中每個控件都有唯一的索引號,即下標(biāo),下標(biāo)值有引號,即下標(biāo),下標(biāo)值有Index屬性指定。其所有的屬性指定。其所有的Name屬性必屬性必須相同。須相同。n控件數(shù)組通常用于需要對若干個同類型的控件執(zhí)行大致相同的操控件數(shù)組通常用于需要對若干個同類型的控件執(zhí)行大致相同的操作(如本例中的命令按鈕),控件數(shù)組共享同樣的事件過程。例作(如本例中的命令按鈕),控件數(shù)組共享同樣的事件過程。例如,假定一個控件數(shù)組含有如,假定一個控件數(shù)組含有3個命令按鈕,則不管單擊哪個,都會個命令按鈕,則不管單擊哪個,都會調(diào)用同一個調(diào)
45、用同一個Click過程。過程。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.2 第第2步:界面設(shè)計步:界面設(shè)計n4.2.2 任務(wù)二:設(shè)置對象屬性任務(wù)二:設(shè)置對象屬性n修改修改Form1的屬性:的屬性:Caption改為:計算改為:計算器,器,Max Button 改為:改為:False并調(diào)并調(diào)n整窗體合適大小。整窗體合適大小。n修改修改Text1的屬性:對齊方式的屬性:對齊方式(Alignment)改為:)改為:1Right Justify。文本(文本(Text1)改為:(無)。)改為:(無)。n修改修改Command1(0)Command1(10)的屬性
46、:標(biāo)題)的屬性:標(biāo)題(Caption)依次改為:)依次改為:1,2,3,4,5,6,7,8,9,0,.。n修改修改Command2(0)Command2(3)的屬性:標(biāo)題)的屬性:標(biāo)題(Caption)依次改為:,)依次改為:,。n修改修改Command3的屬性:標(biāo)題的屬性:標(biāo)題(Caption)改為:。如下圖)改為:。如下圖4-9所示:所示:圖 4-9修改屬性后的界面VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n4.3.1 任務(wù)一:在任務(wù)一:在“通用通用”過程中過程中“聲明聲明”變量變量n首先在首先在“通用通用”過程中
47、過程中“聲明聲明”變量變量n編程思想:用計算器進(jìn)行運算的時候,至少需要存放編程思想:用計算器進(jìn)行運算的時候,至少需要存放兩個操作數(shù)和一個運算符,所以需要聲明三個變量,兩個操作數(shù)和一個運算符,所以需要聲明三個變量,另外需要設(shè)置一個開關(guān)變量來指示是否第一次按下運另外需要設(shè)置一個開關(guān)變量來指示是否第一次按下運算符,來分情況處理運算的位置:算符,來分情況處理運算的位置:n(1)處理用戶是連續(xù)按下運算符而不按下等號的情況;)處理用戶是連續(xù)按下運算符而不按下等號的情況;n(2)處理用戶按下等號進(jìn)行計算的情況。)處理用戶按下等號進(jìn)行計算的情況。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中
48、國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n變量設(shè)置如下:變量設(shè)置如下:nDim v As Boolean 是否是否第一次按運算符第一次按運算符nDim s As String 存放存放上次按的運算符上次按的運算符nDim x As Double 存放存放第一個操作數(shù)第一個操作數(shù)nDim y As Double 存放存放第二個操作數(shù)第二個操作數(shù)n通用過程如下圖通用過程如下圖4-10所示:所示:圖 4-10 在通用部分定義全局變量VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n說明:說明:n通用過程一般用來聲明全
49、局變量,也就是作用范圍為通用過程一般用來聲明全局變量,也就是作用范圍為整個工程的變量。在程序代碼窗口的下拉菜單中選擇整個工程的變量。在程序代碼窗口的下拉菜單中選擇即可。即可。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n4.3.2 任務(wù)二:命令按鈕控件數(shù)組任務(wù)二:命令按鈕控件數(shù)組 Command1()的()的Click事件事件代碼代碼n編程思想:單擊編程思想:單擊09以及小數(shù)點時,需要將用戶單擊的內(nèi)容顯示以及小數(shù)點時,需要將用戶單擊的內(nèi)容顯示在計算器中,用在計算器中,用Command1(Index).Caption來獲取
50、用戶按下的來獲取用戶按下的鍵上的字符顯示信息。每次用戶按下數(shù)字鍵和小數(shù)點的時候,系鍵上的字符顯示信息。每次用戶按下數(shù)字鍵和小數(shù)點的時候,系統(tǒng)要都要調(diào)用統(tǒng)要都要調(diào)用Command1()的()的click事件,當(dāng)用戶多次按下多事件,當(dāng)用戶多次按下多個字符鍵,那么就需要暫存用戶以前按下的結(jié)果,設(shè)置一個臨時個字符鍵,那么就需要暫存用戶以前按下的結(jié)果,設(shè)置一個臨時變量變量a暫存用戶最近按下數(shù)字鍵,程序為:暫存用戶最近按下數(shù)字鍵,程序為:na=Text1.Text 保存以前按下的內(nèi)容保存以前按下的內(nèi)容nText1.Text=a&Command1(Index).Caption 和現(xiàn)在按下的和現(xiàn)在按下的鍵的內(nèi)
51、鍵的內(nèi)n容連接在一起顯示在容連接在一起顯示在text1文本框中。文本框中。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n當(dāng)用戶按下運算符后,我們要顯示第二個運算數(shù),當(dāng)用戶按下運算符后,我們要顯示第二個運算數(shù),text1中的內(nèi)容需清除來存放第中的內(nèi)容需清除來存放第二個操作數(shù),在此用二個操作數(shù),在此用Form窗體的一個特殊的屬性窗體的一個特殊的屬性Tag來區(qū)分用戶是否按下過運算來區(qū)分用戶是否按下過運算符。如果用戶按下過運算符,那么這時需要顯示的內(nèi)容是當(dāng)前按下鍵的內(nèi)容,即符。如果用戶按下過運算符,那么這時需要顯示的內(nèi)容是當(dāng)前按
52、下鍵的內(nèi)容,即Text1.Text=Command1(Index).Caption。特殊情況:當(dāng)用戶單擊小數(shù)點的時候,。特殊情況:當(dāng)用戶單擊小數(shù)點的時候,按照剛才的代碼會直接顯示了一個單獨的按照剛才的代碼會直接顯示了一個單獨的“.”,在此需要對,在此需要對text1顯示的內(nèi)容做顯示的內(nèi)容做補充,即補充,即text1的顯示內(nèi)容在小數(shù)點的前面補的顯示內(nèi)容在小數(shù)點的前面補“0”,使得直接按下小數(shù)點的時候,使得直接按下小數(shù)點的時候為前面自動補零。實現(xiàn)代碼如下:為前面自動補零。實現(xiàn)代碼如下:nIf Index=10 Then 單擊小數(shù)點情況單擊小數(shù)點情況nText1.Text=0 單擊小數(shù)點的時候需要在
53、點前補單擊小數(shù)點的時候需要在點前補“0”顯示顯示n Elsen Text1.Text=Command1(Index).Caption 按下的內(nèi)容顯示按下的內(nèi)容顯示text1中中n End Ifn當(dāng)按下運算符后按第一個數(shù)字鍵的時候,需要處理如上兩種情況,處理后對當(dāng)按下運算符后按第一個數(shù)字鍵的時候,需要處理如上兩種情況,處理后對Form1.Tag置空,等待下次使用。置空,等待下次使用。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼nCommand1數(shù)組的單擊事件代碼如下:數(shù)組的單擊事件代碼如下:nPrivate Sub Com
54、mand1_Click(Index As Integer)n數(shù)字鍵(數(shù)字鍵(09)以及小數(shù)點()以及小數(shù)點(.)鍵的)鍵的Click事件過程事件過程nIf Form1.Tag=T Then n 處理用戶按下運算符后按下的第一個數(shù)字區(qū)符號處理用戶按下運算符后按下的第一個數(shù)字區(qū)符號 n If Index=10 Then 單擊小數(shù)點的時候單擊小數(shù)點的時候n Text1.Text=0 單擊小數(shù)點的時候需要在點前補單擊小數(shù)點的時候需要在點前補“0”顯示顯示n Elsen Text1.Text=Command1(Index).Caption 按下的內(nèi)容顯示按下的內(nèi)容顯示text1中中n End Ifn F
55、orm1.Tag=nElsena=Text1.Text 保存以前按下的內(nèi)容保存以前按下的內(nèi)容n Text1.Text=a&Command1(Index).Caption 連接新按下字符一起顯示連接新按下字符一起顯示End IfnEnd Subn說明:說明:Tag屬性用來返回或者設(shè)置一個表達(dá)式用來存儲程序中需要額外存儲的數(shù)據(jù)與其它屬性不同,屬性用來返回或者設(shè)置一個表達(dá)式用來存儲程序中需要額外存儲的數(shù)據(jù)與其它屬性不同,Tag 屬性屬性值不被值不被 Visual Basic 使用;可以用該屬性來標(biāo)識對象。使用;可以用該屬性來標(biāo)識對象。n語法:語法:object.Tag=expression VBVB
56、程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n4.3.3 任務(wù)三:命令按鈕組任務(wù)三:命令按鈕組Command2()的()的Click事事件代碼:件代碼:n編程思想:對于運算符鍵,有兩種情況,一種是用戶編程思想:對于運算符鍵,有兩種情況,一種是用戶第一次按下運算符號鍵的時候,一種是用戶不是第一第一次按下運算符號鍵的時候,一種是用戶不是第一次按下運算符鍵的時候,需要分情況處理。次按下運算符鍵的時候,需要分情況處理。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n
57、1、當(dāng)用戶第一次按下運算符號的時候,需要做兩個處理:、當(dāng)用戶第一次按下運算符號的時候,需要做兩個處理:n把把text1中中 內(nèi)容保存為第一個操作數(shù)即內(nèi)容保存為第一個操作數(shù)即x=Text1.Textn保存運算符號的保存運算符號的Index值在值在s變量中,等待獲取第二個操作數(shù)后進(jìn)變量中,等待獲取第二個操作數(shù)后進(jìn)行運算處理,此時卻不必計算,代碼為:行運算處理,此時卻不必計算,代碼為:s=Index;n核心代碼為:核心代碼為:nIf v Thennx=Text1.Text:v=Not v nElse n .nEnd Ifn s=IndexVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社
58、中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n2、當(dāng)用戶不是第一次按下運算符的時候,并且是用戶、當(dāng)用戶不是第一次按下運算符的時候,并且是用戶多次按下運算符而沒有按下等號的時候,此時需要進(jìn)多次按下運算符而沒有按下等號的時候,此時需要進(jìn)行計算處理,包括三項工作:行計算處理,包括三項工作:n 保存第二個操作數(shù)到保存第二個操作數(shù)到y(tǒng)變量中,以備計算使用;變量中,以備計算使用;n 根據(jù)根據(jù)s中保存的運算符的中保存的運算符的Index值,決定執(zhí)行相應(yīng)值,決定執(zhí)行相應(yīng)的計算;的計算;n 計算結(jié)果保存在計算結(jié)果保存在x中,作為下一次運算的第一操作中,作為下一次運算的第一操作數(shù);數(shù);VBVB程序設(shè)計
59、項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n為實現(xiàn)上述功能,雙擊為實現(xiàn)上述功能,雙擊Command2數(shù)組后的核心代碼如下:數(shù)組后的核心代碼如下:nPrivate Sub Command2_Click(Index As Integer)n運算符的加,減,乘,除鍵的運算符的加,減,乘,除鍵的Click事件過程事件過程n Form1.Tag=Tn If v Thenn x=Text1.Text:v=Not v 保存第一個運算數(shù)在保存第一個運算數(shù)在x變量中變量中n Elsen y=Text1.Text 處理多次按下運算符鍵的情況處理多次按下運
60、算符鍵的情況n這時需要對之前按下的數(shù)字和運算符號進(jìn)行這時需要對之前按下的數(shù)字和運算符號進(jìn)行n對應(yīng)的計算,把計算結(jié)果顯示在對應(yīng)的計算,把計算結(jié)果顯示在text1中中VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n Select Case sn Case 0n Text1.Text=x+yn Case 1n Text1.Text=x-yn Case 2n Text1.Text=x*yn Case 3n If y 0 Thenn Text1.Text=x/yn Elsen MsgBox 不能以不能以0為除數(shù)為除數(shù),32,錯誤錯誤
61、n End Ifn End Selectn x=Text1.Text n 把把text1的內(nèi)容保存在的內(nèi)容保存在x中,再次作為第一個操作數(shù)參與下一次運算中,再次作為第一個操作數(shù)參與下一次運算n End Ifn s=Index 保存運算符的保存運算符的Index值,在計算時使用值,在計算時使用nEnd SubVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n說明:說明:MsgBox語句的格式為:語句的格式為:nMsgBox ,,三個部分,三個部分的意義如下:的意義如下:n提示信息是顯示在提示框的文字顯示內(nèi)容,標(biāo)題顯示提示信息是
62、顯示在提示框的文字顯示內(nèi)容,標(biāo)題顯示在提示框的標(biāo)題欄上,而按鈕包括:按鈕的數(shù)目及形在提示框的標(biāo)題欄上,而按鈕包括:按鈕的數(shù)目及形式、使用的圖標(biāo)類型、默認(rèn)按鈕等,式、使用的圖標(biāo)類型、默認(rèn)按鈕等,3個按鈕可以相加個按鈕可以相加達(dá)到需要的樣式。達(dá)到需要的樣式。32是圖標(biāo)類型為是圖標(biāo)類型為VbQuestion問號圖問號圖標(biāo)。標(biāo)。VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n4.3.4 任務(wù)四:編寫命令按鈕任務(wù)四:編寫命令按鈕Command3的的Click事件過程事件過程n編程思想:用戶單擊等號以后所需要做的事情包括如下三步:編程
63、思想:用戶單擊等號以后所需要做的事情包括如下三步:n保存第二個操作數(shù)到保存第二個操作數(shù)到y(tǒng)變量中,以備計算使用;變量中,以備計算使用;n 使用使用s中保存的運算符的中保存的運算符的Index值,執(zhí)行相應(yīng)的計算;值,執(zhí)行相應(yīng)的計算;n計算結(jié)果保存在計算結(jié)果保存在x中,作為下一次運算的第一操作數(shù);中,作為下一次運算的第一操作數(shù);n把存放第二個操作數(shù)的變量把存放第二個操作數(shù)的變量y清除,把保存運算符的變量清除,把保存運算符的變量s清除,清除,以備下一次接收新的內(nèi)容進(jìn)行下一次計算,以備下一次接收新的內(nèi)容進(jìn)行下一次計算,v設(shè)置為設(shè)置為false,意味,意味已經(jīng)按下過運算符;已經(jīng)按下過運算符;VBVB程序
64、設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n雙擊雙擊Command3按鈕的核心代碼如下:按鈕的核心代碼如下:nPrivate Sub Command3_Click()運算符()的運算符()的Click的事件過程的事件過程n Form1.Tag=T:y=Text1.Text n 把把text1中的值保存在中的值保存在y中作為第二個運算數(shù)中作為第二個運算數(shù)n Select Case s n s中保存的是運算符,當(dāng)單擊運算符的時候中保存的是運算符,當(dāng)單擊運算符的時候s的值已經(jīng)保存的值已經(jīng)保存n Case 0n Text1.Text=x+
65、y text1中顯示運算后的結(jié)果中顯示運算后的結(jié)果n Case 1n Text1.Text=x-yn Case 2n Text1.Text=x*yn Case 3n If y 0 Then 被除數(shù)是否為被除數(shù)是否為0n Text1.Text=x/yn Elsen MsgBox 不能以不能以0為除數(shù)為除數(shù),32,錯誤錯誤n End Ifn End Selectn x=Text1.Text:y=0:v=False:s=5 n End SubVBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.3 第第3步:程序代碼步:程序代碼n程序執(zhí)行效果如下圖程序執(zhí)行效果如下圖4-
66、11所示:所示:圖4-11 程序運算結(jié)果圖VBVB程序設(shè)計項目化教程程序設(shè)計項目化教程中國水利水電出版社中國水利水電出版社4.4 第第4步:程序調(diào)試,完善功能步:程序調(diào)試,完善功能n考慮輸入考慮輸入“.9”后觀察程序運行的結(jié)果;輸入后觀察程序運行的結(jié)果;輸入“8.9-8”觀察程序運行結(jié)觀察程序運行結(jié)果,如何改進(jìn)和完善程序?果,如何改進(jìn)和完善程序?n項目總結(jié):項目總結(jié):nFrame控件數(shù)組的畫法及作用,如何讓已有控件包括在控件數(shù)組的畫法及作用,如何讓已有控件包括在Frame中(復(fù)制中(復(fù)制粘貼法)粘貼法)n控件數(shù)組的三種畫法及各自的適用場合控件數(shù)組的三種畫法及各自的適用場合n控件數(shù)組中控件的調(diào)用方法:通過控件數(shù)組中控件的調(diào)用方法:通過“數(shù)組名數(shù)組名(index)”調(diào)用控件數(shù)組中的某調(diào)用控件數(shù)組中的某一控件,各個控件的大部分屬性是相同,一個控件數(shù)組共享同一個事件一控件,各個控件的大部分屬性是相同,一個控件數(shù)組共享同一個事件n合理的控件的排列方式,讓界面更美觀合理的控件的排列方式,讓界面更美觀n選擇程序結(jié)構(gòu):塊選擇程序結(jié)構(gòu):塊IF結(jié)構(gòu)以及結(jié)構(gòu)以及Select Case結(jié)構(gòu)的使用方法,結(jié)構(gòu)的使
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第七章-透射電子顯微鏡
- 群落的結(jié)構(gòu)(課件)
- 焊接基礎(chǔ)知識
- 水文地質(zhì)學(xué)課件
- 某公司員工工傷安全管理規(guī)定
- 消防培訓(xùn)課件:安全檢修(要點)
- 某公司安全生產(chǎn)考核與獎懲辦法范文
- 安全作業(yè)活動安全排查表
- 某公司危險源安全辨識、分類和風(fēng)險評價、分級辦法
- 某公司消防安全常識培訓(xùn)資料
- 安全培訓(xùn)資料:危險化學(xué)品的類別
- 中小學(xué)寒假學(xué)習(xí)計劃快樂度寒假充實促成長
- 紅色插畫風(fēng)輸血相關(guān)知識培訓(xùn)臨床輸血流程常見輸血不良反應(yīng)
- 14.應(yīng)急救援隊伍訓(xùn)練記錄
- 某公司各部門及人員安全生產(chǎn)責(zé)任制