版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1 1第第4 4章章 VBVB控制結(jié)構(gòu)控制結(jié)構(gòu)4.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu)4.2 4.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)4.3 4.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)4.4 4.4 其它輔助控制語其它輔助控制語句句和控件和控件4.5 4.5 綜合應(yīng)用綜合應(yīng)用4.6 4.6 自主學(xué)習(xí)(程序調(diào)試自主學(xué)習(xí)(程序調(diào)試)VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2 2三種程序控制結(jié)構(gòu)三種程序控制結(jié)構(gòu)1、VB程序設(shè)計(jì)分:程序設(shè)計(jì)分: 界面設(shè)計(jì)界面設(shè)計(jì) 代碼設(shè)計(jì)代碼設(shè)計(jì) 編寫的代碼編寫的代碼-計(jì)算機(jī)程序計(jì)算機(jī)程序n 一個(gè)完整的一個(gè)完整的VB應(yīng)用程序,一般都包含三部分內(nèi)容
2、,即應(yīng)用程序,一般都包含三部分內(nèi)容,即 輸入輸入 處理處理 輸出輸出 可通過可通過VB語句、各種控件實(shí)現(xiàn)輸入輸出操作語句、各種控件實(shí)現(xiàn)輸入輸出操作2、VB采用采用“事件驅(qū)動(dòng)事件驅(qū)動(dòng)”的編程機(jī)制的編程機(jī)制n 采用事件驅(qū)動(dòng)方式調(diào)用相對劃分得比較小的子過程。采用事件驅(qū)動(dòng)方式調(diào)用相對劃分得比較小的子過程。但對具體的過程本身,但對具體的過程本身,VB采用結(jié)構(gòu)化程序的方法,用采用結(jié)構(gòu)化程序的方法,用控制結(jié)構(gòu)控制程序的執(zhí)行過程??刂平Y(jié)構(gòu)控制程序的執(zhí)行過程。本章目錄本章目錄VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3 3三種程序控制結(jié)構(gòu)三種程序控制結(jié)構(gòu)n VB具有結(jié)構(gòu)化程序設(shè)計(jì)的三種程序控制結(jié)構(gòu),具
3、有結(jié)構(gòu)化程序設(shè)計(jì)的三種程序控制結(jié)構(gòu),即即順序結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),是程序設(shè),是程序設(shè)計(jì)的基礎(chǔ)。計(jì)的基礎(chǔ)。n 具有單入口,單出口的特點(diǎn)具有單入口,單出口的特點(diǎn)本章目錄本章目錄(1)順序結(jié)構(gòu))順序結(jié)構(gòu) 各語句按出現(xiàn)的先后次序執(zhí)行各語句按出現(xiàn)的先后次序執(zhí)行bABa用傳統(tǒng)流程用傳統(tǒng)流程圖表示為圖表示為VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄(2)選擇結(jié)構(gòu))選擇結(jié)構(gòu)n根據(jù)所給定的條件為真(即條件成立)與否,決定從各實(shí)際可能的不同分支中執(zhí)行某一分支的相應(yīng)操作,并且在任何情況下總有“無論分支多寡,必?fù)衿湟弧钡奶匦浴? 4 (a) (b) 順序結(jié)構(gòu)順序結(jié)構(gòu) 選擇結(jié)構(gòu)選擇
4、結(jié)構(gòu) 語句語句1語句語句2真真假假語句組語句組1語句組語句組2 條件條件VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄5 5(3 3)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu)I 、 當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu) a a 條件條件?成立成立循環(huán)體循環(huán)體b b不成立不成立a aa a循環(huán)體循環(huán)體b b不成立不成立成立成立條件?條件?II 、直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu) 根據(jù)條件重復(fù)執(zhí)行語句根據(jù)條件重復(fù)執(zhí)行語句(稱為循環(huán)體稱為循環(huán)體)VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄6 64.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu) P70P70u 一般程序設(shè)計(jì)語言中順序結(jié)構(gòu)的語句主要一般程序設(shè)計(jì)語言中順序結(jié)構(gòu)的語句主要: 賦值
5、語句賦值語句和和 輸入輸入/輸出語句輸出語句等。等。u 在在VB中中 賦值語句賦值語句 變量變量 =表達(dá)式表達(dá)式 輸入輸入/輸出的實(shí)現(xiàn)輸出的實(shí)現(xiàn):l 文本框控件、標(biāo)簽控件、文本框控件、標(biāo)簽控件、l InputBox函數(shù)、函數(shù)、MsgBox函數(shù)和過程函數(shù)和過程l Print方法等方法等VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄一、引例-溫度轉(zhuǎn)換 P70 算法: C-攝氏溫度 F-華氏溫度 F=(9/5)*C+32 C=(5/9)*(F-32)7 7Private Sub Command1_Click()Dim f!, c!c = Val(Text1.Text)f = 9 / 5 * c
6、 + 32Text2.Text = Format(f, 0.00)End SubPrivate Sub Command2_Click()Dim f!, c!f = Val(Text2.Text)c = 5 / 9 * (f - 32)Text1.Text = Format(c, 0.00)End SubPrivate Sub Form_Load()Text1.Text = Text2.Text = End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄8 8二、二、 賦值語句賦值語句 P71P711、形式:、形式: 變量名表達(dá)式變量名表達(dá)式 對象名對象名. 屬性名屬性名=表達(dá)式表達(dá)
7、式 2、功能:計(jì)算表達(dá)式的值,再將此值賦給變量或、功能:計(jì)算表達(dá)式的值,再將此值賦給變量或?qū)ο髮傩浴ο髮傩?。給給變量賦值變量賦值和和設(shè)定屬性設(shè)定屬性是是VB編程中常見的兩個(gè)任編程中常見的兩個(gè)任務(wù)。務(wù)。例如:例如:n n = n + 1n + 1 計(jì)數(shù)累加計(jì)數(shù)累加 Text1.TextText1.Text 清除文本框的內(nèi)容清除文本框的內(nèi)容Text1.TextText1.Text 歡迎使用歡迎使用VB 文本框顯示字符文本框顯示字符串串 本章目錄本章目錄VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄幾種情況的賦值 P72 當(dāng)表達(dá)式為數(shù)值型而與變量精度不同時(shí),強(qiáng)制轉(zhuǎn)換成左邊變量的精度。 n%=
8、3.5 n中的結(jié)果為4 當(dāng)表達(dá)式是數(shù)字字符串,左邊變量是數(shù)值類型,自動(dòng)轉(zhuǎn)換成數(shù)值類型再賦值,但當(dāng)表達(dá)式中有非數(shù)字字符或空串,則出錯(cuò)。 n%=123 n中的結(jié)果是123 n%=Val(123)n%=la123 出現(xiàn)“類型不匹配”的錯(cuò)誤 n%= 出現(xiàn)“類型不匹配”的錯(cuò)誤 當(dāng)邏輯型賦值給數(shù)值型時(shí) n%=True n值為-1 任何非字符類型賦值給字符類型,自動(dòng)轉(zhuǎn)換為字符類型。n$=123 n值為”123”9 9VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1010賦值語句注意點(diǎn)賦值語句注意點(diǎn) “=”符號(hào)有兩個(gè)意義符號(hào)有兩個(gè)意義 賦值號(hào)賦值號(hào)、關(guān)系運(yùn)算符等號(hào)關(guān)系運(yùn)算符等號(hào) 形式相同形式相同,系統(tǒng)會(huì)
9、根據(jù)所處的位置判斷符號(hào)的意義。系統(tǒng)會(huì)根據(jù)所處的位置判斷符號(hào)的意義。 賦值號(hào)左邊只能是賦值號(hào)左邊只能是變量變量,不能是常量、常數(shù)符號(hào)、,不能是常量、常數(shù)符號(hào)、表達(dá)式。下面均為表達(dá)式。下面均為錯(cuò)誤的錯(cuò)誤的賦值語句:賦值語句:Now()=x+y Now()=x+y 左邊是表達(dá)式左邊是表達(dá)式(函數(shù)函數(shù))5=sqr(s)+x+y 5=sqr(s)+x+y 左邊是常量左邊是常量X+y=z X+y=z 左邊是表達(dá)式左邊是表達(dá)式本章目錄本章目錄VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1111n 文本框、文本框、 InputBox InputBox函數(shù)函數(shù) n 標(biāo)簽控件、標(biāo)簽控件、MsgBoxMsg
10、Box函數(shù)和過程函數(shù)和過程、PrintPrint方法方法三、三、 數(shù)據(jù)輸出和輸入數(shù)據(jù)輸出和輸入 P73P73本章目錄本章目錄(一)標(biāo)簽和文本框控件 P73P74標(biāo)簽控件的Caption屬性-輸出文本框的Text屬性-輸入/輸出例:將文本框Text1中輸入的字符串賦給字符串變量Mystr Dim MyStr As String MyStr = Text1.Text例:將文本框Text1中輸入的字符串作為數(shù)據(jù)賦給整型變量。 Dim A As Integer A = Val(Text1.Text) 例:成績統(tǒng)計(jì)例:成績統(tǒng)計(jì)例:輸入字母顯示例:輸入字母顯示Ascii碼碼例:讀程序例:讀程序VB程序設(shè)計(jì)
11、簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1212【例】設(shè)計(jì)如下圖所示的界面,運(yùn)行時(shí),輸入某學(xué)生三門課的成績,計(jì)算平均成績。按要求編程。要求:要求:n單擊單擊“計(jì)算計(jì)算”按鈕求平均成績;按鈕求平均成績;n當(dāng)輸入成績的文本框獲得焦點(diǎn)時(shí),選中其中的文本;當(dāng)輸入成績的文本框獲得焦點(diǎn)時(shí),選中其中的文本;n當(dāng)輸入成績的文本框內(nèi)容發(fā)生變化時(shí),清除平均值;當(dāng)輸入成績的文本框內(nèi)容發(fā)生變化時(shí),清除平均值;n單擊單擊“清除清除”按鈕清除所有內(nèi)容,將焦點(diǎn)定位在按鈕清除所有內(nèi)容,將焦點(diǎn)定位在Text1中;中;n單擊單擊“退出退出”按鈕結(jié)束程序的運(yùn)行。按鈕結(jié)束程序的運(yùn)行。Text4Text1Text2Text3Comma
12、nd1Command2Command3設(shè)設(shè)Text4的的Locked屬性為屬性為TrueVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1313單擊單擊“計(jì)算計(jì)算”按鈕求平均成績按鈕求平均成績 Private Sub Command1_Click() A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) Text4.Text = (A + B + C) / 3 End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1414當(dāng)輸入成績的文本框獲得焦點(diǎn)時(shí)當(dāng)輸入成績的文本框獲得焦點(diǎn)時(shí),選中其中的文本選中其中的文本 Pr
13、ivate Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Text2_GotFocus() Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text) End Sub Private Sub Text3_GotFocus() Text3.SelStart = 0 Text3.SelLength = Len(Text3.Text) End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1515當(dāng)輸入
14、成績的文本框內(nèi)容發(fā)生變化時(shí)當(dāng)輸入成績的文本框內(nèi)容發(fā)生變化時(shí),清除平均值清除平均值 Private Sub Text1_Change() Text4.Text = End Sub Private Sub Text2_Change() Text4.Text = End Sub Private Sub Text3_Change() Text4.Text = End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1616單擊單擊“清除清除”按鈕清除所有文本框的內(nèi)容,并按鈕清除所有文本框的內(nèi)容,并將焦點(diǎn)定位在文本框?qū)⒔裹c(diǎn)定位在文本框Text1中。中。 Private Sub Command2
15、_Click() Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text1.SetFocus End Sub單擊單擊“退出退出”按鈕結(jié)束程序的運(yùn)行。按鈕結(jié)束程序的運(yùn)行。 Private Sub Command3_Click() End End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1717【例】在Text1中輸入任一英文字母,在Text2中顯示該英文字母及其ASCII碼值。要求在文本框Text2中顯示出所有輸入的英文字母及其ASCII碼值。Text1Text2Command1Text2設(shè)置:設(shè)置:MultiLine設(shè)
16、置為設(shè)置為True、 ScrollBars設(shè)置為設(shè)置為2VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1818Private Sub Command1_Click() Dim Char As String * 1 Char = Trim(Text1.Text) Text2.Text = Text2.Text & Space(5) & Char & _ Space(10) & Str(Asc(Char) & vbCrLf Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Tex
17、t)End SubChr(13) & Chr(10)VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄1919 下列程序的運(yùn)行結(jié)果是什么?下列程序的運(yùn)行結(jié)果是什么? 運(yùn)行時(shí),在文本框運(yùn)行時(shí),在文本框Text1Text1中輸入中輸入5 5,單擊,單擊“計(jì)算計(jì)算”按鈕后,在文本框按鈕后,在文本框Text2Text2顯示的結(jié)果是什么顯示的結(jié)果是什么? ? Private Sub Command1_Click() “計(jì)算計(jì)算”按鈕按鈕 Dim a As Integer, b As Integer, c As Integer a = Val(Text1.Text) b = 7 c = 2 *
18、a Mod b / 3 + 1 a = a + 1 b = 2 * b - 1 c = c + a + b Text2.Text = cEnd Sub思考題思考題想一想想一想Text1Text220VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2020n 用標(biāo)簽輸出數(shù)據(jù)時(shí),也就是將數(shù)據(jù)賦給標(biāo)簽的Caption屬性。也可以輸出多個(gè)數(shù)據(jù)。例:用標(biāo)簽Label1輸出一個(gè)字符串 Label1.Caption = hello例:用標(biāo)簽Label1輸出一個(gè)數(shù)值型數(shù)據(jù) X = 3 5 Label1.Caption = Str(X) 例:用標(biāo)簽Label1輸出多個(gè)數(shù),分多行輸出。 通常要先設(shè)置標(biāo)簽的Au
19、toSize屬性和WordWrap屬性為True。 X = 3 5: y = 7 4 Label1.Caption = x= & Str(X) & vbCrLf _ & y= & Str(y)VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2121【例】已知三角形的三條邊a、b、c的長度,用海倫公式求三角形的面積S。海倫公式:n將文本框Text1、Text2、Text3的內(nèi)容清空;n設(shè)置三個(gè)文本框的Alignment屬性為1-Right Justify;n設(shè)置標(biāo)簽Label2的Caption屬性為空;n設(shè)置標(biāo)簽Label2的BorderStyle屬性為1 F
20、ixed Single。Text1 Text2 Text3Label2Command1)(21, )()(cbapcpbpappS VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2222代碼如下:Private Sub Command1_Click() Dim A As Single, B As Single, C As Single Dim P As Single, S As Single A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) P = (A + B + C) / 2 S = Sqr(P * (P - A)
21、 * (P - B) * (P - C) 顯示時(shí)保留兩位小數(shù)顯示時(shí)保留兩位小數(shù) Label2.Caption = Format(S, 0.00) Round(S,2)End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2323(二)輸入對話框(二)輸入對話框 InputBox InputBox函數(shù)函數(shù) P73功能:打開一個(gè)對話框,等待用戶輸入,返回字功能:打開一個(gè)對話框,等待用戶輸入,返回字符串類型的輸入值。符串類型的輸入值。形式:形式:InputBoxInputBox(提示提示,標(biāo)題標(biāo)題,默認(rèn)值默認(rèn)值,x坐標(biāo)位坐標(biāo)位置置,y坐標(biāo)位置坐標(biāo)位置)三、三、 數(shù)據(jù)輸出和輸入數(shù)據(jù)輸出和輸
22、入本章目錄本章目錄 注意注意:提示項(xiàng)提示項(xiàng)不能省略。不能省略。若要多行提示,可在每行若要多行提示,可在每行行末加回車換行行末加回車換行vbCrLfvbCrLf。例例4.24.2利用利用InputBoxInputBox輸入基本工資和營業(yè)額,按營輸入基本工資和營業(yè)額,按營業(yè)額的業(yè)額的5%5%提成,計(jì)算實(shí)發(fā)工資并顯示。提成,計(jì)算實(shí)發(fā)工資并顯示。P73P73 VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄Private Sub Form_Click() Dim sfgz, jbgz, x As Single jbgz = Val(InputBox(輸入基本工資, 計(jì)算工資, 1600) x =
23、Val(InputBox(輸入本月營業(yè)額) sfgz = jbgz + x * 0.05 Label1 = 本月營業(yè)額為: & x & 基本工資為: & jbgz & vbCrLf Label1 = Label1 & 本月實(shí)發(fā)工資為: & sfgz End Sub2424當(dāng)選當(dāng)選“取消取消”,函數(shù)返回一個(gè)零長,函數(shù)返回一個(gè)零長度字符串(度字符串(”)。)。例:例:華氏溫度華氏溫度攝氏溫度攝氏溫度例:雞兔同籠問題例:雞兔同籠問題VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄變量名=InputBox(提示,標(biāo)題,默認(rèn)值,x坐標(biāo)位置,y坐標(biāo)位置)
24、 “提示提示”:該項(xiàng)不能省略,是字符串表達(dá)式,在對話框中作為信息顯示,可為漢字。在每行行末加回車Chr(13)和換行Chr(10)控制符,或用VB內(nèi)部常數(shù):vbCrLf都可以實(shí)現(xiàn)分行顯示。 “標(biāo)題標(biāo)題”:字符串表達(dá)式,在對話框的標(biāo)題區(qū)顯示。若省略,則把應(yīng)用程序名放入標(biāo)題欄中。 “默認(rèn)默認(rèn)”:字符串表達(dá)式,當(dāng)在輸入對話框中無輸入時(shí),將該默認(rèn)值作為輸入的內(nèi)容。 “ x坐標(biāo)位置坐標(biāo)位置”、“y坐標(biāo)位置坐標(biāo)位置”:整形表達(dá)式,坐標(biāo)確定對話框左上角在屏幕上的位置,屏幕左上角不坐標(biāo)原點(diǎn),單位為twip。 該函數(shù)的作用是打開一個(gè)對話框,等待用戶輸入內(nèi)容,當(dāng)用戶單擊“確定”按鈕按回車時(shí),函數(shù)返回輸入的值,其值
25、的類型為字符串。(當(dāng)選“取消”,函數(shù)返回一個(gè)零長度字符串(”))2525VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2626例例: :通過通過InputBox函數(shù)輸入一個(gè)華氏溫度,然后將其轉(zhuǎn)換為攝氏函數(shù)輸入一個(gè)華氏溫度,然后將其轉(zhuǎn)換為攝氏溫度輸出。顯示結(jié)果保留兩位小數(shù)溫度輸出。顯示結(jié)果保留兩位小數(shù) 轉(zhuǎn)換公式為轉(zhuǎn)換公式為 C =(F-32)*5/9Private Sub Private Sub Form_LoadForm_Load()() Dim f As Single, c As Single Dim f As Single, c As Single f = Val( f = Val(
26、InputBoxInputBox(輸入華氏溫度輸入華氏溫度) c = (f - 32) c = (f - 32) * * 5 / 9 5 / 9 Label1.Caption = Label1.Caption = 輸入的華氏溫度為:輸入的華氏溫度為: & Format(f, 00.00) & Format(f, 00.00) Label2.Caption = Label2.Caption = 轉(zhuǎn)換成攝氏溫度為:轉(zhuǎn)換成攝氏溫度為: & Format(c, 00.00) & Format(c, 00.00)End SubEnd Sub 運(yùn)行后彈出一個(gè)輸入對話框。當(dāng)用
27、戶在對話框中輸入一個(gè)華氏溫度運(yùn)行后彈出一個(gè)輸入對話框。當(dāng)用戶在對話框中輸入一個(gè)華氏溫度(如如90)后單擊對話框的后單擊對話框的“確定確定”按鈕或按回車鍵,輸入的字符串將返回給程序按鈕或按回車鍵,輸入的字符串將返回給程序。最后在兩個(gè)標(biāo)簽上顯示出處理結(jié)果。最后在兩個(gè)標(biāo)簽上顯示出處理結(jié)果。通過通過InputBoxInputBox函數(shù)函數(shù)輸入一個(gè)華氏溫度輸入一個(gè)華氏溫度用標(biāo)簽用標(biāo)簽Label1Label1顯示顯示攝氏溫度值攝氏溫度值用標(biāo)簽用標(biāo)簽Label2顯顯示攝氏溫度值示攝氏溫度值VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄【例】 “雞兔同籠”問題。雞有2只腳,兔有4只腳,如果已知雞和兔的總
28、頭數(shù)為h,總腳數(shù)為f。問籠中雞和兔各有多少只?【分析】設(shè)籠中有雞x只,兔y只,由條件可得方程組: 解方程組得: 2727(1)建立用戶界面并設(shè)置對象屬性。新建一個(gè)工程,進(jìn)入窗體設(shè)計(jì)器,首先增加3個(gè)標(biāo)簽Label1Label3和一個(gè)命令按鈕Command1。其屬性設(shè)置如圖所示。VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2828(2)編寫事件代碼。“輸入h和f的值”命令按鈕Command1的Click事件代碼如下:Private Sub Command1_Click() Dim h As Integer, f As Integer h = Val(InputBox(雞和兔的總頭數(shù), 請輸
29、入, 0) f = Val(InputBox(雞和兔的總腳數(shù)(偶數(shù)), 請輸入, 0) x = (4 * h f)/2 y = (f 2 * h)/2 Label2.Caption = 設(shè)籠中雞和兔的總頭數(shù)為 & h & , 總腳數(shù)為 & f & 。 Label3.Caption = 則籠中雞有 & x & 只,兔有 & y & 只。End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2929 消息框常用于在屏幕上顯示一個(gè)對話框,給出一些提示或警告消息框常用于在屏幕上顯示一個(gè)對話框,給出一些提示或警告信息,并允許用戶
30、進(jìn)行選擇。程序可根據(jù)該選擇確定進(jìn)一步的操作。信息,并允許用戶進(jìn)行選擇。程序可根據(jù)該選擇確定進(jìn)一步的操作。打開一個(gè)信息框,等待用戶選擇一個(gè)按按鈕。打開一個(gè)信息框,等待用戶選擇一個(gè)按按鈕。1、形式:、形式: MsgBox函數(shù)形式:函數(shù)形式: 變量變量% = MsgBox MsgBox(提示提示,按鈕按鈕,標(biāo)題標(biāo)題) MsgBox過程形式:過程形式: MsgBox MsgBox 提示提示,按鈕按鈕,標(biāo)題標(biāo)題 2、功能:打開一個(gè)信息框,等待用戶選擇一個(gè)按鈕。當(dāng)用戶單擊、功能:打開一個(gè)信息框,等待用戶選擇一個(gè)按鈕。當(dāng)用戶單擊某個(gè)按鈕后,將返回一個(gè)數(shù)值以標(biāo)明用戶單擊了哪個(gè)按鈕。某個(gè)按鈕后,將返回一個(gè)數(shù)值以
31、標(biāo)明用戶單擊了哪個(gè)按鈕。 MsgBox函數(shù)返回所選函數(shù)返回所選按鈕的值按鈕的值,MsgBox過程不返回值過程不返回值 注:注:1)提示、標(biāo)題的意義同)提示、標(biāo)題的意義同InputBox函數(shù)。函數(shù)。 2)按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕的數(shù)目和類型及)按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕的數(shù)目和類型及出現(xiàn)在信息框上的圖標(biāo)形式。出現(xiàn)在信息框上的圖標(biāo)形式。 ( (三三) )消息對話框消息對話框MsgBoxMsgBox函數(shù)和函數(shù)和MsgBoxMsgBox過程過程 P74P74本章目錄本章目錄VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3030MsgBoxMsgBox按鈕設(shè)置按鈕設(shè)置 第第3
32、個(gè)按鈕為默認(rèn)個(gè)按鈕為默認(rèn)512VBDefaultButton3第第2個(gè)按鈕為默認(rèn)個(gè)按鈕為默認(rèn) 256VBDefaultButton2第第1個(gè)按鈕為默認(rèn)個(gè)按鈕為默認(rèn) 0VBDefaultButton1默認(rèn)默認(rèn)按鈕按鈕 信息圖標(biāo)信息圖標(biāo) 64VBInformation警告信息圖標(biāo)警告信息圖標(biāo) 48VBExclamation詢問信息圖標(biāo)詢問信息圖標(biāo) 32VBQuestion關(guān)鍵信息圖標(biāo)關(guān)鍵信息圖標(biāo) 16VBCritical圖標(biāo)圖標(biāo)類型類型 重試、取消按鈕重試、取消按鈕 5VBRetryCancel是、否按鈕是、否按鈕 4VBYesNo是、否、取消按鈕是、否、取消按鈕 3VBYesNoCancel終止
33、、重試、忽略按鈕終止、重試、忽略按鈕 2VBAboutRetryIgnore確定、取消按鈕確定、取消按鈕 1VBOkCancel確定按鈕確定按鈕 0VBOkOnly按鈕按鈕數(shù)目數(shù)目 描描 述述值值內(nèi)內(nèi) 部部 常常 數(shù)數(shù)分組分組 本章目錄本章目錄具體格式:具體格式:P75按鈕數(shù)目按鈕數(shù)目+圖標(biāo)類型圖標(biāo)類型+默認(rèn)按鈕默認(rèn)按鈕變量變量% = MsgBox MsgBox(提示提示,按鈕按鈕,標(biāo)題標(biāo)題) MsgBox MsgBox 提示提示,按鈕按鈕,標(biāo)題標(biāo)題 VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄31313 3)MsgBoxMsgBox所選按鈕返回值所選按鈕返回值 例例4.3 編一賬號(hào)和
34、密碼輸入的檢驗(yàn)程序,當(dāng)輸入不正編一賬號(hào)和密碼輸入的檢驗(yàn)程序,當(dāng)輸入不正確,如賬號(hào)為非數(shù)字字符,密碼不正確等,顯示有關(guān)確,如賬號(hào)為非數(shù)字字符,密碼不正確等,顯示有關(guān)信息,再輸入。信息,再輸入。P76本章目錄本章目錄內(nèi)部常數(shù)內(nèi)部常數(shù)返回值返回值被單擊被單擊的按鈕的按鈕vbOkvbOk1 1確定確定vbCancelvbCancel2 2取消取消vbAbortvbAbort3 3終止終止vbRetryvbRetry4 4重試重試vbIgnorevbIgnore5 5忽略忽略vbYesvbYes6 6是是vbNovbNo7 7否否VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3232Private
35、 Sub Form_Load() Text1.Text = Text1.MaxLength = 6 Text2.Text = Text2.MaxLength = 4 Text2.PasswordChar = *End SubPrivate Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox 賬號(hào)必須為數(shù)字賬號(hào)必須為數(shù)字, , 警告警告 連續(xù)兩個(gè)逗號(hào)連續(xù)兩個(gè)逗號(hào),僅有僅有確定確定按鈕按鈕 Text1.Text = :Text1.SetFocus End IfEnd SubPrivate Sub Command1_Click
36、() Dim I As Integer If Text2.Text Gong Then I = MsgBox(密碼錯(cuò)誤密碼錯(cuò)誤, 5 + vbExclamation, 警告警告) If I 4 Then End Else Text2.Text = Text2.SetFocus End If End If End Sub48例例1 例例2例例3 *例例4VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3333【例】MsgBox函數(shù)的應(yīng)用舉例。(1)只顯示“提示信息”,如圖所示。Private sub Command1_Click()a =MsgBox(“請輸入一個(gè)整數(shù)”)End Sub(2)
37、顯示“確定”、“取消”按鈕,如圖所示。Private sub Command1_Click()a =MsgBox(請輸入一個(gè)整數(shù):,1,輸入提示)End Sub(3)顯示“終止”、“重試”、“忽略”按鈕,并顯示詢問圖標(biāo),設(shè)第一個(gè)按鈕為默認(rèn)按鈕,如圖所示。Private sub Command1_Click() a =MsgBox(密碼錯(cuò)誤!是否繼續(xù)?:,232+0,密碼錯(cuò)誤驗(yàn)證) Print aEnd SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3434使用消息框輸入使用消息框輸入/ /輸出輸出 例例 通過輸入框輸入姓名,然后再消息框中顯示出來通過輸入框輸入姓名,然后再消息框中顯
38、示出來 Private Sub Form_Load() x = InputBox(輸入您的姓名輸入您的姓名, 您叫什么名您叫什么名?) y = MsgBox( x & 先生:祝您馬到功成!先生:祝您馬到功成!) End Sub輸入框輸入框消息框消息框VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3535 在窗體上有一個(gè)文本框,然后編寫如下事件過程:在窗體上有一個(gè)文本框,然后編寫如下事件過程: Private Sub Form_Click() x = InputBox(請輸入一個(gè)整數(shù)請輸入一個(gè)整數(shù)) Print x + Text1.text End Sub 程序運(yùn)行時(shí),在文本框中輸
39、入程序運(yùn)行時(shí),在文本框中輸入456,然后單擊窗體,在輸入,然后單擊窗體,在輸入對話框中輸入對話框中輸入123,單擊,單擊“確定確定”按鈕后,在窗體上顯示的內(nèi)容按鈕后,在窗體上顯示的內(nèi)容是是 A. 123 B. 456 C. 579 D. 123456D思考題思考題想一想想一想VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3636電子郵件地址一般由用戶名和主機(jī)域名兩部分組成。如電子郵件地址一般由用戶名和主機(jī)域名兩部分組成。如“”,由用戶名,由用戶名“zsuhdh2010”zsuhdh2010”和主機(jī)域名和主機(jī)域名“”組成。組成。 先從先從x x中找出中找出“”字符,再以此字符為界拆分成兩個(gè)
40、字符串。字符,再以此字符為界拆分成兩個(gè)字符串。Private Sub Private Sub Form_LoadForm_Load()() Dim x As String, p As Integer, a As String, b As String Dim x As String, p As Integer, a As String, b As String Show Show x = x = InputBoxInputBox(輸入輸入“郵件地址郵件地址”的內(nèi)容的內(nèi)容) p = p = InStrInStr(x, ) (x, ) 查找字符查找字符 ,得到得到 號(hào)的位置號(hào)的位置 a = Lef
41、t(x, p - 1) a = Left(x, p - 1) 取取 左邊部分左邊部分 b = Mid(x, p + 1) b = Mid(x, p + 1) 取取 右邊部分右邊部分 Print Print 用戶名用戶名: & a: & a Print Print 主機(jī)域名主機(jī)域名: & b: & bEnd SubEnd Sub 程序運(yùn)行后彈出一個(gè)輸入對話框,當(dāng)輸入程序運(yùn)行后彈出一個(gè)輸入對話框,當(dāng)輸入“”后單擊后單擊“確定確定”按鈕,輸出結(jié)果如下:按鈕,輸出結(jié)果如下: 用戶名用戶名: zsuhdh2010: zsuhdh2010 主機(jī)域名主機(jī)域名: : 程序舉例程
42、序舉例-從一個(gè)郵件地址中分解出用戶名和主機(jī)域名從一個(gè)郵件地址中分解出用戶名和主機(jī)域名VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3737(四)Print方法方法 P77 (AutoRedrawP77 (AutoRedraw屬性屬性/Show/Show方法)方法)1 1、使用、使用PrintPrint方法輸出方法輸出格式:對象格式:對象. .PrintPrint SpcSpc( (n n)|Tab()|Tab(n n)輸出列表輸出列表 ;|,;|,功能:在對象上輸出信息。功能:在對象上輸出信息。 對象:窗體、圖形框或打印機(jī)。缺省為窗體。對象:窗體、圖形框或打印機(jī)。缺省為窗體。 窗體窗體
43、如如 Form1.Print Hello 圖片框圖片框 如如 Picture1.Print Hello 打印機(jī)打印機(jī) 如如 Printer.Print Hello 立即窗口立即窗口 如如 Debug .Print HelloSpcSpc(n)(n)函數(shù):從當(dāng)前位置起空函數(shù):從當(dāng)前位置起空n n個(gè)空格個(gè)空格Tab(n)Tab(n)函數(shù):從最左端開始計(jì)算的第函數(shù):從最左端開始計(jì)算的第n n列列分號(hào)分號(hào):定位在上一個(gè):定位在上一個(gè)被被顯示的字符顯示的字符之之后后逗號(hào)逗號(hào):定位在下一個(gè)打印區(qū)開始處:定位在下一個(gè)打印區(qū)開始處( (每區(qū)每區(qū)1414列列) )PrintPrint語句尾無分號(hào)或逗號(hào),輸出后換
44、行語句尾無分號(hào)或逗號(hào),輸出后換行VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3838(四)Print方法方法 P78P78例例4.4 4.4 PrintPrint方法輸出圖形方法輸出圖形 利用利用StringString函數(shù)顯示重復(fù)字符函數(shù)顯示重復(fù)字符 利用循環(huán)結(jié)構(gòu)、利用循環(huán)結(jié)構(gòu)、Spc、Tab函數(shù)函數(shù)顯示有規(guī)律圖形顯示有規(guī)律圖形 Private Sub Form_Click() Print 空一行空一行 For i = 1 To 5 顯示有規(guī)律的顯示有規(guī)律的5行行 Print Tab(i); String(6 - i, ); Spc(6); String(i, ) Next iEnd
45、 SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄2與Print方法有關(guān)的函數(shù)(1)Tab函數(shù)格式:Tab(n);功能:把輸出位置移到第n列。Private Sub Form_Click() Show FontSize = 12 設(shè)置輸出文本字體的大小 Print Print Tab(10); 姓名; Tab(25); 性別; Tab(40); 年齡 Print Print Tab(10); 劉 榴; Tab(25); 女; Tab(40); 16 Print Tab(10); 韓小強(qiáng); Tab(25); 男; Tab(40); 18End Sub3939lTab函數(shù):函數(shù):n當(dāng)前位
46、置當(dāng)前位置: 打印位置為下一行的第打印位置為下一行的第n列列 n1: 打印位置為第打印位置為第1列列 (n)省略省略: 打印位置為下一個(gè)打印區(qū)的起點(diǎn)打印位置為下一個(gè)打印區(qū)的起點(diǎn) (14個(gè)字符為一個(gè)打印區(qū)個(gè)字符為一個(gè)打印區(qū))VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄(2)Spc函數(shù)格式:Spc(n);功能:在輸出下一輸出項(xiàng)之前插入功能:在輸出下一輸出項(xiàng)之前插入n個(gè)空格。個(gè)空格。例如: Print 學(xué)號(hào);Spc(2);姓名;Spc(5);成績 輸出結(jié)果(表示空格): 學(xué)號(hào)姓名成績說明:l Spc函數(shù)與Space函數(shù)、Tab函數(shù)的區(qū)別nSpace函數(shù):可以用在字符串允許出現(xiàn)的任何位置。nS
47、pc函數(shù):只能用在打印語句中。nTab函數(shù)指定絕對位置; Space函數(shù)或Spc函數(shù)指定相對位置。4040VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄4141 例例 Print Print輸出示例輸出示例 Private Sub Form_Click() Dim a As Integer,b As Integer a = 3: b = 4 Print a, b, 4 + a, Print 2 * b Print a, , b Print Print a=; a, b=; b End Sub 運(yùn)行結(jié)果運(yùn)行結(jié)果 分號(hào)分號(hào)“;”緊湊格式緊湊格式逗號(hào)逗號(hào)“,”按區(qū)格式按區(qū)格式(14個(gè)字符位置個(gè)
48、字符位置)語句行末尾有分號(hào)或逗號(hào)語句行末尾有分號(hào)或逗號(hào),則輸出本行輸則輸出本行輸出項(xiàng)后不換行出項(xiàng)后不換行。輸出數(shù)值數(shù)據(jù)時(shí),輸出數(shù)值數(shù)據(jù)時(shí),前面有一個(gè)符號(hào)位前面有一個(gè)符號(hào)位(正正號(hào)以空格表示號(hào)以空格表示),后面留有一個(gè)空格;,后面留有一個(gè)空格;輸出字符串時(shí),前后不留空格輸出字符串時(shí),前后不留空格每個(gè)每個(gè)Print輸出一行。輸出一行。輸入輸入Print時(shí)可用時(shí)可用?代替,代替,VB將其自動(dòng)轉(zhuǎn)換成將其自動(dòng)轉(zhuǎn)換成PrintVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄4242例: Private Sub Form_Activate() Print 12345678901234567890 Pri
49、nt Hello; Tab(10); World Print Hello; Tab; World Print Hello; Tab(4); World Print Tab(-5); Hello End SubVB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄4343例例: Private Sub Form_Activate() Print 12345678901234567890 Print 2+4=;2 + 4, Print 2-4=; Print 2 - 4 End Sub例例: Private Sub Form_Activate() Print 12345678901234567890 Print 2+4=; 2 + 4 Print 2-4=, 2 - 4 End Sub 輸出時(shí),數(shù)值型數(shù)據(jù)前有一個(gè)符號(hào)位(正號(hào)不顯),后面留一個(gè)空格位;字符串原樣輸出,前后無空格。*位置屬性位置屬性應(yīng)用應(yīng)用*VB程序設(shè)計(jì)簡明教程程序設(shè)計(jì)簡明教程本書目錄本書目錄3使用位置屬性和字體屬性4444n 當(dāng)前輸出位置的橫坐標(biāo)、縱坐標(biāo):Curr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)財(cái)務(wù)預(yù)算編制與執(zhí)行實(shí)施指南
- 湖北省十堰市八校教聯(lián)體2025-2026學(xué)年高一上學(xué)期12月聯(lián)考語文試題答案
- 國防光纜保護(hù)合同
- 企業(yè)內(nèi)部研發(fā)管理手冊
- 七年級歷史《三國鼎立》公開課教學(xué)設(shè)計(jì)
- 2025年城市綠化與園林建設(shè)指南
- 企業(yè)品牌形象管理規(guī)范(標(biāo)準(zhǔn)版)
- 2025年知識(shí)管理體系構(gòu)建與實(shí)施手冊
- 數(shù)學(xué)對稱圖形在景德鎮(zhèn)瓷雕紋飾的立體表現(xiàn)研究課題報(bào)告教學(xué)研究課題報(bào)告
- 環(huán)保事件中的小小行動(dòng)者故事15篇
- 數(shù)據(jù)機(jī)房施工安全管理方案
- 脊柱側(cè)彎手術(shù)課件分類
- 年產(chǎn)100萬噸水泥生產(chǎn)線建設(shè)工程可行性研究報(bào)告
- 學(xué)堂在線 雨課堂 學(xué)堂云 研究生生涯發(fā)展與規(guī)劃 章節(jié)測試答案
- 【政治】2025年高考真題政治-海南卷(解析版-1)
- 建筑業(yè)有效標(biāo)準(zhǔn)規(guī)范清單(2025年9月)
- 個(gè)人形象塑造與提升策略分享
- 項(xiàng)目過程記錄管理辦法
- 杭州小區(qū)門禁管理辦法
- 2025秋人教版(2024)七年級上冊地理課件 5.2 城鎮(zhèn)與鄉(xiāng)村
- 新疆紫金鋅業(yè)有限公司烏拉根鋅礦25000t-d采礦工程環(huán)評報(bào)告
評論
0/150
提交評論