賦值與輸入輸出_第1頁
賦值與輸入輸出_第2頁
賦值與輸入輸出_第3頁
賦值與輸入輸出_第4頁
賦值與輸入輸出_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章賦值與輸入輸出

一個完整的VB應(yīng)用程序,一般都包含三部分內(nèi)容,即

輸入f處理f輸出

可通過VB語句、各種控件實現(xiàn)輸入輸出操作

本章主要內(nèi)袞

窗體和基本控件

命令按鈕/標簽/文本框

對話框¥

輸入對話框/消息對話框1w

3.1賦值語句

賦值語句是程序設(shè)計中最基本、最常用的語句

格式:[Let]變量名二表達式?

功能:計算右端的表達式,并把結(jié)果賦值給左端的變量

例3.1已知a=6,b=9,計算c=Ja2+b2

編寫的窗體單擊事件過程代碼如下:

PrivateSubForm_Click()

DimaAsSingle,bAsSingle,cAsSingle

a=6

b=9

c=Sqr(a*a+b*b)

Printnc=n&c

EndSub

C=10.81665

本事件過程采用的是順序程序結(jié)構(gòu),運行的過程是

聲明3個單精度變量a,b,c

6-a

9-b

計算表達式,其結(jié)果10.81665-c

輸出結(jié)果

賦值含義:將值送到變量的存儲單元中去

¥★

說明:

(1)表達式中的變量必須是賦過值的,否則變量的

初值自動取零值(變長字符串變量取空字符)。例如:

a=1

c=a+b+3'b未賦過值,為

執(zhí)行后,c值為4

⑵利用賦值語句,可以改變變量的值,因此,同

例3.2示例

PrivateSubForm_Click()

a=3:Print"*A="&a

a=7:Print***A="&a

a=a*2+3:Print”***A="&a

EndSub

運行程序后單擊窗體,輸出的結(jié)果如下:

**A=7^H

***A=17

(3)賦值語句跟數(shù)學中等式具有不同的含意,例如賦值語

句x=x+l,表示把變量x的當前值加上1后再將結(jié)果賦給變量

“先讀后寫”:讀出X的內(nèi)容一力口1一寫回X(覆蓋原有內(nèi)容)

年的元旦是星期幾

⑴分析:計算某年y的元旦是星期幾,可由以下式子得出:

F=y-l+[(y-1)/4]-[(y-1)/100]+[(y-l)/400]+1

其中[]表示求整?

K=FMod7F除以

y為某年公元年號,計算出K為星期幾

⑵創(chuàng)建應(yīng)用程序的用戶界面

―一萬年房

輸入年份)2005

星期F

⑶設(shè)置對象屬性

(4)編寫程序代碼

功能要求:用戶在“輸入年份”文本框(Text1)中輸入某

一年份,單擊“查看”按鈕時,則在“星期”文本框(Text2)

中顯示出星期幾

*

編寫的“查看”按鈕(Commandl)Click事件過程代

碼如下:

PrivateSubCommandl_Click()

DimyAsInteger,fAsInteger,kAsIntege

y=Val(Textl.Text)-1

f=y+Int(y/4)一Int(y/100)+Int(y/400)+1

k=fMod7,等價于嗎?

Textl.Text=k

EndSub

運行結(jié)果(見上圖)*

3.2常用基本語句

3.2.1注釋語句Rem

在程序的適應(yīng)位置加上必要的注釋,可以提高程序的可讀性

語法格式:Rem

Rem交換變量a和b的值

a=b

b=c

用關(guān)鍵字Rem,在Rem和注釋內(nèi)容之間要

(2)在其他語句后使用Rem關(guān)鍵字,必須使用冒號④與前面

的語句隔開。注釋符(單引號')可以直接寫在其他語旬后面。

3.2.2加載對象語句Load

語法格式:Load對象名

功能:把對象名代表的窗體對象、控件數(shù)組元素等

說明:使用Load語句可以加載窗體,但不顯示窗體。當VB

加載窗體對象時,先把窗體屬性設(shè)置為初始值,再執(zhí)行Load事

LoadForml'加載窗體

LoadOption(2)'加載控件數(shù)組中的一個元素

如果卸載的對象是程序惟一的窗體,則將終止程

序的執(zhí)行

例如

PrivateSubCommandl_Click()^^|

UnloadMe/卸載當前窗體■

EndSub

Me是系統(tǒng)關(guān)鍵字,用來代表當前窗體

3.2.4結(jié)束語句End

格式:End^^l

也可以單擊工具欄上的“結(jié)束”按鈕

3.2.5暫停語句Stop-

格式:Stop

功能:暫停程序的運行??捎糜谡{(diào)試程序(設(shè)置斷點)

也可以通過單擊工具欄上的“中斷”按鈕來實現(xiàn)

使用Ctrl+Break組合鍵

3.3使用Print方法輸出數(shù)據(jù)

3.3.1Print方法■

用于顯示(輸出

格式:[對象名.]Print[表達式列表]

說明:(1)使用的對象可以是窗體等

Print''程序設(shè)計"'在當前窗體上輸出

Picturel.Print''程序設(shè)計”,在圖片框上輸出

(2)表達式列表是一個或多個表達式,如果省略,則輸出

一個空行

(3)當輸出多個表達式時,各表達式之間用分號“;”(緊

湊格式)或逗號”(按區(qū)格式)隔開。

個字符位置)

例:PrivateSubForm_Click()

a=2

b=nVBn

Print50*a'計算并輸出表達式的值

Printb,輸出變量的值

Print,輸出空行

Print"TheTotalis”,輸出字符串常量

EndSub

輸出數(shù)值數(shù)據(jù)時,前面有一個符號位(正號以空格表示),

后面留有一個空格;輸出字符串時,前后不留空格。

例:PrivateSubForm_Click()

a=3:b=4

Printa,b,4+a,

Print2*b

Printa,,b

Printna=n;a,nb=n;b

EndSub

Forml-inix

運行結(jié)果

3478

34

a二3b二4

(4)若語句行末尾有分號或逗號,則輸出本行輸出項后不換行

例3.4使用Print方法輸出全班學生的平均年齡

已知18歲6人,19歲21人,20歲23人,21歲15人

編寫的窗體單擊事件過程代碼如下:

PrivateSubForm_Click()

DimaAsInteger,bAsInteger,cAsInteger

DimdAsInteger,sAsInteger,mAsSingle

a=6:b=21:c=23:d=15

s=a+b+c+d

m=(a*18+b*19+c*20+d*21)/s

,以下舍入到小數(shù)后1位

Print”平均年齡:n;Int(m*10+0.5)/10

EndSub:

平均年齡:19.7-年

3.3.2特殊打印格式

格式:Spc(n)^?

功能:在輸出下一項之前插入n個空格。

Print”學號、Spc(2);“姓名”;Spc(5);“成績”

輸出結(jié)果(L」表示空格

學號LJLJ姓名L_JL_JLJL_II__I

2.Tab函數(shù)

函數(shù)格式:Tab(n)^?

功能:把輸出位置移到第

例如:

PrintTab⑵;''學號";Tab(ll)『姓名";Tab(21);“成績

輸出結(jié)果是(1個漢字占2個位置):

LJ學號LJLJLJ1_11_1姓名1_11_11_11_11_11_1成績

例3.5使用Tab對輸出進行定位

序代碼如下:

PrivateSubForm_Click()

Print

PrintTab(15);“學號”;Tab(26);“姓名";Tab(36);“成績”

PrintTab(14);String(27,,輸出27個減號字符

PrintTab(14);“20011001";Tab(26);“張小三”;Tab(36);57

PrintTab(14);“20011003”;Tab(26);”李小四Tab(36);69

PrintTab(14);“20011012”;Tab(26);“馬小五”;Tab(36);92

PrintTab(14);String(27,“」'),輸出27個減號字符

EndSub¥

?Foral□0

斐_名

張4\

19011001李

\57

/I?

19011003/S五69

19011012b92

—I

3.Format函數(shù)

格式:Format(表達式[,格式串])^?

功能:根據(jù)格式串規(guī)定的格式來輸出表達式的值

■a=4513.7:b=3456.78:TimeVar=#08:30:05#

PrintFormat(a,n##,###.##

PrintFormat(a,n$##,###.00n)|^l

PrintFormat(bJ'+##,####')^H

PrintFormat(TimeVar,nh:m:sn)^^|

輸出結(jié)果是:

4,513.7

$4,513.70

+3,456.8^1

8:30:5

格式符號#和0都能顯示數(shù)字,但符號#會剔除不必要的0,

符號0會按規(guī)定補足0

3.4窗體

窗體(Form)是設(shè)計VB應(yīng)用程序的基本平臺

窗體本身是一個對象,又是其他對象的載體或容器

多數(shù)應(yīng)用程序是從窗體開始執(zhí)行的;一個程序可以有多個窗體

3.4.1窗體的基本屬性

■設(shè)置窗體的屬性,可在程序設(shè)計時在屬性窗口中

手工設(shè)置,也可以在程序運行時由代碼實現(xiàn)

默認屬性

一些常用的窗體屬性:

?Name屬性:用于設(shè)置窗體的名稱。指定窗體的名稱。只讀,

不能在應(yīng)用程序中修改

?Caption屬性:用于設(shè)置窗體標題欄上的標題內(nèi)容。

?Maxbutton和Minbutton屬性:用于設(shè)置最大化和最小化按鈕

?Height和Width屬性:確定窗體的初始高度和寬度

?Left和Top屬性:確定窗體的左上角在屏幕上的橫、縱坐標

?Appearance屬性:用于設(shè)置窗體的外觀是平面還是三維的

,BackColor和ForeColor屬性:設(shè)置窗體的背景色和前景色

?Picture屬性:用于在窗體上設(shè)置要顯示的圖形。

[對象.]Picture二LoadPicture(‘‘文件名'')

?Visible(可見性):設(shè)置對象的可見性,默認值為True

窗體坐標系統(tǒng)

3.4.2窗體的事件

窗體作為對象,能夠?qū)κ录鞒鲰憫?yīng)。與窗體有關(guān)的常用

窗體事件過程的一般格式為:

PrivateSubForm—事件名([參數(shù)表

EndSub

不管窗體名字如何定義,但在事件過程中只能使用Form,

而在過程內(nèi)對窗體進行引用時才會用到窗體名字(如Forml等)

與窗體有關(guān)的常用事件有以下幾種。

(l)Load(裝載)事件

(2)Unload(卸載)事件

(3)Activate(活動)>Deactivate(非活動)事件

(4)Paint(繪畫)事件

(5)Click(單擊)事件

(6)DblClick(雙擊)事件

(7)KeyPress(按鍵)事件:當按下鍵盤上的某個健時,將觸發(fā)

PrivateSub對象_KeyPress(KeyAsciiAsInteger)^^|

EndSub

參數(shù)KeyAscii返回所按鍵的ASCII碼

343窗體的方法

(1)Show方法:用于快速顯示一個窗體,使該窗體

變成活動窗體

(2)Print方法:用于在窗體上輸出表達式的值

(3)Cls方法:用于清除運行時在窗體中顯示的文本

或圖形

(4)Move(移動)方法:用于移動并改變窗體或控件的

位置和大小

3.4.4焦點與Tab鍵序

1.焦點

焦點(Focus)是對象接收鼠標或鍵盤輸入的能力。

當對象得到或失去焦點時,分別會產(chǎn)生GotFocus或LostFocus

(3)按Tab鍵或Shift+Tab鍵在當前窗體的各對象之間切換焦點

^M4)在代碼中用SetFocus

Textl.SetFocus,把焦點設(shè)置在文本框Textl

2.Tab鍵序

Tab鍵序是指用戶按Tab鍵時,焦點在控件間移動的順序

反映在控件的Tabindex屬性

例3.6顯示唐詩“靜夜思”

設(shè)置以下3個命令按鈕:

“顯示”按鈕:用于顯示唐詩“靜夜思”

清除”

結(jié)束”

(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象的屬性

Forml

靜夜思(唐詩)

床前明月光.疑是地上霜

舉失望明月,低頭思故鄉(xiāng)

|r:a^::j|清除結(jié)束

⑵編寫程序代碼。編寫的三個按鈕的Click事件過程代碼如下:

PrivateSubCommandl_Click()

BackColor=RGB(255,255,255)

ForeColor=RGB(0,0,255)

FontName="楷體_GB2312”

FontSize=20

CurrentX=1200

CurrentY=350

Print”靜夜思(唐詩),

FontName="幼圓”

Print

FontSize=13

PrintSpc(6);“床前明月光,疑是地上霜”

Print

PrintSpc(6);“舉頭望明月,低頭思故鄉(xiāng)”

EndSub

PrivateSubCommand2_Click()

Cis

EndSub

PrivateSubCommand3_Click()

End

EndSub

程序運行后,單擊“顯示”按鈕,輸出結(jié)果

3.5基本控件

需要在窗體中放置各種控件,才能實現(xiàn)用戶與應(yīng)用程序

之間的信息交互

三種基本控件——命令按鈕、標簽和文本框

351控件的公共屬性

⑴Name屬性:控件的Name屬性(名稱)必須以字母開

頭,其后可以是字母、數(shù)字和下劃線,名稱長度不能超過40

個字符

(2)Caption屬性:任意的字符串。以通過程序代碼改變其

值,例如:

Commandl.Caption="結(jié)束”

可以在Caption屬性中為控件指定一個訪問鍵。例如,將命令按鈕的

Caption屬性設(shè)置為“結(jié)束(&E)”,則運行時該控件外觀如圖3.7所示,只

要用戶同時按下Alt鍵和E鍵,就能執(zhí)行該按鈕命令。

(3)Enabled屬性:該屬性決定控件是否對用尸產(chǎn)生的事件

作出響應(yīng)

(4)Visible屬性

該屬性決定控件是否可見,默認值為True。

(5)Height>Width、Top和Left屬性:Height和Width屬性

確定控件的高度和寬度,Top和Leif屬性確定控件在窗體中

的位置

備Foml匚恒囚.』

(0,0)

Top

LeftHeight

Width

(6)BackColor和ForeColor屬性

(7)FontName>FontSize>FontBold>

Fontltalic>FontStrikethru^DFontUnderlineJB

(8)Font屬性:確定控件中顯示的文本所用字體

的樣式、大小、字體效果等

*

352命令按鈕

用于接收用戶的操作信息,并引發(fā)應(yīng)用程序的某個操作

1.常用屬性?________

(l)Default屬性和Cancel^^^^H

Default屬性和Cancel屬性分別用于設(shè)置“默認按鈕”和

“取消按鈕”

(2)Style屬性

設(shè)置命令按鈕的外觀

2.常用事件和方法■

命令按鈕最常用的事件是Click(單擊)事件,但不支持

DblClick(雙擊)事件。

命令按鈕常用的方法是SetFocus^^^M

353標簽

標簽(Label)主要用來顯示比較固定的提示性信息。

1.常用屬性?

⑴Alignment屬性

設(shè)置標簽中文本的對齊方式

(2)八^utoSize

確定標簽的大小是否根據(jù)標簽的內(nèi)容自動調(diào)整大小

(3)BorderStyleJM性

設(shè)置標簽的邊框外觀

2.常用事件和方法■

標簽最常用的事件是Click(單擊)事件和

DblClick(雙擊)事件。

標簽常用的方法是SetFocus方法。?

354文本框

文本框(TextBox)是一個文本編輯區(qū)域,用戶可以在該區(qū)

域中輸入、編輯和顯示文本內(nèi)容。

默認情況下,文本框只能輸入單行文本,并且最多可以

輸入2048個字符

1.常用屬性

文本框具有一般控件的常用屬性,但文本框沒有

Caption屬性

(1)Maxlength屬性:確定文本框中文本的最大長度

(2)Multiline屬性:指定文本框中是否允許顯示和輸入多

行文本

(3)PasswordChar屬性:確定在文本框中是否顯示用戶輸

入的字符,常用于密碼輸入

(4)ScrollBars屬性:指定在文本框中是否出現(xiàn)滾動條

(5)SelStart屬性、Sellength屬性和SelTextH^H

設(shè)置或返回文本框中所包含的文本內(nèi)容。

⑺Locked屬性

2.常用事件和方法

文本框支持Click、DblClick等鼠標事件,同時支持

Change>GotFocus>LostFocus等事件

文本框常用方法有SetFocus方法和Move方法

例3.7輸入一個總秒數(shù))化成小時、分鐘和秒數(shù)

如輸入4852秒,則應(yīng)輸出1小時20分52秒

(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性

(2)編寫程序代碼

PrivateSubCommandl_Click()

DimhAsInteger,mAsInteger,sAsInteger,tAsInteger

t=Val(Textl.Text)

h=t\3600

t=t-h*3600

m=t\60

s=t-m*60

Textl.Text=hPrivateSubCommand2_Click()

Text3.Text=mEnd

Text4.Text=sEndSub

EndSub

?i.FormlX

3.6使用對話框

對話框既可以用來顯示信息,也可以用于輸入信息

VB中能夠建立兩種預制對話框:輸入框和消息框

使用系統(tǒng)提供的函數(shù)(InputBox和MsgBox),而不必為

對話框另建窗體

先看以下一個例子

例3.7a通過輸入框輸入姓名,然后再消息框中顯示出來

■PrivateSubForm_Load()

x=InputBox「輸入您的姓名一,您叫什么名”)

MsgBox(x&"先生:祝您馬到功成!”)

EndSub

3.6.1輸入對話框

用于產(chǎn)生一個能接收用戶輸入的對話框

格式:

變量二InputBox(提示[,標題][,缺省值]Lxpos][,ypos])

舉例

fnename$=InputBox(“請輸入文件名(不超過8個字符產(chǎn),”文件

名“,”vb行

行l(wèi)ename$=InputBoxC'請輸入文件名”+Chr(13)+

”(不超過8個字符)「,文件名”,"EUe")

文件名

話輸入文件名確定|

壞超過8個字符)

取消

2s

3.6.2消息對話框

使用MsgBox函數(shù),可以產(chǎn)生一個對話框來顯示消息

當用戶單擊某個按鈕后,將返回一個數(shù)值以標明用戶單擊

了哪個按鈕

其語法格式是:

變量二MsgBox(提示對話框類型[,對話框標題]])■

例:y=MsgBox。'輸入文件名是否正確”,52,〃請確認”)

'、對話框類型”一般有3個參數(shù),4+48+0

出現(xiàn)按鈕;圖標類型港認按鈕;

函數(shù)返回值(例3_9b)■請確認

£輸入文件名是否正確

I匚二基:jg二二“否?]

消息糖的三種格式

V=MsgBox('、輸入文件名是否正確”,52,〃請確

認”)

MsgBox、'輸入文件名是否正確”,52,〃請確認”

MsgBox(、'輸入文件名是否正確”)

¥**

例3.8從輸入框中輸入圓的半徑,計算圓的周長和面積

⑴創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對象屬性

PrivateSubCommandl_Click()

DimrAsSingle,kAsSingle,sAsSingle

r=Val(InputBox("請輸入圓的半徑”「計算圓的周長和面積

八))

k=2*3.14159*r

s=3.14159*r*r

Text1.Text=k

Text2.Text=s

MsgBox”計算已完成”,J例3?1成

EndSub+

PrivateSubCommand!Click()

EndQfrX

EndSub¥K

當輸入的圓半徑為65時,運行結(jié)果

二回區(qū)

圓周長頤

4067開始

8

結(jié)束計算已完成

圓面積[13273.22

確定

3.7程序舉例

例3.9編寫程序,實現(xiàn)兩個文本框內(nèi)容的交換

使用一個臨時單元變量(t)

(1)在窗體上建立兩個標簽、兩個文本框和一個命令按鈕

(2)編寫程序代碼

PrivateSubCommand1_Click()'“交換”按鈕

t=Textl.Text

Textl.Text=Text2.Text

Text2.Text=t多

EndSub

例3.10控制窗體“變大”和“變小”

在窗體上設(shè)置三個命令按鈕(圖3.15),程序進入運行狀態(tài)

后,當單擊“窗體變大”命令按鈕時,窗體變大,單擊

“窗體變小”按鈕時,窗體變小。單擊“退出”按鈕時,

則退出。

-Forml

⑴建立應(yīng)用程序的用戶界面和設(shè)置對象屬性

⑵編寫程序代碼

PrivateSubForm_Load()

Forml.Height=4000

Forml.Width=4000

Forml.Top=1000

Forml.Left=1000

EndSub

PrivateSubCommandl_Click()'“窗體變大”按鈕

Forml.Height=Forml.Height+200,每次增加200點

Forml.Width=Forml.Width+200

EndSub

PrivateSubCommand2_Click()'“窗體變小”按鈕

Forml.Height=F

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論