《VisualBasic程序設(shè)計項目化教程》制作簡易計算器.ppt

上傳人:xin****828 文檔編號:15485317 上傳時間:2020-08-12 格式:PPT 頁數(shù):55 大?。?71.50KB
收藏 版權(quán)申訴 舉報 下載
《VisualBasic程序設(shè)計項目化教程》制作簡易計算器.ppt_第1頁
第1頁 / 共55頁
《VisualBasic程序設(shè)計項目化教程》制作簡易計算器.ppt_第2頁
第2頁 / 共55頁
《VisualBasic程序設(shè)計項目化教程》制作簡易計算器.ppt_第3頁
第3頁 / 共55頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《VisualBasic程序設(shè)計項目化教程》制作簡易計算器.ppt》由會員分享,可在線閱讀,更多相關(guān)《《VisualBasic程序設(shè)計項目化教程》制作簡易計算器.ppt(55頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、Visual Basic 程序設(shè)計項目化教程,主編 管小清 郭賀彬,項目四 制作簡易計算器,項目目標(biāo): 本項目利用控件數(shù)組來設(shè)計一個簡易的計算器,能夠?qū)崿F(xiàn)加、減、乘、除四則運算;運算的數(shù)據(jù)可以包括整數(shù)和小數(shù),同時對于除法運算還進行數(shù)據(jù)有效性的驗證等。本項目主要用來學(xué)習(xí)VB中控件數(shù)組的畫法,控件數(shù)組的各個控件的調(diào)用,控件數(shù)組的事件,F(xiàn)rame控件的使用,IF、Case控制語句的應(yīng)用。,項目四 制作簡易計算器,項目主要知識點: 1.Frame控件的使用 2.控件數(shù)組的使用 畫法 編程 3.控件的特殊屬性 Alignment Tag 4.VB中的運算符以及運算順序 算術(shù)運算符 邏輯運算符

2、 關(guān)系運算 5.表達式的運算 6.賦值語句(InputBox函數(shù)) 7.選擇程序結(jié)構(gòu) IFElse語句 Select Case語句 8.數(shù)據(jù)有效性驗證的方法,項目四 制作簡易計算器,項目實施步驟: 閱讀相關(guān)基礎(chǔ)知識 界面設(shè)計 窗體設(shè)計 控件屬性設(shè)置 程序設(shè)計 編程初步 程序代碼 程序調(diào)試,功能完善,4.1 第1步:基礎(chǔ)知識概述,4.1.1 Frame控件 Frame 控件為控件提供可標(biāo)識的分組。當(dāng)需要在同一窗體內(nèi)建立幾組互獨立的控件時,就需要用框架將每一組控件框起來,把控件分成幾組。 舉例說明,用Frame控件將OptionButton分三組顯示,如下圖4-1所示。用Frame可以美化界面

3、,在視覺上感覺清晰。,圖4-1 Frame控件設(shè)計的界面,4.1 第1步:基礎(chǔ)知識概述,框架內(nèi)控件的創(chuàng)建方法: 為了將控件分組,首先繪制 Frame 控件,然后繪制 Frame 里面的控件。這樣就可以把框架和里面的控件同時移動,成為一體。 方法1:單擊工具箱上的Frame控件,然后用出現(xiàn)的“+”指針,在Form窗體上畫出適當(dāng)大小的Frame框架控件,然后再繼續(xù)把其他的控件畫在Frame框架中適當(dāng)位置。 如果在 Frame 外部繪制了一個控件并試圖把它移到框架內(nèi)部,那么控件將在浮在 Frame 的上部,無法和Frame成為一體,當(dāng)移動控件的時候,需分別移動 Frame 和控件。這時候通過方法2可

4、以實現(xiàn)控件和框架一體的效果。 方法2:將已有控件“剪切”(Ctrl+X)到剪貼板,然后選中框架,使用 (Ctrl+V)命令粘貼到框架內(nèi),即可實現(xiàn)控件和框架一體的效果。 Frame的重要屬性參見表4-1。,4.1 第1步:基礎(chǔ)知識概述,表4-1 Frame控件的常用屬性,,4.1 第1步:基礎(chǔ)知識概述,4.1.2 控件數(shù)組的使用 控件數(shù)組是一組具有共同名稱和類型和事件過程的控件。它們的事件過程也相同。同一控件數(shù)組中的元素有自己的屬性設(shè)置值。如Label(0),Label(1),Label(2),是控件數(shù)組,但Label1,Label2,Label3就不是控件數(shù)組。 1. 建立控件數(shù)組的方法 控件

5、數(shù)組時針對控件建立的,因此與普通數(shù)組的定義不一樣。建立控件數(shù)組有3種方法: 方法1:給控件起相同的名稱 步驟如下: 在窗體上畫出多個同類型的控件,并決定哪個控件是數(shù)組的第一個元素。 單擊要包含到數(shù)組中的某個控件(控件數(shù)組的第一個元素表示的控件除外),將其激活; 在屬性窗口中選擇“(名稱)”屬性,并鍵入和控件數(shù)組第一個元素一樣的名稱 對每個要加到數(shù)組中的控件重復(fù)步驟,,,鍵入與控件數(shù)組第一個元素一樣的名稱。,4.1 第1步:基礎(chǔ)知識概述,當(dāng)對第二個控件鍵入與第一個控件相同的名稱后,VB將顯示一個如圖4-2所示的對話框,詢問是否確實要建立控件數(shù)組。單擊“是”將建立控件數(shù)組,單擊“否”將放棄建立控件

6、數(shù)組。以后鍵入其他控件相同的名稱時,將不會出現(xiàn)類似的提示框。,圖4-2 建立控件數(shù)組提示,適用場合:如果要求一個控件數(shù)組的絕大多數(shù)屬性都不同,適用于方法1,可以先設(shè)置好各個同類型控件的“(名稱)”以外的其他屬性值。,4.1 第1步:基礎(chǔ)知識概述,方法2:將控件復(fù)制并粘貼到窗體等上面 在窗體上畫一個控件,單擊一下將其激活; 執(zhí)行“編輯”菜單中的“復(fù)制”命令或Ctrl+C,將該控件放入剪貼板; 執(zhí)行“編輯”菜單中的“粘貼”命令或者Ctrl+V,將顯示一個對話框,詢問是否建立控件數(shù)組,如圖4-2所示; 單擊對話框中的“是”按鈕,窗體的左上角將出現(xiàn)一個控件,它就是控件數(shù)組的第二個元素。其名稱和第一個創(chuàng)

7、建的控件一樣,下標(biāo)索引值為1,而第一個創(chuàng)建的控件的下標(biāo)索引值自動為0;,4.1 第1步:基礎(chǔ)知識概述,將新創(chuàng)建的控件移動到適當(dāng)?shù)奈恢?,再次使用“粘貼”命令創(chuàng)建下一個控件,作為控件數(shù)組的下一個元素重復(fù)本操作直到添加了控件數(shù)組的所有元素為止。 用這種方法創(chuàng)建的控件數(shù)組,其中各個控件,其下標(biāo)索引值和添加到控件數(shù)組的次序相同,由于每次都是從第一個控件復(fù)制而來,所以,不僅它們的名稱和類型是相同的,而且各個控件的大多數(shù)屬性都相同。 適用場合:如果要求控件數(shù)組中的各個控件的絕大部分屬性都相同,宜采用方法2。,4.1 第1步:基礎(chǔ)知識概述,方法3:將控件的Index屬性設(shè)置為非Null數(shù)值(0-32767)

8、 在窗體上添加多個同類型的控件; 選擇一個控件,打開屬性窗口將其Index屬性設(shè)置為032767之間的整數(shù); 重復(fù)步驟,完成對所有的控件Index屬性的修改。注意:各個控件的Index屬性值可以連續(xù),也可以不連續(xù),但一定要唯一; 在屬性窗口中,將所有控件的名稱修改為控件數(shù)組的名稱。 適用場合:如果要求用戶指定控件數(shù)組中各控件的Index屬性值,宜用方法3。 三種方法可以配合使用,也可以單獨使用。,4.1 第1步:基礎(chǔ)知識概述,2. 控件數(shù)組的特點 控件數(shù)組具有以下特點: 相同的控件名稱,Name屬性相同; 控件數(shù)組中的控件具有相同的一般屬性; 所有的控件共用相同的事件過程; 控件數(shù)組的每一個

9、元素都有一個下標(biāo),下標(biāo)值由Index屬性值指定。數(shù)組名字有Name決定,而每個元素由Index屬性值來確定; 控件數(shù)組中的控件執(zhí)行相同的事件過程; 控件數(shù)組元素通過數(shù)組名和括號中的下標(biāo)來引用; 控件數(shù)組多用于單選按鈕,在一個框架中,有時候可能會有多個單選按鈕,可以把這些單選按鈕定義為一個數(shù)組,然后通過賦值語句使用Index屬性或Caption屬性。,4.1 第1步:基礎(chǔ)知識概述,3. 控件數(shù)組的使用 使用控件數(shù)組主要是利用其共享事件過程的特點來簡化編程。對當(dāng)一個已經(jīng)建立好的控件數(shù)組編寫事件過程時,為了區(qū)別各個控件,VB把控件的Index屬性作為過程參數(shù),在過程中通過如下形式引用相應(yīng)的控件。 控

10、件數(shù)組名(Index) 當(dāng)控件數(shù)組中的控件識別出一個事件已經(jīng)發(fā)生時,VB就會立刻調(diào)出控件數(shù)組的相應(yīng)的事件過程,并把可應(yīng)用的索引號當(dāng)做附加參數(shù)傳遞給過程。 舉例控件數(shù)組的使用 用方法2建立如圖4-3所示界面的按鈕數(shù)組,要實現(xiàn)單擊各個按鈕時將按鈕的標(biāo)題顯示在text1中。,4.1 第1步:基礎(chǔ)知識概述,圖4-3 設(shè)計按鈕數(shù)組界面,4.1 第1步:基礎(chǔ)知識概述,雙擊按鈕數(shù)組進入代碼編輯窗口,自動生成如下結(jié)構(gòu): Private Sub Command1_Click(Index As Integer) End Sub 注意觀察程序中的參數(shù)傳遞的是控件數(shù)組的各個控件的Index屬性值,所有的控件共享同一個

11、事件,通過Index來標(biāo)識不同的控件。在代碼結(jié)構(gòu)中間補充實現(xiàn)本功能的代碼: Text1.Text = Command1(Index).Caption 通過“數(shù)組名(Index).屬性名”這樣的形式來調(diào)用使用控件數(shù)組中的各個控件,在這個例子中,Index的值是從02。,4.1 第1步:基礎(chǔ)知識概述,4.1.3 表達式及運算符 運算是對數(shù)據(jù)進行加工的過程。在程序設(shè)計語言中用不同的符號來描述不同的運算形式,這些符號稱為運算符或者操作符,運算的對象稱為操作數(shù)。運算符和操作數(shù)可以組成各種類型的表達式,從而實現(xiàn)程序中需要的大量的運算。由運算符將操作數(shù)連接起來即構(gòu)成了各種類型的表達式。表達式描述了對不同類型

12、的操作數(shù)以何種順序進行何種操作,或者說描述了某個求值規(guī)則。每個表達式都產(chǎn)生唯一的值。操作數(shù)可以是常量、變量、函數(shù)、對象等。,4.1 第1步:基礎(chǔ)知識概述,表達式的類型由運算符的類型決定,在VB中有4類常用的運算符和表達式: VB中的運算符有4類: 第一類:1. 算術(shù)運算符和算術(shù)表達式 算術(shù)運算符是最常用的運算符,用來對數(shù)值型數(shù)據(jù)執(zhí)行簡單的算術(shù)運算,按照優(yōu)先級別給出算術(shù)運算符,如表4-1所示。 表4-1 算術(shù)運算符,4.1 第1步:基礎(chǔ)知識概述,運算順序根據(jù)優(yōu)先級從高到低,括號改變優(yōu)先級的高低,括號優(yōu)先。 數(shù)學(xué)表達式轉(zhuǎn)換為算術(shù)表達式舉例,見表4-2。 表4-2 數(shù)學(xué)表達式轉(zhuǎn)換為

13、VB表達式,,,,,,,,,,,,,,,,,4.1 第1步:基礎(chǔ)知識概述,第二類:2. 字符串運算符和字符串表達式 VB字符串運算符有兩個:“&”和“+”運算符,都是雙目運算符,其作用是把兩個字符串連接在一起,生成一個較長的字符串。由字符串運算符與運算量構(gòu)成的表達式稱為字符串表達式。 “&”和“+”運算符在連接兩個字符串時,功能是等價的,但是在某些時候是不一樣的,具體參見表4-3. 表4-3 “&”和“+”運算符的用法,4.1 第1步:基礎(chǔ)知識概述,“&”和“+”舉例,見表4-4。,表4-4 “&”和“+”示例,4.1 第1步:基礎(chǔ)知識概述,第三類:3. 關(guān)系運算符和關(guān)系表達式

14、關(guān)系運算符也稱作比較運算符,用來對兩個表達式的值進行比較,比較的結(jié)果為邏輯值,如果關(guān)系成立,則返回True,否則返回False。在VB中用-1和0表示True和False。 關(guān)系運算符如表4-5所示。,表4-5 關(guān)系運算符,4.1 第1步:基礎(chǔ)知識概述,第四類:4. 邏輯運算符和邏輯表達式 邏輯運算符是用來執(zhí)行邏輯運算的運算符。常用的有And(與)、Not(非)和Or(或)。邏輯表達式是用邏輯運算符將邏輯變量連接起來的式子。如表4-6所示。,表4-6 邏輯運算符,4.1 第1步:基礎(chǔ)知識概述,4.1.4 賦值語句 VB具有結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),是程序設(shè)計的基

15、礎(chǔ)。順序結(jié)構(gòu)就是各語句按出現(xiàn)的先后次序執(zhí)行。一般的程序設(shè)計語言中,順序結(jié)構(gòu)的語句主要是賦值語句、輸入/輸出語句等。在VB中也有賦值語句。形式為: 變量名表達式 計算右邊表達式的值,然后賦給左邊的變量。 給變量賦值和設(shè)定屬性是VB編程中常見的兩個任務(wù)。,4.1 第1步:基礎(chǔ)知識概述,例如: n = n + 1 計數(shù)累加 Text1.Text 清除文本框的內(nèi)容 Text1.Text 歡迎使用VB 文本框顯示字符串 賦值語句不允許寫成“表達式變量”,雖然賦值號與關(guān)系運算符等于號都用“=”表示,VB系統(tǒng)會根據(jù)所處的位置自動判斷符號的意義。 賦值號左邊的變量只能是變量,不能是常量、

16、常數(shù)符號、表達式。下面均為錯誤的賦值語句: Now()=x+y 左邊是表達式(函數(shù)) 5=sqr(s)+x+y 左邊是常量,4.1 第1步:基礎(chǔ)知識概述,4.1.5 選擇程序結(jié)構(gòu) 計算機要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。必須利用選擇結(jié)構(gòu)等來解決實際應(yīng)用中的各種問題。VB中提供了多種形式的條件語句來實現(xiàn)選擇結(jié)構(gòu),有If條件語句和Select情況語句等。它們都是對條件進行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。 1. 第一種分支語句:If語句 IF語句分為三種:單分支結(jié)構(gòu),雙分支結(jié)構(gòu)和多分支結(jié)構(gòu),分別介紹如下: IfThen語句(單分支結(jié)構(gòu)) 格式為: If Then

17、 語句塊(可以是一句或多句語句) End If 或 If Then ,4.1 第1步:基礎(chǔ)知識概述,表達式:關(guān)系表達式、邏輯表達式,算術(shù)表達式,字符表達式。表達式值按非零為True,零為False進行判斷。單分支IF語句的執(zhí)行流程如圖4-6所示。,圖4-6 單分支IF語句執(zhí)行流程 該語句的作用是當(dāng)表達式的值為True,執(zhí)行Then后面的語句塊,否則不做任何操作。,4.1 第1步:基礎(chǔ)知識概述,例:已知兩個數(shù)x和y,比較它們的大小,使得x大于y。 If x

18、簡單If形式無End If時,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。,4.1 第1步:基礎(chǔ)知識概述,雙分支結(jié)構(gòu):IfThenElse語句 結(jié)構(gòu)如下: If 表達式 Then 語句塊1 Else 語句塊2 End If 或 If 表達式 Then 語句1 Else 語句2 當(dāng)表達式的值為True時,執(zhí)行Then后面的語句塊1,否則執(zhí)行Else后面的語句塊2,4.1 第1步:基礎(chǔ)知識概述,例子:計算分段函數(shù) 雙分支結(jié)構(gòu)實現(xiàn): If x0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)x3+3*x End If,4.1

19、第1步:基礎(chǔ)知識概述,多分支結(jié)構(gòu):IfThenElseIf 語句 結(jié)構(gòu): If 表達式1 Then 語句塊1 ElseIf 表達式2 Then 語句塊2 Else 語句塊 n+1 End If 作用:根據(jù)不同的表達式值確定執(zhí)行哪個語句塊。,4.1 第1步:基礎(chǔ)知識概述,多分支IF語句的執(zhí)行流程如圖4-7所示。,圖4-7 多分支IF語句執(zhí)行流程,4.1 第1步:基礎(chǔ)知識概述,If語句的嵌套: If語句的嵌套是指If或Else后面的語句塊中又包含If語句。 If 表達式1 Then If 表達式2 Then End If End If,4.1 第1步:基礎(chǔ)知識概述,2.

20、第二種分支結(jié)構(gòu):select語句 語法格式為: Select Case 變量或表達式 Case 表達式列表1 語句塊1 Case 表達式列表2 語句塊2 Case Else 語句塊n+1 End Select,4.1 第1步:基礎(chǔ)知識概述,表達式列表與變量或表達式的類型必須相同,是下面4種形式之一 : 表達式 例: A 一組用逗號分隔的枚舉值 2,4,6,8 表達式1 To 表達式2 60 To 100 Is關(guān)系運算符表達式 Is < 60 多分支結(jié)構(gòu),用Select Case語句比IfThenElseIf語句直觀,程序可讀性強。但不是所有的多分支結(jié)構(gòu)均可用Sele

21、ct Case語句代替IfThenElseIf語句。,4.2 第2步:界面設(shè)計,4.2.1 任務(wù)一、建立應(yīng)用程序用戶界面 選擇新建工程,進入窗體設(shè)計器,首先增加一個框架控件Frame1,選中Frame1后,在其中增加一個文本框控件Text1、兩個命令按鈕數(shù)組Command1(0)Command1(10)、Command2(0)Command2(3)和一個命令按鈕Command3。 各控件排列如下圖4-8所示:,圖4-8 界面設(shè)計,4.2 第2步:界面設(shè)計,注: 框架控件一般用在窗體布局中,其作用是對控件進行位置上的限定,通常不對框架進行編程。 控件數(shù)組是由一組相同類型的控件組成,這些控件共用

22、一個相同的控件名,具有相同的屬性設(shè)置。數(shù)組中每個控件都有唯一的索引號,即下標(biāo),下標(biāo)值有Index屬性指定。其所有的Name屬性必須相同。 控件數(shù)組通常用于需要對若干個同類型的控件執(zhí)行大致相同的操作(如本例中的命令按鈕),控件數(shù)組共享同樣的事件過程。例如,假定一個控件數(shù)組含有3個命令按鈕,則不管單擊哪個,都會調(diào)用同一個Click過程。,4.2 第2步:界面設(shè)計,4.2.2 任務(wù)二:設(shè)置對象屬性 修改Form1的屬性:Caption改為:計算器,Max Button 改為:False并調(diào) 整窗體合適大小。 修改Text1的屬性:對齊方式(Alignment)改為:1Right Justify。文本

23、(Text1)改為:(無)。 修改Command1(0)Command1(10)的屬性:標(biāo)題(Caption)依次改為:1,2,3,4,5,6,7,8,9,0,. 。 修改Command2(0)Command2(3)的屬性:標(biāo)題(Caption)依次改為:,,,。 修改Command3的屬性:標(biāo)題(Caption)改為:。如下圖4-9所示:,圖 4-9修改屬性后的界面,4.3 第3步:程序代碼,4.3.1 任務(wù)一:在“通用”過程中“聲明”變量 首先在“通用”過程中“聲明”變量 編程思想:用計算器進行運算的時候,至少需要存放兩個操作數(shù)和一個運算符,所以需要聲明三個變量,另外需要設(shè)置一個開關(guān)變量來

24、指示是否第一次按下運算符,來分情況處理運算的位置: (1)處理用戶是連續(xù)按下運算符而不按下等號的情況; (2)處理用戶按下等號進行計算的情況。,4.3 第3步:程序代碼,變量設(shè)置如下: Dim v As Boolean 是否第一次按運算符 Dim s As String 存放上次按的運算符 Dim x As Double 存放第一個操作數(shù) Dim y As Double 存放第二個操作數(shù) 通用過程如下圖4-10所示:,圖 4-10 在通用部分定義全局變量,4.3 第3步:程序代碼,說明: 通用過程一般用來聲明全局變量,也就是作用范圍為整個工程的變量。在程序代碼窗口的下拉菜單中選擇即可。

25、,4.3 第3步:程序代碼,4.3.2 任務(wù)二:命令按鈕控件數(shù)組 Command1()的Click事件代碼 編程思想:單擊09以及小數(shù)點時,需要將用戶單擊的內(nèi)容顯示在計算器中,用Command1(Index).Caption來獲取用戶按下的鍵上的字符顯示信息。每次用戶按下數(shù)字鍵和小數(shù)點的時候,系統(tǒng)要都要調(diào)用Command1()的click事件,當(dāng)用戶多次按下多個字符鍵,那么就需要暫存用戶以前按下的結(jié)果,設(shè)置一個臨時變量a暫存用戶最近按下數(shù)字鍵,程序為: a = Text1.Text 保存以前按下的內(nèi)容 Text1.Text = a & Command1(Index).Caption 和現(xiàn)在按下

26、的鍵的內(nèi) 容連接在一起顯示在text1文本框中。,4.3 第3步:程序代碼,當(dāng)用戶按下運算符后,我們要顯示第二個運算數(shù),text1中的內(nèi)容需清除來存放第二個操作數(shù),在此用Form窗體的一個特殊的屬性Tag來區(qū)分用戶是否按下過運算符。如果用戶按下過運算符,那么這時需要顯示的內(nèi)容是當(dāng)前按下鍵的內(nèi)容,即Text1.Text = Command1(Index).Caption。特殊情況:當(dāng)用戶單擊小數(shù)點的時候,按照剛才的代碼會直接顯示了一個單獨的“.”,在此需要對text1顯示的內(nèi)容做補充,即text1的顯示內(nèi)容在小數(shù)點的前面補“0”,使得直接按下小數(shù)點的時候為前面自動補零。實現(xiàn)代碼如下: If In

27、dex = 10 Then 單擊小數(shù)點情況 Text1.Text = 0 單擊小數(shù)點的時候需要在點前補“0”顯示 Else Text1.Text = Command1(Index).Caption 按下的內(nèi)容顯示text1中 End If 當(dāng)按下運算符后按第一個數(shù)字鍵的時候,需要處理如上兩種情況,處理后對Form1.Tag置空,等待下次使用。,4.3 第3步:程序代碼,Command1數(shù)組的單擊事件代碼如下: Private Sub Command1_Click(Index As Integer) 數(shù)字鍵(09)以及小數(shù)點(.)鍵的Click事件過程 If Form1.Tag =

28、T Then 處理用戶按下運算符后按下的第一個數(shù)字區(qū)符號 If Index = 10 Then 單擊小數(shù)點的時候 Text1.Text = 0 單擊小數(shù)點的時候需要在點前補“0”顯示 Else Text1.Text = Command1(Index).Caption 按下的內(nèi)容顯示text1中 End If Form1.Tag = Else a = Text1.Text 保存以前按下的內(nèi)容 Text1.Text = a & Command1(Index).Caption 連接新按下字符一起顯示End If End Sub 說明:Tag屬性用來返回或者設(shè)置一個表

29、達式用來存儲程序中需要額外存儲的數(shù)據(jù)與其它屬性不同,Tag 屬性值不被 Visual Basic 使用;可以用該屬性來標(biāo)識對象。 語法:object .Tag = expression,4.3 第3步:程序代碼,4.3.3 任務(wù)三:命令按鈕組Command2()的Click事件代碼: 編程思想:對于運算符鍵,有兩種情況,一種是用戶第一次按下運算符號鍵的時候,一種是用戶不是第一次按下運算符鍵的時候,需要分情況處理。,4.3 第3步:程序代碼,1、當(dāng)用戶第一次按下運算符號的時候,需要做兩個處理: 把text1中 內(nèi)容保存為第一個操作數(shù)即x = Text1.Text 保存運算符號的Index值在s變

30、量中,等待獲取第二個操作數(shù)后進行運算處理,此時卻不必計算,代碼為:s = Index; 核心代碼為: If v Then x = Text1.Text: v = Not v Else .. End If s = Index,4.3 第3步:程序代碼,2、當(dāng)用戶不是第一次按下運算符的時候,并且是用戶多次按下運算符而沒有按下等號的時候,此時需要進行計算處理,包括三項工作: 保存第二個操作數(shù)到y(tǒng)變量中,以備計算使用; 根據(jù)s中保存的運算符的Index值,決定執(zhí)行相應(yīng)的計算; 計算結(jié)果保存在x中,作為下一次運算的第一操作數(shù);,4.3 第3步:程序代碼,為實現(xiàn)上述功能,雙擊Command2數(shù)組

31、后的核心代碼如下: Private Sub Command2_Click(Index As Integer) 運算符的加,減,乘,除鍵的Click事件過程 Form1.Tag = T If v Then x = Text1.Text: v = Not v 保存第一個運算數(shù)在x變量中 Else y = Text1.Text 處理多次按下運算符鍵的情況 這時需要對之前按下的數(shù)字和運算符號進行 對應(yīng)的計算,把計算結(jié)果顯示在text1中,4.3 第3步:程序代碼,Select Case s Case 0 Text1.Text = x + y Case 1 Text1.Text =

32、x - y Case 2 Text1.Text = x * y Case 3 If y 0 Then Text1.Text = x / y Else MsgBox 不能以0為除數(shù), 32, 錯誤 End If End Select x = Text1.Text 把text1的內(nèi)容保存在x中,再次作為第一個操作數(shù)參與下一次運算 End If s = Index 保存運算符的Index值,在計算時使用 End Sub,4.3 第3步:程序代碼,說明:MsgBox語句的格式為: MsgBox , , ,三個部分的意義如下: 提示信息是顯示在提示框的文字顯示內(nèi)容,

33、標(biāo)題顯示在提示框的標(biāo)題欄上,而按鈕包括:按鈕的數(shù)目及形式、使用的圖標(biāo)類型、默認(rèn)按鈕等,3個按鈕可以相加達到需要的樣式。32是圖標(biāo)類型為VbQuestion問號圖標(biāo)。,4.3 第3步:程序代碼,4.3.4 任務(wù)四:編寫命令按鈕Command3的Click事件過程 編程思想:用戶單擊等號以后所需要做的事情包括如下三步: 保存第二個操作數(shù)到y(tǒng)變量中,以備計算使用; 使用s中保存的運算符的Index值,執(zhí)行相應(yīng)的計算; 計算結(jié)果保存在x中,作為下一次運算的第一操作數(shù); 把存放第二個操作數(shù)的變量y清除,把保存運算符的變量s清除,以備下一次接收新的內(nèi)容進行下一次計算,v設(shè)置為false,意味已經(jīng)按下過運算

34、符;,4.3 第3步:程序代碼,雙擊Command3按鈕的核心代碼如下: Private Sub Command3_Click() 運算符()的Click的事件過程 Form1.Tag = T: y = Text1.Text 把text1中的值保存在y中作為第二個運算數(shù) Select Case s s中保存的是運算符,當(dāng)單擊運算符的時候s的值已經(jīng)保存 Case 0 Text1.Text = x + y text1中顯示運算后的結(jié)果 Case 1 Text1.Text = x - y Case 2 Text1.Text = x * y Case 3 If y 0 Then

35、 被除數(shù)是否為0 Text1.Text = x / y Else MsgBox 不能以0為除數(shù), 32, 錯誤 End If End Select x = Text1.Text: y = 0: v = False: s = 5 End Sub,4.3 第3步:程序代碼,程序執(zhí)行效果如下圖4-11所示:,圖4-11 程序運算結(jié)果圖,4.4 第4步:程序調(diào)試,完善功能,考慮輸入“.9”后觀察程序運行的結(jié)果;輸入“ 8.9-8”觀察程序運行結(jié)果,如何改進和完善程序? 項目總結(jié): Frame控件數(shù)組的畫法及作用,如何讓已有控件包括在Frame中(復(fù)制粘貼法) 控件數(shù)組的三種畫法及各自的適用

36、場合 控件數(shù)組中控件的調(diào)用方法:通過“數(shù)組名(index)”調(diào)用控件數(shù)組中的某一控件,各個控件的大部分屬性是相同,一個控件數(shù)組共享同一個事件 合理的控件的排列方式,讓界面更美觀 選擇程序結(jié)構(gòu):塊IF結(jié)構(gòu)以及Select Case結(jié)構(gòu)的使用方法,case語句處理多分支結(jié)構(gòu)清晰明了,主意表達式的寫法,主意IF語句和Select case語句的結(jié)構(gòu)寫完整,4.4 第4步:程序調(diào)試,完善功能,復(fù)習(xí)思考: 一、填空題 1、 是一組具有共同名稱和類型和事件過程的控件。它們的事件過程也 。 2、控件數(shù)組具有以下特點:相同的 ,Name屬性相同;控件數(shù)組中的控件具有相同的 ;所有的控件共用相同的事件過程;控件數(shù)組 的每一個元素都有一個下標(biāo),下標(biāo)值由 屬性值指定。數(shù)組名字有 屬性值決定,而每個元素由 屬性值來確定;控件數(shù)組中的控件執(zhí)行 的事件過程;控件數(shù)組元素通過數(shù)組名和括號中的 來引用; 3、VB具有結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu),即順序結(jié)構(gòu)、 、 ,是程序設(shè)計的基礎(chǔ)。 4、VB字符串運算符有兩個: 和 運算符,都是雙目運算符,其作用是把兩個字符串連接在一起,生成一個較長的字符串。,

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!