簡單程序設(shè)計(jì)_第1頁
簡單程序設(shè)計(jì)_第2頁
簡單程序設(shè)計(jì)_第3頁
簡單程序設(shè)計(jì)_第4頁
簡單程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

簡單程序設(shè)計(jì)第一頁,共一百零五頁,編輯于2023年,星期五

窗體3.1命令按鈕3.2

標(biāo)簽3.3文本框3.4賦值語句3.5第二頁,共一百零五頁,編輯于2023年,星期五

注釋語句、結(jié)束語句3.9程序調(diào)試3.10消息框3.8輸入框3.7Print方法3.6第三頁,共一百零五頁,編輯于2023年,星期五

VB應(yīng)用程序的執(zhí)行是由事件驅(qū)動(dòng)的,當(dāng)用戶觸發(fā)某一事件時(shí)執(zhí)行相應(yīng)的事件過程,這些事件過程之間并沒有特定的執(zhí)行次序。第四頁,共一百零五頁,編輯于2023年,星期五

但在每一個(gè)事件過程內(nèi)部,是有一定的執(zhí)行控制流程的,這就是通常所說的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)是最簡單的一種結(jié)構(gòu),該結(jié)構(gòu)按語句排列的先后順序執(zhí)行。第五頁,共一百零五頁,編輯于2023年,星期五

本章的主要內(nèi)容有:VB最基本的幾個(gè)對象;與順序結(jié)構(gòu)有關(guān)的語句和方法。通過本章的學(xué)習(xí),可以進(jìn)行簡單VB程序設(shè)計(jì)。第六頁,共一百零五頁,編輯于2023年,星期五3.1窗體創(chuàng)建VB應(yīng)用程序的第一步是創(chuàng)建用戶界面。用戶界面的基礎(chǔ)是窗體,各種控件對象必須建立在窗體上。

啟動(dòng)VB后,即在屏幕上顯示一個(gè)窗體,如圖3-1所示。第七頁,共一百零五頁,編輯于2023年,星期五

圖標(biāo)標(biāo)題最大化按鈕最小化按鈕關(guān)閉按鈕窗口區(qū)邊框圖3-1窗體第八頁,共一百零五頁,編輯于2023年,星期五

3.1.1窗體的主要屬性窗體的屬性決定了窗體的外觀和操作。對象的大部分屬性可用兩種方法來設(shè)置:通過屬性窗口設(shè)置和通過程序代碼設(shè)置。有少量的屬性不能在程序代碼中設(shè)置。第九頁,共一百零五頁,編輯于2023年,星期五

(1)Caption屬性設(shè)置窗體的標(biāo)題內(nèi)容。標(biāo)題內(nèi)容應(yīng)概括說明本窗體作用。(2)MaxButton屬性和MinButton屬性

MaxButton為True,窗體右上角有最大化按鈕;為False時(shí),無最大化按鈕。MinButton屬性為True,窗體右上角有最小化按鈕;為False時(shí),無最小化按鈕。第十頁,共一百零五頁,編輯于2023年,星期五

(3)BorderStyle屬性決定窗體邊框式樣及窗體是否能調(diào)整大小。(4)BackColor屬性和ForeColor屬性

BackColor屬性設(shè)置窗體的背景顏色;ForColor屬性設(shè)置窗體的前景顏色。窗體的前景顏色是執(zhí)行Print方法時(shí)所顯示文本的顏色。第十一頁,共一百零五頁,編輯于2023年,星期五

(5)Height屬性和Width屬性

設(shè)置窗體的初始高度和寬度。其單位為Twip。1Twip=1/20點(diǎn)=1/1440英寸=1/567厘米。(6)Left屬性和Top屬性

用于設(shè)置窗體左邊框距屏幕左邊界的距離和窗體頂邊距屏幕頂端的距離。其單位為Twip。第十二頁,共一百零五頁,編輯于2023年,星期五

(7)Name(名稱)屬性設(shè)置窗體的名稱,在程序代碼中用這個(gè)名稱引用該窗體。新建工程時(shí),窗體的名稱缺省為Form1;添加第二個(gè)窗體,其名稱缺省為Form2,以此類推。為了便于識(shí)別,用戶通常給Name屬性設(shè)置一個(gè)有實(shí)際意義的名稱。第十三頁,共一百零五頁,編輯于2023年,星期五

(8)Enabled屬性

屬性值為True或False,設(shè)置對象是否能對用戶產(chǎn)生的事件做出反應(yīng)。一般在程序中設(shè)置,用于臨時(shí)屏蔽對窗體或其他控件的的控制。(9)Moveable屬性

屬性值為True或False,設(shè)置是否可以移動(dòng)窗體。(10)Visible屬性屬性值為True或False,設(shè)置窗體是否被顯示。用戶可用該屬性在程序代碼中控制窗體的隱現(xiàn)。第十四頁,共一百零五頁,編輯于2023年,星期五

(11)Picture屬性設(shè)置在窗體中顯示的圖片。單擊Picture屬性右邊的按鈕,彈出“加載圖片”對話框,用戶可選擇一個(gè)圖片文件作為窗體的背景圖片。若在程序中設(shè)置該屬性的值,需要使用LoadPicture函數(shù)。第十五頁,共一百零五頁,編輯于2023年,星期五

(12)WindowState屬性

設(shè)置窗體啟動(dòng)后的大小狀態(tài)。它有三個(gè)可選值:0-Normal:窗體大小由Height和Width屬性決定。1-Minimized:窗體最小化成圖標(biāo)。2-Maximized:窗體最大化,充滿整個(gè)屏幕。第十六頁,共一百零五頁,編輯于2023年,星期五

在VB中,雖然不同的對象有不同的屬性集合,但有一些屬性,如Name、Enabled、Visible、Height、Width、Left、Top等,其他控件也具有,且具有相似的作用。在后續(xù)的章節(jié)中,我們主要介紹各種控件常用的特殊屬性。第十七頁,共一百零五頁,編輯于2023年,星期五

3.1.2事件窗體最常用的事件有三種:Click(單擊)、DbClick(雙擊)、Load(裝入)。第十八頁,共一百零五頁,編輯于2023年,星期五

(1)Click事件程序運(yùn)行后,單擊窗體觸發(fā)該事件。(2)DbClick事件程序運(yùn)行后,雙擊窗體觸發(fā)該事件。(3)Load事件

Load事件是窗體被裝入內(nèi)存工作區(qū)時(shí)觸發(fā)的事件。如果這個(gè)事件過程存在,就馬上執(zhí)行它。Load事件過程通常用于啟動(dòng)程序時(shí)對屬性、變量的初始化,裝載數(shù)據(jù)等。第十九頁,共一百零五頁,編輯于2023年,星期五

【例3.1】窗體上無最大化最小化按鈕,程序運(yùn)行后,在窗體上裝入一幅圖片作為背景;當(dāng)單擊窗體時(shí),窗體變寬;當(dāng)雙擊窗體時(shí),則退出。程序運(yùn)行界面如圖3-2所示。第二十頁,共一百零五頁,編輯于2023年,星期五

(a)Load事件(b)Click事件圖3-2例3.1運(yùn)行界面第二十一頁,共一百零五頁,編輯于2023年,星期五

屬性設(shè)置如表3-1所示。對象屬性設(shè)置Form1Caption練習(xí)窗體事件MaxButtonFalseMinButtonFalse表3-1例3.1對象屬性設(shè)置第二十二頁,共一百零五頁,編輯于2023年,星期五

事件過程如下:PrivateSubForm_Load()'裝入圖片

Form1.Picture=LoadPicture("c:\pic\Changcheng.wmf")EndSubPrivateSubForm_click()'單擊窗體

Form1.Width=Form1.Width+1000EndSubPrivateSubForm_DblClick()'雙擊窗體

EndEndSub第二十三頁,共一百零五頁,編輯于2023年,星期五3.2命令按鈕

在VB應(yīng)用程序中,命令按鈕是使用的最多的對象之一,常常用它接受用戶的操作信息,觸發(fā)相應(yīng)的事件過程,以實(shí)現(xiàn)指定的功能。 第二十四頁,共一百零五頁,編輯于2023年,星期五

3.2.1屬性(1)Caption屬性

設(shè)定命令按鈕上顯示的文本。(2)Default屬性該屬性用于設(shè)置默認(rèn)命令按鈕。當(dāng)Default屬性設(shè)置為True時(shí),按ENTER鍵相當(dāng)于用鼠標(biāo)單擊了該按鈕。第二十五頁,共一百零五頁,編輯于2023年,星期五

(3)Style屬性和Picture屬性命令按鈕上除了可以顯示文字外,還可以顯示圖形。若要顯示圖形,首先應(yīng)將Style屬性設(shè)置為1,然后在Picture屬性中設(shè)置要顯示的圖形文件。類似的,若要設(shè)置命令按鈕的BackColor(背景色),也應(yīng)將Style屬性設(shè)置為1。Style屬性可設(shè)置為:0-Standard:標(biāo)準(zhǔn)的,命令按鈕上不能顯示圖形。1-Graphical:圖形的,命令按鈕上可以顯示圖形,也可以顯示文字。第二十六頁,共一百零五頁,編輯于2023年,星期五

(4)Value屬性

該屬性只能在程序運(yùn)行期間引用或設(shè)置。True表示被按下,F(xiàn)alse(默認(rèn))表示未被按下。在代碼中可通過設(shè)置Value屬性為True,來觸發(fā)命令按鈕的Click事件。例如,利用下面代碼,可通過程序來選擇命令按鈕,并觸發(fā)命令按鈕的Click事件。

Command2.Value=True3.2.2事件最常用的事件是Click事件。第二十七頁,共一百零五頁,編輯于2023年,星期五3.3標(biāo)簽標(biāo)簽(Label)主要用于顯示不需要用戶修改的文本。所以,標(biāo)簽可以用來標(biāo)示窗體及窗體上的對象,如為文本框、列表框等添加描述性的文字,或者作為窗體的說明文字。第二十八頁,共一百零五頁,編輯于2023年,星期五

3.3.1屬性

(1)Caption屬性

設(shè)置標(biāo)簽要顯示的內(nèi)容。它是標(biāo)簽的主要屬性。

(2)BorderStyle屬性

默認(rèn)值為0,標(biāo)簽無邊框;設(shè)置為1時(shí),標(biāo)簽有立體邊框。第二十九頁,共一百零五頁,編輯于2023年,星期五

(3)Autosize屬性

該屬性用于設(shè)置標(biāo)簽是否自動(dòng)改變尺寸以適應(yīng)其內(nèi)容。設(shè)置為True時(shí),隨著Caption的內(nèi)容變化,自動(dòng)調(diào)整標(biāo)簽的大小,并且不換行;設(shè)置為False時(shí),標(biāo)簽保持設(shè)計(jì)時(shí)的大小,這時(shí)如果內(nèi)容太長,只能顯示一部分。默認(rèn)值為False。第三十頁,共一百零五頁,編輯于2023年,星期五

(4)Alignment屬性

確定標(biāo)簽中內(nèi)容的對齊方式,有三種可選值:0-LeftJuseify:默認(rèn)值,左對齊。1-RightJuseify:右對齊。2-Center:居中對齊。(5)BackStyle屬性

該屬性用于設(shè)置背景是否透明。默認(rèn)值為1,不透明;設(shè)為0時(shí),透明。所謂透明,是指無背景色。第三十一頁,共一百零五頁,編輯于2023年,星期五

3.3.2事件常用Click,DbClick事件。

【例3.2】修改例3.1,在圖片上加提示信息“請單擊圖片”,程序其它功能不變。程序運(yùn)行界面如圖3-2所示。第三十二頁,共一百零五頁,編輯于2023年,星期五

圖3-3例3.2運(yùn)行界面第三十三頁,共一百零五頁,編輯于2023年,星期五

操作如下:在窗體上添加一個(gè)標(biāo)簽,將其Caption屬性設(shè)置為“請單擊圖片”,BackStyle屬性設(shè)置為0(透明),程序代碼不變。第三十四頁,共一百零五頁,編輯于2023年,星期五3.4文本框文本框(TextBox)在窗體中為用戶提供一個(gè)既能顯示文本又能編輯文本的區(qū)域第三十五頁,共一百零五頁,編輯于2023年,星期五

3.4.1屬性(1)Text屬性

設(shè)置文本框中顯示的內(nèi)容。它是文本框最主要的屬性。(2)Locked屬性設(shè)置文本框中的內(nèi)容是否可編輯。默認(rèn)值為False,表示可編輯,當(dāng)設(shè)置為True時(shí),不可編輯,此時(shí)文本框的作用相當(dāng)于標(biāo)簽。第三十六頁,共一百零五頁,編輯于2023年,星期五

(3)Maxlength屬性

設(shè)置文本框中允許輸入的最大字符數(shù)。如果輸入的字符數(shù)超過Maxlength設(shè)定的數(shù)目后,系統(tǒng)將不接受超出部分的字符,并發(fā)出嘟嘟聲。該屬性默認(rèn)值為0,表示無限制。(4)MultiLine屬性

決定文本框是否允許接收多行文本。若設(shè)置為True,文本框可接收多行文本,當(dāng)輸入的文本超出文本框的邊界時(shí),會(huì)自動(dòng)換行。默認(rèn)值為False,文本框中只能輸入一行文本。第三十七頁,共一百零五頁,編輯于2023年,星期五

(5)PassWordChar屬性

當(dāng)MultiLine為False時(shí),該屬性可設(shè)置顯示在文本框中的替代符。例如,PassWordChar設(shè)置為“*”,那么無論用戶輸入什么字符,文本框中顯示的只是“*”,但文本框接收的還是用戶實(shí)際輸入的字符。設(shè)置該屬性主要用于輸入口令。(6)ScrollBars屬性

決定文本框中是否有滾動(dòng)條。只有當(dāng)MultiLine屬性為True時(shí),文本框才能加滾動(dòng)條。第三十八頁,共一百零五頁,編輯于2023年,星期五

3.4.2事件文本框除支持Click,DbClick事件,常用的還有Change,LostFocus事件。1.Change事件當(dāng)用戶輸入新內(nèi)容,或程序?qū)ξ谋究虻腡ext屬性重新賦值,從而改變文本框的Text屬性時(shí)觸發(fā)該事件。第三十九頁,共一百零五頁,編輯于2023年,星期五

2.LostFocus事件當(dāng)用戶按下<Tab>鍵時(shí)光標(biāo)離開文本框,或用鼠標(biāo)選擇其他對象時(shí)觸發(fā)該事件,稱為“失去焦點(diǎn)”事件。焦點(diǎn)是對象接收用戶鼠標(biāo)或鍵盤輸入的能力。當(dāng)對象具有焦點(diǎn)時(shí),可接收用戶的輸入。通常用該事件過程對文本框中的內(nèi)容進(jìn)行檢查和確認(rèn)。第四十頁,共一百零五頁,編輯于2023年,星期五

3.4.3方法文本框最常用的方法是SetFocus,使用該方法可把光標(biāo)移到指定的文本框中,使之獲得焦點(diǎn)。當(dāng)使用多個(gè)文本框時(shí),用該方法可把光標(biāo)移到所需要的的文本框中。其使用格式為:對象.SetFocus

第四十一頁,共一百零五頁,編輯于2023年,星期五

【例3.3】程序運(yùn)行后,隨著用戶的輸入,標(biāo)簽中同步顯示出用戶對文本框的內(nèi)容更新的次數(shù)。運(yùn)行效果如圖3-4所示。第四十二頁,共一百零五頁,編輯于2023年,星期五

圖3-4例3.3運(yùn)行效果第四十三頁,共一百零五頁,編輯于2023年,星期五

(1)界面設(shè)計(jì)在窗體上建立一個(gè)文本框、一個(gè)標(biāo)簽。設(shè)置各對象的屬性,如表3-2所示。對象屬性設(shè)置Form1Caption文本框應(yīng)用示例Text1text空MultiLineTrueLabel1Caption空BorderStyle1Alignment2Font字體大小取二號(hào)表3-2例3.3對象屬性設(shè)置第四十四頁,共一百零五頁,編輯于2023年,星期五

(2)編寫事件過程如下:PrivateSubText1_Change()Statici%i=i+1Label1.Caption=iEndSub第四十五頁,共一百零五頁,編輯于2023年,星期五3.5賦值語句賦值語句是VB程序最常用、最基本的語句,它能為變量提供數(shù)據(jù)。另外,若要在程序代碼中設(shè)置對象的屬性,也是使用賦值語句。第四十六頁,共一百零五頁,編輯于2023年,星期五

賦值語句有兩種格式:格式1:變量名=表達(dá)式格式2:[對象名.]屬性名=表達(dá)式賦值語句的作用是:首先計(jì)算“=”右邊表達(dá)式的值,然后將該值賦給“=”左邊的變量或?qū)ο蟮膶傩浴T诟袷?中,若對象名省略,則默認(rèn)對象為當(dāng)前窗體。第四十七頁,共一百零五頁,編輯于2023年,星期五

例如:x=2'把2賦給xy=x*3'計(jì)算x*3的值,得6,把6賦給yx=x+1'計(jì)算x+1的值,得3,把3賦給xa$="Hello"'把“Hello”賦給a$Text1.Text="你好!"'把“你好!”賦給Text1的Text屬性第四十八頁,共一百零五頁,編輯于2023年,星期五

這里還要說明一下賦值語句中的類型問題。通常,在使用時(shí)應(yīng)使表達(dá)式值的類型與變量(或?qū)ο蟮膶傩裕╊愋拖嗤?,以避免出現(xiàn)“類型不匹配”的錯(cuò)誤。不過,某些情況下,VB容許“=”兩邊類型不相同。第四十九頁,共一百零五頁,編輯于2023年,星期五

例如:dimx!,y%,z$x=“12.5”‘把數(shù)值形式的字符串賦給數(shù)值變量y=34.24‘把單精度數(shù)賦給整型變量,此時(shí)截去小數(shù)部分z=6‘把整數(shù)賦給實(shí)型變量第五十頁,共一百零五頁,編輯于2023年,星期五

以上三種情況都是賦值相容的。在賦值相容前提下,當(dāng)“=”兩邊類型不相同時(shí),VB自動(dòng)將表達(dá)式值的類型轉(zhuǎn)換成“=”左邊變量(或?qū)ο蟮膶傩裕┑念愋?,這種方式稱為“向左看齊”。上例中,實(shí)際賦給x、y、z的值分別是12.5、34、6.0。第五十一頁,共一百零五頁,編輯于2023年,星期五

【例3.4】已知三角形三邊a,b,c,的長,求三角形的面積,輸出三條邊長及面積。第五十二頁,共一百零五頁,編輯于2023年,星期五

分析:應(yīng)用程序的界面應(yīng)該能讓用戶輸入三邊的長,程序在接收用戶輸入的數(shù)據(jù)后,利用數(shù)學(xué)公式對數(shù)據(jù)進(jìn)行計(jì)算,并把結(jié)果輸出到屏幕上。已知三角形三邊a,b,c,的長,求三角形的面積的公式為:

其中p=(a+b+c)/2。第五十三頁,共一百零五頁,編輯于2023年,星期五

(1)界面設(shè)計(jì)在窗體上建立五個(gè)標(biāo)簽、三個(gè)文本框和一個(gè)命令按鈕。設(shè)置各對象的屬性,如表3-3所示。第五十四頁,共一百零五頁,編輯于2023年,星期五

對象屬性設(shè)置Form1caption計(jì)算三角形面積Label1caption請輸入三邊Label2captionaLabel3captionbLabel4captioncLabel5caption空Text1text空Text2text空Text3text空Command1caption計(jì)算表3-3例3.4對象屬性設(shè)置設(shè)計(jì)完成的界面如圖3-5所示第五十五頁,共一百零五頁,編輯于2023年,星期五

圖3-5例3.4界面第五十六頁,共一百零五頁,編輯于2023年,星期五

(2)編寫事件過程如下:PrivateSubCommand1_Click()Dima!,b!,c!,p!,s!a=Text1.Textb=Text2.Textc=Text3.Textp=(a+b+c)/2s=Sqr(p*(p-a)*(p-b)*(p-c))Label5.Caption=sEndSub第五十七頁,共一百零五頁,編輯于2023年,星期五3.6Print方法

Print是輸出數(shù)據(jù)的一種重要方法。3.6.1Print的格式及功能格式:[對象名.]Print[表達(dá)式列表]。功能:在對象上輸出表達(dá)式的值。(1)對象名:可以是Form(窗體)、Debug(立即窗口)、Picture(圖片框)、Printer(打印機(jī))。省略此項(xiàng),表示在當(dāng)前窗體上輸出。第五十八頁,共一百零五頁,編輯于2023年,星期五

例如:Print"23*2=";23*2'在當(dāng)前窗體上輸出23*2=46Picture1.Print"Good"'在圖片框Picture1上輸出GoodPrinter.Print"Morning"'在打印機(jī)上輸出Morning第五十九頁,共一百零五頁,編輯于2023年,星期五

(2)表達(dá)式列表:是一個(gè)或多個(gè)表達(dá)式,若為多個(gè)表達(dá)式,則各表達(dá)式之間“,”或“;”隔開。省略此項(xiàng),則輸出一空行。(3)用“,”分隔各表達(dá)式時(shí),各項(xiàng)在以14個(gè)字符位置為單位劃分出的區(qū)段中輸出,每個(gè)區(qū)段輸出一項(xiàng);用“;”分隔各表達(dá)式時(shí),各項(xiàng)按緊湊格式輸出。第六十頁,共一百零五頁,編輯于2023年,星期五

(4)如果在語句行末尾有“;”,則下一個(gè)Print輸出的內(nèi)容,將緊跟在當(dāng)前Print輸出內(nèi)容后面;如果在語句行末尾有“,”,則下一個(gè)Print輸出的內(nèi)容,將在當(dāng)前Print輸出內(nèi)容的下一區(qū)段輸出;如果在語句行末尾無分隔符,則輸出完本語句內(nèi)容后換行,即在新的一行輸出下一個(gè)Print的內(nèi)容。第六十一頁,共一百零五頁,編輯于2023年,星期五

例如:Print1;2;3Print4,5,Print6Print7,8PrintPrint9,10輸出結(jié)果為:12345678910第六十二頁,共一百零五頁,編輯于2023年,星期五

(4)定位輸出

Print方法中,可以使用Tab函數(shù)對輸出項(xiàng)進(jìn)行定位。例如:PrintTab(10);"姓名";Tab(25);"年齡"則“姓名”和“年齡”分別從當(dāng)前行的第10列和第25列開始輸出。第六十三頁,共一百零五頁,編輯于2023年,星期五

輸出結(jié)果如下:姓名年齡在使用Tab函數(shù)時(shí),要將輸出的內(nèi)容放在Tab函數(shù)的后面,并用“;”隔開。第六十四頁,共一百零五頁,編輯于2023年,星期五

Tab函數(shù)的格式為Tab(n),其中n為整數(shù)表達(dá)式,用它來指定輸出的起始位置。Print方法中,還可以使用Spc函數(shù),例如:Print"后面有8個(gè)空格";Spc(8);"前面有8個(gè)空格"第六十五頁,共一百零五頁,編輯于2023年,星期五

輸出結(jié)果如下:后面有8個(gè)空格前面有8個(gè)空格

Spc函數(shù)格式為Spc(n),其中n為整數(shù)表達(dá)式,表示在下一個(gè)輸出項(xiàng)之前插入的空格數(shù),Spc函數(shù)與各輸出項(xiàng)之間必須用“;”隔開。第六十六頁,共一百零五頁,編輯于2023年,星期五

3.6.2Cls方法格式:[對象名.]Cls

功能:Cls方法清除Print方法顯示的文本或在圖片框中顯示的圖形,并把輸出位置移到對象的左上角。格式中的對象可以是窗體或圖片框,如果省略對象名,則清除當(dāng)前窗體的顯示內(nèi)容。第六十七頁,共一百零五頁,編輯于2023年,星期五3.7輸入框我們知道,文本框可以接收用戶的輸入。輸入框也可以接受用戶的輸入,但是其風(fēng)格和用法有別于文本框。VB提供的InputBox函數(shù)可生成輸入框。例如:p$=InputBox("請輸入密碼","密碼框")執(zhí)行該語句后,屏幕上顯示如圖3-6所示的輸入框。第六十八頁,共一百零五頁,編輯于2023年,星期五

標(biāo)題文本區(qū)提示圖3-6輸入框第六十九頁,共一百零五頁,編輯于2023年,星期五

用戶可在文本區(qū)輸入數(shù)據(jù),然后按“確定”按鈕,函數(shù)返回值是用戶在文本區(qū)輸入數(shù)據(jù),其類型為字符型。如果用戶然后按“取消”按鈕,則函數(shù)返回值是空字符串。第七十頁,共一百零五頁,編輯于2023年,星期五

每執(zhí)行一次InputBox函數(shù),用戶只能輸入一個(gè)數(shù)據(jù),另外,輸入框的樣式是固定的,用戶不能改變。用戶能改變的是輸入框的“提示”和“標(biāo)題”的內(nèi)容,“提示”和“標(biāo)題”都是字符串表達(dá)式。第七十一頁,共一百零五頁,編輯于2023年,星期五

InputBox函數(shù)的一般格式:

InputBox(提示[,標(biāo)題][,缺省值][,x坐標(biāo)位置][,y坐標(biāo)位置])其中各參數(shù)的含義如下:“提示”:必選項(xiàng)。字符串表達(dá)式,在對話框中作為提示信息。若要在多行顯示提示信息,則可以在各行之間用vbNewLine來分隔,vbNewLine是代表換行的常量。第七十二頁,共一百零五頁,編輯于2023年,星期五

例如:InputBox("第一行"&vbNewLine&"第二行")“標(biāo)題”:字符串表達(dá)式,在對話框中標(biāo)題區(qū)顯示,若省略,則標(biāo)題為應(yīng)用程序名。第七十三頁,共一百零五頁,編輯于2023年,星期五

“缺省值”:字符串表達(dá)式,在沒有其它輸入時(shí)作為缺省值。“x坐標(biāo)位置”、“y坐標(biāo)位置”:整數(shù)表達(dá)式。坐標(biāo)確定對話框左上角在屏幕上的位置,屏幕左上角為坐標(biāo)原點(diǎn),單位為Twip。1Twip==1/567厘米。第七十四頁,共一百零五頁,編輯于2023年,星期五

需要注意的是:各項(xiàng)參數(shù)次序必須一一對應(yīng),除了“提示”不能省略外,其余各項(xiàng)均可省略,但省略部分也要用逗號(hào)占位符跳過。第七十五頁,共一百零五頁,編輯于2023年,星期五

例如:f$=InputBox("第一行"&vbNewLine&"第二行",,"ddd",200,200)【例3.5】已知圓半徑,求圓周長和圓面積。第七十六頁,共一百零五頁,編輯于2023年,星期五

對象屬性設(shè)置Form1Caption求圓周長和圓面積Text1text空Text2text空Label1Caption圓周長Label2Caption圓面積Command1Caption輸入半徑Command2Caption結(jié)束表3-4例3.5對象屬性設(shè)置第七十七頁,共一百零五頁,編輯于2023年,星期五

設(shè)計(jì)完成的界面如圖3-7所示。第七十八頁,共一百零五頁,編輯于2023年,星期五

圖3-7例3.5界面第七十九頁,共一百零五頁,編輯于2023年,星期五

(2)編寫事件過程如下:

PrivateSubCommand1_Click()Dimr!,c!,a!r=InputBox("請輸入半徑","輸入框")c=2*r*3.14159a=3.14159*r^2Text1.Text=cText2.Text=aEndSub第八十頁,共一百零五頁,編輯于2023年,星期五

PrivateSubCommand2_Click()EndEndSub第八十一頁,共一百零五頁,編輯于2023年,星期五3.8消息框執(zhí)行VB提供的MsgBox函數(shù),可以在屏幕上出現(xiàn)一個(gè)消息框,消息框通知用戶消息并等待用戶來選擇消息框中的按鈕,MsgBox函數(shù)返回一個(gè)與用戶所選按鈕相對應(yīng)的整數(shù)。第八十二頁,共一百零五頁,編輯于2023年,星期五

MsgBox函數(shù)的格式:

MsgBox(提示,[,按鈕數(shù)值][,標(biāo)題])例如:inta=MsgBox(“密碼錯(cuò)”,21,“密碼核對”)

執(zhí)行該語句后,屏幕上顯示如圖3-10所示的消息框。第八十三頁,共一百零五頁,編輯于2023年,星期五

圖3-10消息框示例第八十四頁,共一百零五頁,編輯于2023年,星期五

在MsgBox函數(shù)格式中,“提示”和“標(biāo)題”的含義同InputBox函數(shù)。“按鈕數(shù)值”是三個(gè)數(shù)值之和,這三個(gè)數(shù)值分別代表鈕的數(shù)目及類型,使用的圖標(biāo)樣式,及缺省按鈕是什么。教材中表3-5,表3-6,表3-7,分別列出這三個(gè)數(shù)值的含義。第八十五頁,共一百零五頁,編輯于2023年,星期五

本例“按鈕數(shù)值”21,是從上面三個(gè)表中各取一個(gè)數(shù)相加而得。注意:每個(gè)表只能取一個(gè)數(shù)。系統(tǒng)會(huì)自動(dòng)把它分解成分別屬于上面三個(gè)表中的三個(gè)值5,16,0。這種分解是唯一的。其含義是:消息框中有“×”圖標(biāo),有“重試”及“取消”兩個(gè)按鈕,缺省按鈕是“重試”按鈕。第八十六頁,共一百零五頁,編輯于2023年,星期五

當(dāng)用戶單擊消息框中的一個(gè)按鈕后,消息框即從屏幕上消失。在上面的語句中,將函數(shù)的返回值賦給了變量inta,在程序中可引用inta作相應(yīng)的處理。第八十七頁,共一百零五頁,編輯于2023年,星期五

MsgBox函數(shù)的返回值是根據(jù)用戶單擊哪個(gè)按鈕而定的,見表3-8。通常,在程序中要根據(jù)MsgBox函數(shù)返回值的不同作不同的處理,這需要用到第四章中介紹的選擇結(jié)構(gòu)方面的知識(shí)。第八十八頁,共一百零五頁,編輯于2023年,星期五

MsgBox也可以寫成語句形式,例如:MsgBox"密碼錯(cuò)",,"密碼核對

執(zhí)行此語句也產(chǎn)生一個(gè)消息框,如圖3-11所示。第八十九頁,共一百零五頁,編輯于2023年,星期五

圖3-11密碼核對消息MsgBox語句沒有返回值,因此常用于比較簡單的信息提示。第九十頁,共一百零五頁,編輯于2023年,星期五3.9注釋語句、結(jié)束語句

3.9.1注釋語句為了提高程序的可讀性,通常在程序的適當(dāng)位置加上必要的注釋。在VB中用“’”或Rem來標(biāo)識(shí)一條注釋語句,格式為:第九十一頁,共一百零五頁,編輯于2023年,星期五

’|Rem<注釋內(nèi)容>

例如:

Rem2006年編寫PrivateSubForm_click()Dima$’定義一個(gè)字符串變量

a="VisualBasic6.0中文版"’為變量賦值

printa’打印a的內(nèi)容EndSub第九十二頁,共一百零五頁,編輯于2023年,星期五

3.9.2結(jié)束語句格式:EndEnd語句用來結(jié)束程序的執(zhí)行,并關(guān)閉已打開的文件。例如:

PrivateSubCommand3_Click()EndEndSub第九十三頁,共一百零五頁,編輯于2023年,星期五3.10程序調(diào)試在程序中發(fā)現(xiàn)錯(cuò)誤并排除錯(cuò)誤的過程叫做程序調(diào)試。VB提供了豐富的調(diào)試手段,可以方便的跟蹤程序的運(yùn)行,排除程序錯(cuò)誤。第九十四頁,共一百零五頁,編輯于2023年,星期五

3.10.1程序錯(cuò)誤

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論