![VB程序設(shè)計與應(yīng)用第4章:順序結(jié)構(gòu)程序設(shè)計_第1頁](http://file4.renrendoc.com/view11/M00/3A/0A/wKhkGWWils2AXjafAAE_ZuzcwZE594.jpg)
![VB程序設(shè)計與應(yīng)用第4章:順序結(jié)構(gòu)程序設(shè)計_第2頁](http://file4.renrendoc.com/view11/M00/3A/0A/wKhkGWWils2AXjafAAE_ZuzcwZE5942.jpg)
![VB程序設(shè)計與應(yīng)用第4章:順序結(jié)構(gòu)程序設(shè)計_第3頁](http://file4.renrendoc.com/view11/M00/3A/0A/wKhkGWWils2AXjafAAE_ZuzcwZE5943.jpg)
![VB程序設(shè)計與應(yīng)用第4章:順序結(jié)構(gòu)程序設(shè)計_第4頁](http://file4.renrendoc.com/view11/M00/3A/0A/wKhkGWWils2AXjafAAE_ZuzcwZE5944.jpg)
![VB程序設(shè)計與應(yīng)用第4章:順序結(jié)構(gòu)程序設(shè)計_第5頁](http://file4.renrendoc.com/view11/M00/3A/0A/wKhkGWWils2AXjafAAE_ZuzcwZE5945.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1
第4章順序結(jié)構(gòu)程序設(shè)計4.1順序結(jié)構(gòu)4.2數(shù)據(jù)輸入4.3數(shù)據(jù)輸出4.4其他常用語句2
第4章順序結(jié)構(gòu)程序設(shè)計
程序模塊的三種基本結(jié)構(gòu)
順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)
順序結(jié)構(gòu)A1操作A2操作A1操作
A2操作(a)順序結(jié)構(gòu)流程圖4.1順序結(jié)構(gòu)事件驅(qū)動:將代碼劃分成一些過程。過程結(jié)構(gòu):過程內(nèi)部代碼由三種基本結(jié)構(gòu)組成,即:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu):執(zhí)行過程的次序從上到下,從左到右。例4-1:編寫程序,輸入圓柱的高及半徑,求體積。
PrivateSubCommand1_Click()ConstPi=3.14H=Val(Text1.Text):R=Val(Text2.Text)Text3.Text=Pi*R^2*HEndSub4例4-2:編寫程序,交換變量a1、a2的值。PrivateSubForm_Load()Form1.AutoRedraw=TrueForm1.Print"交換兩個數(shù)"Form1.Print“雙擊窗體開始"EndSub56例4-3:分別在3個文本框中輸入小時、分、秒,轉(zhuǎn)化成秒數(shù)在一個標(biāo)簽上輸出。見書本P69例4-4:在文本框中輸入英文字母,單擊“轉(zhuǎn)大寫”按鈕,文本變?yōu)榇髮?,單擊“轉(zhuǎn)小寫”按鈕,文本變?yōu)樾懀瑔螕簟皬?fù)原”按鈕,文本復(fù)原為原來輸入的內(nèi)容。見書本P704.2數(shù)據(jù)輸入4.2.1用賦值語句輸入數(shù)據(jù)1.格式
<變量名>=<表達(dá)式>或:[<對象名>.]<屬性名>=<表達(dá)式>2.功能計算表達(dá)式的值,再將此值賦給變量或?qū)ο髮傩浴?.說明(1)<變量名>:應(yīng)符合VB變量命名約定。(2)<表達(dá)式>:常量、變量、表達(dá)式。(3)<對象名>:缺省時為當(dāng)前窗體。(4)賦值號“=”:與數(shù)學(xué)中的等號意義不同。例:X=X+1(5)賦值號左邊必須是變量或?qū)ο髮傩浴?例:X=1MyStr="GoodMorning"Command1.Caption="確定"X+1=X'錯誤,賦值號左邊是表達(dá)式(6)變量名或?qū)ο髮傩悦念愋蛻?yīng)與表達(dá)式類型相容。例4-5:DimAAsInteger,BAsSingleDimCAsDouble,SAsStringA=100'將整型數(shù)100賦給整型變量AS="123.45"'將字符串"123.45"賦給變量SA=S'將數(shù)字字符串變量賦值給整型變量,
'變量A中存放123S=A'S中存放字符串"123"B=12345.67A=B'高精度變量賦值給低精度變量,
'先四舍五入后取整,A中存放123469C=123456.789B=C'高精度變量賦值給低精度變量,
'變量B中存放123456.8,有效數(shù)字7位S="abc"A=S'錯誤,類型不匹配例4-6:執(zhí)行下列各賦值語句后,A的數(shù)據(jù)類型是什么?(設(shè)A沒有定義數(shù)據(jù)類型)
A=6=5A=5+3A="5+3"A="#11/26/99#"A=#11/26/1999#A=Not5>8可以用TypeName函數(shù)判斷變量的數(shù)據(jù)類型。如:PrintTypeName(A)10(7)變量未賦值時,數(shù)值型變量值為0,字符串變量值為空串""?!纠?-7】設(shè)變量A中存放5,變量B中存放8,交換兩個變量的值,使變量A中存放8,變量B中存放5。分析:需要借助第三個變量C。代碼如下:A=5B=8
C=AA=BB=C114.2.2、用輸入框(InputBox)輸入數(shù)據(jù)1.格式InputBox(<提示信息>[,<對話框標(biāo)題>][,<默認(rèn)值>])2.功能提示一對話框,等待用戶輸入正文或按下按鈕,并返回包含文本框內(nèi)容的字符串。<提示信息>:字符串表達(dá)式。用Chr(13)
、Chr(10)
、Chr(13)&Chr(10)、vbCrLf可換行。<對話框標(biāo)題>:字符串表達(dá)式。<默認(rèn)值>:字符串表達(dá)式。如果省略,則默認(rèn)為空。函數(shù)返回值:字符串(在對話框中單擊取消則返回"")12單擊“確定”,返回文本框中的文本到變量R中;單擊“取消”,返回一個零長度的字符串。例4-8:
利用輸入框輸入半徑求任意圓的面積。
PrivateSubForm_Activate()DimRAsString,AREAAsSingle
R=InputBox("請輸入半徑","計算面積","1")
AREA=3.14*Val(R)^2PrintVal(R),AREAEndSub134.2.3用文本框(TextBox)輸入數(shù)據(jù)1.文本框的屬性(1)Text:返回或設(shè)置文本框顯示的內(nèi)容。例:Text1.Text="歡迎使用VisualBasic"(2)MultiLine:決定是否可以顯示多行文本。(3)PasswordChar:常用于輸入口令。在文本框中鍵入字符顯示為該指定的字符。(此時MultiLine屬性值應(yīng)為False)(4)ScrollBars:用于確定文本框是否帶滾動條以及滾動條的方向。(僅當(dāng)MultiLine屬性值為True時才可以帶滾動條)14(5)SelLength:在運行期返回或設(shè)置選擇的字符數(shù)。例:Text1.SelLength=Len(Text1.Text)
表示選中文本框Text1中所有字符。(6)SelStart:在運行期返回或設(shè)置當(dāng)前選擇文本的起始位置。例:Text1.SelStart=0表示選擇文本的起始位置從第一個字符開始。(7)Locked:指定運行時文本框內(nèi)容是否可以編輯。False—可以編輯True—不可編輯(只讀)152.文本框的事件和方法事件:Change
、Click、DblClick、GotFocus、LostFocus、KeyPress等方法:SetFocus【例4-9】設(shè)計如下圖所示的界面,運行時,輸入某同學(xué)三門課的成績,計算平均成績。按要求編程。Text4(設(shè)Locked為True)Text1Text2Text3Command1Command2Command316①單擊“計算”按鈕求平均成績PrivateSubCommand1_Click()A=Val(Text1.Text)B=Val(Text2.Text)C=Val(Text3.Text)Text4.Text=(A+B+C)/3EndSub17②當(dāng)輸入成績的文本框獲得焦點時,選中其中的文本PrivateSubText1_GotFocus()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSubPrivateSubText2_GotFocus()Text2.SelStart=0Text2.SelLength=Len(Text1.Text)EndSubPrivateSubText3_GotFocus()Text3.SelStart=0Text3.SelLength=Len(Text1.Text)EndSub18③當(dāng)輸入成績的文本框內(nèi)容發(fā)生變化時,清除平均值PrivateSubText1_Change()Text4.Text=""EndSubPrivateSubText2_Change()Text4.Text=""EndSubPrivateSubText3_Change()Text4.Text=""EndSub19④單擊“清除”按鈕清除所有文本框的內(nèi)容,并將焦點定位在文本框Text2中。PrivateSubCommand2_Click()Text1.Text=""Text2.Text=""Text3.Text=""Text4.Text=""
Text1.SetFocusEndSub⑤單擊“退出”按鈕結(jié)束程序的運行。PrivateSubCommand3_Click()EndEndSub20【例4-10】在窗體上建立一個文本框,將輸入到文本框中的小寫字母轉(zhuǎn)換為大寫。PrivateSubText1_KeyPress(KeyAsciiAsInteger)Char=Chr(KeyAscii)KeyAscii=Asc(UCase(Char))EndSub211.焦點當(dāng)前可以接收用戶輸入的對象稱為具有焦點。
注意:并非所有控件都可以接收焦點。而且,只有Enable和Visible屬性為True時,才可以接收焦點。2.事件GotFocus發(fā)生在對象得到焦點時
LostFocus發(fā)生在對象失去焦點時3.對象何時得到焦點
?
運行時選擇對象(鼠標(biāo)、Tab鍵、訪問鍵);
?
在代碼中使用SetFocus方法。4.2.4焦點和Tab鍵序222.Tab鍵序
?
指按Tab鍵時光標(biāo)在各個控件之間移動的順序。
?
每個窗體都有自己的Tab鍵序。
?
默認(rèn)鍵序與控件的建立次序一致。
?
TabIndex屬性:決定鍵序。改變TabIndex屬性可以改變鍵序。
?
TabStop屬性:決定是否能夠使用Tab鍵將焦點移動到當(dāng)前對象。4.3數(shù)據(jù)輸出4.3.1用標(biāo)簽(Label)輸出數(shù)據(jù)1.標(biāo)簽的屬性(1)Caption:標(biāo)簽的標(biāo)題。(2)Alignment:確定標(biāo)簽標(biāo)題的對齊方式。(3)AutoSize:確定標(biāo)簽是否隨標(biāo)題自動調(diào)整大小。(4)BorderStyle:確定標(biāo)簽的邊框。0—無邊框;1—有邊框。(5)BackStyle:指定背景是透明或不透明。1—不透明;0—透明。(6)WordWrap:指示是否隨標(biāo)題沿垂直方向自動擴展。True—標(biāo)簽將隨標(biāo)題在垂直方向變化。
(此時AutoSize屬性值應(yīng)設(shè)置為True)False—標(biāo)簽不能在垂直方向上擴展。24【例4-11】測試標(biāo)簽的邊框樣式和透明樣式。在窗體上放置一標(biāo)簽,顯示“VisualBasic程序設(shè)計教程”,放置四個命令按鈕,Command1放在Command2上,Command3放在Command4上。運行時,單擊相應(yīng)按鈕,界面發(fā)生相應(yīng)變化。Label1Command2Command1Command3Command425PrivateSubCommand2_Click()Label1.BorderStyle=0Command1.Visible=TrueCommand2.Visible=FalseEndSubPrivateSubCommand1_Click()Label1.BorderStyle=1Command1.Visible=FalseCommand2.Visible=TrueEndSub26PrivateSubCommand3_Click()Label1.BackStyle=1Command3.Visible=FalseCommand4.Visible=TrueEndSubPrivateSubCommand4_Click()Label1.BackStyle=0Command3.Visible=TrueCommand4.Visible=FalseEndSub272.標(biāo)簽的事件:Click、DblClick...例:PrivateSubLabel1_DblClick()Label1.FontSize=Label1.FontSize+10EndSub3.標(biāo)簽的方法:Move格式:[<對象名>.]Move<Left>[,[<top>][,[<width>][,<height>]]]
<left>:指示對象左邊的水平坐標(biāo)(x-軸)。
<top>:指示對象頂邊的垂直坐標(biāo)(y-軸)。
<width>:指示對象新的寬度。
<height>:指示對象新的高度。例:PrivateSubLabel1_Click()Label1.MoveLabel1.Left+50EndSub28
功能:執(zhí)行MsgBox函數(shù)時,程序被暫停,并產(chǎn)生一個對話框(也稱消息框),對話框中包括提示信息和命令按鈕,等待用戶單擊對話框上某個命令按鈕,并以此作為程序繼續(xù)執(zhí)行的依據(jù)。4.3.2
MsgBox函數(shù)
MsgBox函數(shù)用于向用戶發(fā)布提示信息,要求用戶作出必要的反應(yīng)。
格式:
MsgBox(msg[,type][,title][,helpfile,context])29
說明:
msg:是一個字符串,其長度不能超過1024個字符,如果超過,則多余的字符被截掉。該字符串的內(nèi)容將在由MsgBox函數(shù)產(chǎn)生的對話框內(nèi)顯示。當(dāng)字符串在一行內(nèi)顯示不完時,將自動換行,當(dāng)然也可以用“Chr$(13)+Chr$(10)”強制換行。
type:
是一個整數(shù)值或符號常量,用來控制在對話框內(nèi)顯示的按鈕、圖標(biāo)的種類及數(shù)量。該參數(shù)的值由四類數(shù)值相加產(chǎn)生,這四類數(shù)值或符號常量分別表示按鈕的類型、顯示圖標(biāo)的種類及活動按鈕的位置。30類別符號常量數(shù)值作用按鈕類型與數(shù)目VbOKOnly0顯示“確定”按鈕VbOKCancel1顯示“確定”和“取消”按鈕VbAbortRetryIgnore2顯示“終止”、“重試”及“忽略”VbYesNoCancel3顯示“是”、“否”及“取消”VbYesNo4顯示“是”和“否”按鈕VbRetryCancel5顯示“重試”和“取消”按鈕type參數(shù)的類別及取值31類別符號常量數(shù)值作用圖標(biāo)樣式VbCritical16顯示危險圖標(biāo)VbQuestion32顯示疑問圖標(biāo)VbExlamation48顯示警告圖標(biāo)VbInformation64顯示通知圖標(biāo)type參數(shù)的類別及取值32type參數(shù)的類別及取值類別符號常量數(shù)值作用缺省按鈕VbDefaultButton10第一個按鈕為缺省值VbDefaultButton2256第二個按鈕為缺省值VbDefaultButton3512第三個按鈕為缺省值33type參數(shù)的類別及取值類別符號常量數(shù)值作用強制轉(zhuǎn)換VbApplicationModal0應(yīng)用程序強制返回,當(dāng)前應(yīng)用程序直到用戶對消息框作出響應(yīng)才繼續(xù)執(zhí)行。VbSystemModal4096系統(tǒng)強制返回,全部應(yīng)用程序直到用戶對消息框作出響應(yīng)才繼續(xù)執(zhí)行。34例4-12:MsgBox(“參數(shù)錯誤”,18)函數(shù)中的type參數(shù)18=2+16+0+0PrivateSubCommand1_Click()
PrintMsgBox("參數(shù)錯誤",18)EndSub顯示結(jié)果如下:35PrivateSubCommand2_Click()a=MsgBox("VbApplicationModal",18,
"VbApplicationModal")EndSub36PrivateSubCommand3_Click()a=MsgBox("VbSystemModal",4162,
"VbSystemModal")EndSub函數(shù)中的type參數(shù)4162=4096+64+2+037
title:是一個字符串,顯示對話框的標(biāo)題
helpfile,context
與InputBox函數(shù)相同。
若type缺省,則對話框內(nèi)只顯示一個
“確定”按鈕,并把該按鈕設(shè)置為活動按鈕,
不顯示任何圖標(biāo);若title缺省,則對話框的
標(biāo)題為當(dāng)前工程的名稱,如果希望標(biāo)題欄
中沒有任何內(nèi)容,應(yīng)將title設(shè)置為空字符串;
MsgBox函數(shù)返回一個整數(shù)
MsgBox函數(shù)對話框可以顯示7個不同的命令按鈕,用戶單擊某一個命令按鈕,將返回一個與該命令按鈕相關(guān)的一個整數(shù)值。38MsgBox函數(shù)的返回值命令按鈕名符號常量返回值“確定”按鈕VbOK1“取消”按鈕VbCancel2“終止”按鈕VbAbort3“重試”按鈕VbRetry4“忽略”按鈕VbIgnore5“是”按鈕VbYes6“否”按鈕VbNo739例:<提示信息>PrivateSubCommand1_Click()A=MsgBox("提示信息")EndSub例:<提示信息>換行PrivateSubCommand1_Click()A=MsgBox("第一行"&
Chr(13)&"第二行")EndSub40例:<對話框標(biāo)題>
PrivateSubCommand1_Click()A=MsgBox("提示信息",,"標(biāo)題內(nèi)容")
EndSub例:按鈕類型—0到5或符號常量,見P76
PrivateSubCommand1_Click()A=MsgBox("提示信息",1,"標(biāo)題內(nèi)容")
EndSub41例:圖標(biāo)類型—16、32、48、64或符號常量,見P76
PrivateSubCommand1_Click()A=MsgBox("提示信息",16,"標(biāo)題內(nèi)容")
EndSub例:默認(rèn)按鈕—0,256,512,見P76
PrivateSubCommand1_Click()a=MsgBox("提示信息",2+256,"標(biāo)題內(nèi)容")
PrintaEndSub按回車打印4424.3.3用Print方法輸出數(shù)據(jù)1.Print方法格式:[<對象名>.]Print[<表達(dá)式表>][{;|,}]<對象名>:窗體如Form1.Print"Hello"
圖片框如Picture1.Print"Hello"
打印機如Printer.Print"Hello"
立即窗口如Debug.Print"Hello"
省略:默認(rèn)為當(dāng)前窗體。
<表達(dá)式表>:多個表達(dá)式使用逗號或分號隔開。逗號:以14個字符位置為單位把一個輸出行分成若干區(qū)段。分號:后一項緊跟前一項輸出。43輸出時,數(shù)值型數(shù)據(jù)前有一個符號位(正號不顯),后面留一個空格位;字符串原樣輸出,前后無空格。例:PrivateSubForm_Activate()Print"12345678901234567890"Print"2+4=";2+4Print"2-4=",2-4EndSub例:PrivateSubForm_Activate()Print"12345678901234567890"Print"2+4=";2+4,Print"2-4=";Print2-4EndSub44例:PrivateSubForm_Load()
Form1.ShowPrint"12345678901234567890"Print'產(chǎn)生空行
Print"2+4=";2+4,Print'取消上面一句末尾逗號的作用
Print"2-4=";Print2-4EndSub輸入Print時可用?代替,VB將其自動轉(zhuǎn)換成Print。452.與Print方法有關(guān)的函數(shù)(1)Tab函數(shù)格式:Tab[(n)]功能:在指定的第n個位置上輸出數(shù)據(jù)。參數(shù)n:n<當(dāng)前位置:打印位置為下一行的第n列;
n<1:打印位置為第1列;n>輸出行寬度:打印位置為nMod行寬;省略:打印位置為下一個打印區(qū)的起點。(每14個字符為一個打印區(qū))46例:PrivateSubForm_Activate()Print"12345678901234567890"Print"Hello";Tab(10);"World"Print"Hello";Tab;"World"Print"Hello";Tab(4);"World"PrintTab(-5);"Hello"EndSub47(2)Spc函數(shù)格式:Spc(n)功能:跳過n個空格。例:Print"HOW";Spc(3);"ABOUT"結(jié)果:HOW∪∪∪ABOUT484.3.4用文本框(TextBox)輸出數(shù)據(jù)【例4-13】在Text1中輸入任一英文字母,在Text2中顯示該英文字母及其ASCII碼值。要求在文本框Text2中顯示出所有輸入的英
溫馨提示
- 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-2030全球草酸镥水合物行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國游戲插畫行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球單通道凝血分析儀行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球EPROM 存儲器行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國3,4,5-三甲氧基甲苯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國代謝物定制合成服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球低扭矩滾子軸承行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國汽車差速器錐齒輪行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球高壓電動車軸行業(yè)調(diào)研及趨勢分析報告
- 湖南省長沙市長郡教育集團聯(lián)考2023-2024學(xué)年九年級上學(xué)期期中道德與法治試卷
- 農(nóng)村宅基地和建房(規(guī)劃許可)申請表
- 2023年中國農(nóng)業(yè)銀行應(yīng)急預(yù)案大全
- 村衛(wèi)生室2023年度績效考核評分細(xì)則(基本公共衛(wèi)生服務(wù))
- 關(guān)聯(lián)公司合作合同
- 【建模教程】-地質(zhì)統(tǒng)計學(xué)礦體建模簡明教材
- PSM工藝安全管理
- 7天減肥餐食譜給你最能瘦的一周減肥食譜
- 最新北師大版八年級數(shù)學(xué)下冊教學(xué)課件全冊
- 危險化學(xué)品儲存柜安全技術(shù)及管理要求培訓(xùn)
- Q∕SY 06342-2018 油氣管道伴行道路設(shè)計規(guī)范
評論
0/150
提交評論