




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 程序設(shè)計(jì)語言與程序設(shè)計(jì)程序設(shè)計(jì)語言與程序設(shè)計(jì)1.1 Visual Basic Visual Basic簡(jiǎn)介簡(jiǎn)介1.2Visual BasicVisual Basic集成開發(fā)環(huán)境集成開發(fā)環(huán)境1.3 設(shè)計(jì)設(shè)計(jì)VBVB應(yīng)用程序一般步驟應(yīng)用程序一般步驟1.5通過一個(gè)簡(jiǎn)單的應(yīng)用程序快速入門通過一個(gè)簡(jiǎn)單的應(yīng)用程序快速入門1.4對(duì)象、事件與事件過程對(duì)象、事件與事件過程1.6 Visual Basic(簡(jiǎn)稱VB)是一種功能強(qiáng)大的新一代高級(jí)程序設(shè)計(jì)語言。本章介紹程序設(shè)計(jì)語言的基礎(chǔ)知識(shí);Visual Basic集成開發(fā)環(huán)境;通過一個(gè)簡(jiǎn)單的實(shí)例說明設(shè)計(jì)Visual Basic應(yīng)用程序的步驟;最后闡述面向?qū)ο蟪绦蛟O(shè)
2、計(jì)的一些重要概念。1.1 程序設(shè)計(jì)語言與程序設(shè)計(jì) 人們想用計(jì)算機(jī)解決一個(gè)問題,必須事先設(shè)計(jì)好計(jì)算機(jī)處理信息的步驟,把這些步驟用計(jì)算機(jī)能夠識(shí)別的指令編寫出來并送入計(jì)算機(jī)執(zhí)行,計(jì)算機(jī)才能按照人的意圖完成指定的工作。我們把計(jì)算機(jī)能執(zhí)行的指令序列稱為程序,而編寫程序的過程稱為程序設(shè)計(jì)。 人與計(jì)算機(jī)交流使用的是“程序設(shè)計(jì)語言”。同人類語言一樣,程序設(shè)計(jì)語言也是由字、詞和語法規(guī)則構(gòu)成的一個(gè)系統(tǒng)。從計(jì)算機(jī)執(zhí)行的角度來看,程序設(shè)計(jì)語言通常分為機(jī)器語言、匯編語言、和高級(jí)語言三種。1.2 Visual Basic簡(jiǎn)介 Visual Basic是Microsoft公司于1991年推出的基于窗口的可視化程序設(shè)計(jì)語言。
3、“Visual”是“可視化的 ”、“形象化的”的意思。它提供了一套可視化設(shè)計(jì)工具,大大簡(jiǎn)化了Windows程序界面的設(shè)計(jì)工作;同時(shí)其編程系統(tǒng)采用了面向?qū)ο?、事件?qū)動(dòng)機(jī)制。 應(yīng)用Visual Basic可以方便地完成從小的應(yīng)用程序,到大型的數(shù)據(jù)庫管理系統(tǒng)、多媒體信息處理、功能強(qiáng)大的Internet應(yīng)用程序等各項(xiàng)任務(wù)。 Visual Basic 6.0 有三種版本,可以滿足不同的開發(fā)需要。 學(xué)習(xí)版 專業(yè)版 企業(yè)版 本教程以Visual Basic 6.0企業(yè)版為背景講授。 VB 6.0安裝完成后,“Microsoft Visual Basic 6.0中文版”菜單選項(xiàng)即加入到“開始”菜單的“程序”組
4、中。單擊其中的“Microsoft Visual Basic 6.0中文版”即可啟動(dòng)VB。1.3 Visual Basic集成開發(fā)環(huán)境 VB啟動(dòng)后,首先顯示“新建工程”對(duì)話框,如圖1-1所示。 圖圖1-1 “1-1 “新建工程新建工程”對(duì)話框?qū)υ捒?缺省狀態(tài)下“新建工程”對(duì)話框的選項(xiàng)為“標(biāo)準(zhǔn)EXE”,標(biāo)準(zhǔn)EXE程序是典型的應(yīng)用程序。本書絕大多數(shù)應(yīng)用程序都屬于標(biāo)準(zhǔn)EXE程序。 我們直接單擊“打開”按鈕,創(chuàng)建“標(biāo)準(zhǔn)EXE”類型應(yīng)用程序,進(jìn)入集成開發(fā)環(huán)境主界面,如圖1-2所示。 標(biāo)題欄主菜單工具箱窗體窗口工具欄工程窗口屬性窗口 窗體布局窗口圖圖1-2 Visual Basic 6.01-2 Visu
5、al Basic 6.0集成開發(fā)環(huán)境集成開發(fā)環(huán)境 標(biāo)題欄主菜單工具箱窗體窗口工具欄工程窗口屬性窗口 窗體布局窗口圖1-2 Visual Basic 6.0集成開發(fā)環(huán)境。 在集成開發(fā)環(huán)境中可以進(jìn)行程序設(shè)計(jì)、編輯、編譯和調(diào)試等工作。 下面對(duì)集成開發(fā)環(huán)境中的各元素作簡(jiǎn)要介紹。 1標(biāo)題欄 用來顯示窗口的標(biāo)題。啟動(dòng)VB6.0后,標(biāo)題欄顯示的信息是:“工程1- Microsoft Visual Basic設(shè)計(jì)”,表示現(xiàn)在處于“工程1”的設(shè)計(jì)狀態(tài)。方括號(hào)內(nèi)的信息隨著工作狀態(tài)不同而改變。例如,運(yùn)行一個(gè)工程時(shí),設(shè)計(jì)將變成運(yùn)行。 2主菜單 菜單欄中包含了使用VB6.0所需要的命令。主菜單中共有13個(gè)菜單項(xiàng),每個(gè)菜
6、單項(xiàng)都有一個(gè)下拉菜單,內(nèi)含若干個(gè)菜單命令,單擊某個(gè)菜單項(xiàng),即可打開該菜單,單擊某個(gè)菜單中的某一條,就執(zhí)行相應(yīng)的命令。 3上下文菜單 在對(duì)象上右擊鼠標(biāo)鍵即可打開上下文菜單。在上下文菜單中列出的操作選項(xiàng)清單取決于右擊鼠標(biāo)鍵所在環(huán)境。例如,在“工具箱”上單擊鼠標(biāo)右鍵時(shí)顯示的上下文菜單,如圖1-4所示,可以在上面選擇“部件”,打開部件對(duì)話框;或選擇“隱藏”,把工具箱隱藏起來等等,使用上下文菜單可使操作更快捷。上下文菜單也稱為彈出式菜單或快捷菜單。 圖圖1-4 1-4 工具箱的上下文菜單工具箱的上下文菜單 4工具欄 它以圖標(biāo)按鈕的形式提供了常用的菜單命令。單擊工具欄上的按鈕,則執(zhí)行該按鈕所代表的操作。按
7、照缺省規(guī)定,啟動(dòng) Visual Basic 之后顯示“標(biāo)準(zhǔn)”工具欄。附加的編輯、窗體設(shè)計(jì)和調(diào)試的工具欄可以從“視圖”菜單上的“工具欄”命令中移進(jìn)或移出。 “標(biāo)準(zhǔn)”工具欄各按鈕的作用如圖1-5所示。 添 添 菜 打 保 剪 復(fù) 粘 查 撤 重 啟 中 結(jié) 工 屬 窗 對(duì) 工 數(shù) 控 加 加 單 開 存 切 制 貼 找 銷 復(fù) 動(dòng) 斷 束 程 性 體 象 具 據(jù) 件 標(biāo) 窗 編 工 工 資 窗 布 瀏 箱 庫 管 準(zhǔn) 體 輯 程 程 源 口 局 覽 瀏 理 控 器 管 窗 器 覽 器 件 理 口 窗 器 口圖圖1-5 1-5 標(biāo)準(zhǔn)工具欄標(biāo)準(zhǔn)工具欄 5工具箱 工具箱提供了一組在設(shè)計(jì)時(shí)可以使用的常用工
8、具,這些工具以圖標(biāo)的形式排列在工具箱中,如圖1-6所示。這些工具就像制作機(jī)械零件的模具一樣。利用模具可以做出零件;利用工具箱中工具可以做出控件。 雙擊工具箱中的某個(gè)工具圖標(biāo),或單擊工具圖標(biāo)后按住鼠標(biāo)左鍵在窗體上拖動(dòng),即可在窗體上做出一個(gè)這種控件。設(shè)計(jì)人員在設(shè)計(jì)階段可以利用這些工具在窗體上構(gòu)造出所需要的應(yīng)用程序界面。除了系統(tǒng)提供的這些標(biāo)準(zhǔn)工具外,VB還允許用戶添加新的控件工具。 圖片框文本框命令按鈕單選按鈕列表框垂直滾動(dòng)條驅(qū)動(dòng)器列表框文件列表直線數(shù)據(jù)控件組合框指針標(biāo)簽框架復(fù)選框定時(shí)器水平滾動(dòng)條目錄列表框形狀控件圖像控件OLE容器圖圖1-6 1-6 工具箱工具箱 6窗體窗口 “窗體窗口”也稱為“對(duì)
9、象窗口”,主要用來在窗體上設(shè)計(jì)應(yīng)用程序的界面,用戶可以在窗體上添加控件來創(chuàng)建所希望的界面外觀。例如,當(dāng)新建一個(gè)工程時(shí),VB自動(dòng)建立一個(gè)新窗體,并命名為Form1,如圖1-7所示。 圖圖1-7 1-7 窗體窗口窗體窗口 7工程窗口 首先說明一下“工程”的概念。VB把一個(gè)應(yīng)用程序稱為一個(gè)工程(Project),而一個(gè)工程又是各種類型的文件的集合,這些文件包括工程文件(.vbp)、窗體文件( .frm)、標(biāo)準(zhǔn)模塊文件(.bas)、等文件 。 VB 要求一個(gè)工程至少包含兩個(gè)文件,即工程文件(.vbp) 和窗體文件(.frm)。至于一個(gè)工程要包括多少種文件,由程序設(shè)計(jì)的復(fù)雜程度而定。圖1-8 工程窗口
10、一個(gè)工程可以通過“工程窗口”來顯示,工程窗口列出了當(dāng)前工程所包含的文件清單。如圖1-8所示,是啟動(dòng)VB后建立的一個(gè)最簡(jiǎn)單工程的結(jié)構(gòu)。 圖圖1-8 1-8 工程窗口工程窗口 8屬性窗口 屬性是指對(duì)象(窗體或控件)的特征,如大小、名稱、標(biāo)題、顏色、位置等。屬性窗口列出了被選定的一個(gè)對(duì)象的所有屬性。如圖1-9所示。 對(duì)象下拉列表框?qū)傩粤斜韺傩哉f明欄排序選項(xiàng)卡 圖圖1-9 1-9 屬性窗口屬性窗口 9窗體布局窗口 如圖1-10所示,窗體布局窗口中有一個(gè)表示顯示器屏幕的圖像,屏幕圖像上又有表示窗體的圖像,它們標(biāo)示了程序運(yùn)行時(shí)窗體在屏幕中的位置。用戶可拖動(dòng)窗體圖像調(diào)整其位置。 圖圖1-10 1-10 窗體
11、布局窗口窗體布局窗口1.4 通過一個(gè)簡(jiǎn)單的應(yīng)用程序 快速入門 學(xué)習(xí)VB最好的方法是實(shí)踐,現(xiàn)在我們動(dòng)手設(shè)計(jì)一個(gè)簡(jiǎn)單的應(yīng)用程序。 【例1.1】圖1-11所示的是一個(gè)簡(jiǎn)單的應(yīng)用程序的運(yùn)行界面,它由一個(gè)窗體、一個(gè)文本框和一個(gè)命令按鈕組成。當(dāng)用戶單擊命令按鈕“顯示”時(shí),文本框中出現(xiàn)“歡迎使用VB”。 文本框窗體命令按鈕圖圖1-11 1-11 例例1.11.1運(yùn)行界面運(yùn)行界面 設(shè)計(jì)步驟: 1新建工程 2添加文本框 3添加命令按鈕 4設(shè)置屬性 5編寫事件過程代碼 前面的工作把應(yīng)用程序的界面設(shè)計(jì)好了,屬性也設(shè)置完畢,如圖1-17所示。但現(xiàn)在應(yīng)用程序并不能實(shí)現(xiàn)實(shí)際的功能。為了使它具有一定的功能,還必須為對(duì)象編寫
12、實(shí)現(xiàn)某一功能的事件過程代碼。因?yàn)轭}目要求單擊命令按鈕后,文本框中顯示文字串,所以我們要對(duì)命令按鈕這個(gè)對(duì)象的單擊事件編寫一段程序,以指定用戶單擊命令按鈕后要執(zhí)行的操作。 圖圖1-17 1-17 例例1.11.1界面界面 現(xiàn)在開始編寫事件過程代碼。 (1)雙擊窗體上的“顯示”按鈕,屏幕上出現(xiàn)代碼窗口,程序代碼就在這里編寫,如圖1-18所示。 對(duì)象列表框事件列表框代碼編輯區(qū)圖圖1-18 1-18 代碼窗口代碼窗口 編寫如下事件過程: Private Sub Command1_Click() Text1.Text = 歡迎使用VB End Sub VB程序代碼由一條一條的語句構(gòu)成。 本實(shí)例程序很簡(jiǎn)單,
13、只有三條語句。 至此,程序代碼編寫完畢,現(xiàn)在可以運(yùn)行程序了。 6運(yùn)行應(yīng)用程序 從“運(yùn)行”菜單中選“啟動(dòng)”。 7保存應(yīng)用程序 VB應(yīng)用程序至少有兩種文件需要保存: 窗體文件(.frm) 工程文件(.vbp) 8生成EXE文件 程序一旦設(shè)計(jì)完成,且測(cè)試成功,我們還可以將它編譯成可直接執(zhí)行的EXE文件,這樣用戶就可以在Windows環(huán)境中直接執(zhí)行它們,而不必再進(jìn)入VB環(huán)境了。 1.5 設(shè)計(jì)VB應(yīng)用程序一般步驟 前一節(jié)我們通過實(shí)例介紹了設(shè)計(jì)一個(gè)應(yīng)用程序的具體操作過程,對(duì)VB有了一定的感性認(rèn)識(shí)。本節(jié)介紹設(shè)計(jì)VB應(yīng)用程序一般步驟。 設(shè)計(jì)VB應(yīng)用程序主要有以下四個(gè)步驟: 1設(shè)計(jì)用戶界面。 2設(shè)置屬性。 3編
14、寫代碼。 4保存和運(yùn)行調(diào)試程序、生成EXE文件。 1.5.1 設(shè)計(jì)用戶界面 用戶界面是用戶與計(jì)算機(jī)交流的媒介,用戶輸入或輸出的信息都在這個(gè)界面中進(jìn)行。 一個(gè)良好的用戶界面能使用戶操作方便、視覺美觀。 用戶界面主要由窗體和控件組成,設(shè)計(jì)用戶界面的主要工作就是把構(gòu)成界面的控件放在窗體上,然后對(duì)窗體上的控件進(jìn)行調(diào)整。 1向窗體上添加控件 向窗體上添加控件有兩種方法: (1)雙擊工具箱中的控件圖標(biāo),該控件即自動(dòng)添加到了窗體的中央。 (2)單擊工具箱中的控件圖標(biāo),然后將鼠標(biāo)指針移到窗體上,鼠標(biāo)指針變成十字型,在窗體上需要放控件的位置拖動(dòng)鼠標(biāo)畫出想要的尺寸,然后釋放鼠標(biāo),即可在窗體上畫出該控件。 2對(duì)窗體
15、上的控件進(jìn)行調(diào)整 對(duì)窗體上的控件進(jìn)行調(diào)整的基本操作如下: (1)選中控件 單擊窗體上的某個(gè)控件則選中該控件;若要選中窗體上的多個(gè)控件,可按下Shift或Ctrl鍵并單擊這些控件; 如果要選擇的控件彼此相鄰,可以用鼠標(biāo)在其周圍畫一個(gè)框進(jìn)行選擇。所選控件四周出現(xiàn)控制點(diǎn),表示選中。 (2)調(diào)整控件大小及位置 通過對(duì)控件四周控制點(diǎn)的拖拽可調(diào)整控件的大小,而通過對(duì)控件的拖拽可調(diào)整控件的位置。 若要對(duì)窗體上的多個(gè)控件進(jìn)行精確布置,可使用“格式”菜單。 比如,想讓三個(gè)命令按鈕的大小完全一樣,可以這樣操作:先選擇這三個(gè)命令按鈕,然后選“格式”菜單中的“統(tǒng)一尺寸”。 1.5.2 設(shè)置屬性 屬性是指對(duì)象的特征,如
16、大小、名稱、標(biāo)題、顏色、位置等。屬性窗口列出了被選中對(duì)象的所有屬性,利用屬性窗口,可為界面中的對(duì)象(窗體或控件)設(shè)置相應(yīng)的屬性。 打開屬性窗口可用以下四種方法: 1選“視圖”菜單中的“屬性窗口”。 2按F4鍵。 3單擊工具欄上的“屬性”按鈕。 4使用對(duì)象的上下文菜單。 在屬性窗口中所進(jìn)行的是屬性初始值的設(shè)置,用戶也可在程序中對(duì)他們進(jìn)行設(shè)置和修改。 1.5.3 編寫代碼 為了使應(yīng)用程序具有一定的功能,還必須為對(duì)象編寫實(shí)現(xiàn)某一功能的程序代碼,編寫程序代碼要在“代碼窗口”進(jìn)行。 編寫程序代碼是創(chuàng)建VB應(yīng)用程序的主要工作環(huán)節(jié),用戶需要的運(yùn)算、處理,都需要通過編寫代碼來實(shí)現(xiàn)。 一個(gè)好的程序具有以下特點(diǎn):
17、 1正確性。能運(yùn)行通過,并達(dá)到預(yù)期目的。 2易讀性。結(jié)構(gòu)清晰,便于查錯(cuò)、修改。 3運(yùn)行效率高。程序運(yùn)行時(shí)間較短,占用的存儲(chǔ)空間較少。 VB代碼書寫格式比較自由。 代碼不區(qū)分字母的大小寫,一行允許多達(dá)255個(gè)字符。 通常一行寫一條語句,這樣程序看起來比較清晰。 在同一行上也可寫多個(gè)語句,這時(shí)語句間用冒號(hào)“:”分隔。 例如,a=4:b=5:c=6。單行語句也可分若干行書寫,要使用一個(gè)空格后跟一個(gè)下劃線作續(xù)行符。如下所示: dim a as single ,b as single ,c as single _ d as single ,e as single 1.5.4 保存和運(yùn)行調(diào)試工程、生成EX
18、E文件 1保存工程 選“文件”菜單中的“保存工程”或單擊工具欄中的“保存”按鈕即可。 對(duì)于新工程,系統(tǒng)會(huì)在對(duì)話框中提示保存的文件夾和文件名,分別保存各類文件。 如果再一次保存工程,這些對(duì)話框就不會(huì)出現(xiàn)了,因?yàn)橄到y(tǒng)已經(jīng)知道了要保存位置和文件名。 如果要以另外的文件名存盤,可以選“文件”菜單中的“工程另存為”。 2運(yùn)行調(diào)試工程 運(yùn)行工程,盡可能地發(fā)現(xiàn)程序中存在的錯(cuò)誤和問題,排除錯(cuò)誤、解決問題。 運(yùn)行工程可用以下三種方法: (1)選“運(yùn)行”菜單中的“啟動(dòng)”。 (2)單擊工具欄中的“啟動(dòng)”按鈕。 (3)按F5鍵。 一般來講,程序很少能一次運(yùn)行通過,這是因?yàn)槌绦蛑杏羞@樣那樣的錯(cuò)誤。程序中有錯(cuò)誤是難免的也
19、是正常的,這是由它反映的實(shí)際問題的復(fù)雜性,及程序本身邏輯結(jié)構(gòu)的復(fù)雜性決定的。但是,我們對(duì)程序中的錯(cuò)誤不能置之不理,必須加以排除。 程序中的錯(cuò)誤可分為三類: (1)編譯錯(cuò)誤。在程序編譯過程中發(fā)現(xiàn)的語法錯(cuò)誤。如:表達(dá)式(a+b*(d+e),缺少了右括號(hào)。 (2)運(yùn)行錯(cuò)誤。在程序運(yùn)行時(shí)執(zhí)行了非法操作。如:除法運(yùn)算時(shí)除數(shù)為零等。 (3)邏輯錯(cuò)誤。在程序編譯和運(yùn)行時(shí)均不能發(fā)現(xiàn)的錯(cuò)誤。如:把x+2寫成了x+3。 對(duì)于前兩類錯(cuò)誤,在錄入或運(yùn)行過程中系統(tǒng)會(huì)指出,程序員可根據(jù)系統(tǒng)給出的提示信息予以排除,而對(duì)于邏輯錯(cuò)誤,則比較麻煩,需要認(rèn)真分析,有時(shí)需借助調(diào)試工具才能查出。 3生成EXE文件 選“文件”菜單中的“
20、生成.exe”(實(shí)際操作時(shí),省略號(hào)位置上顯示的是當(dāng)前的工程文件名),在彈出的“生成工程”對(duì)話框中,選擇保存文件夾,輸入文件名,單擊“確定”按鈕,EXE文件便生成了。 1.6 對(duì)象、事件與事件過程 VB 是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。面向?qū)ο蟪绦蛟O(shè)計(jì)是一種以對(duì)象為基礎(chǔ),以事件來驅(qū)動(dòng)對(duì)象的程序設(shè)計(jì)方法。它將一個(gè)應(yīng)用程序劃分成多個(gè)對(duì)象,并且建立與這些對(duì)象相關(guān)聯(lián)的事件過程。通過對(duì)象對(duì)所發(fā)生的事件產(chǎn)生響應(yīng),來執(zhí)行相應(yīng)的事件過程,以引發(fā)對(duì)象狀態(tài)的改變,從而達(dá)到處理的目的。 1對(duì)象 對(duì)象是VB應(yīng)用程序的基礎(chǔ)構(gòu)件。窗體和控件都是對(duì)象,被稱作對(duì)象的還有數(shù)據(jù)庫、圖表等,對(duì)象具有屬性和方法,并響應(yīng)外部事件。在開發(fā)一個(gè)應(yīng)
21、用程序時(shí),必須先建立各種對(duì)象,然后圍繞對(duì)象進(jìn)行程序設(shè)計(jì)。 2對(duì)象的屬性 屬性是指對(duì)象的特征。 每一種對(duì)象都有一組特定的屬性,在屬性窗口中可以看到。有些屬性屬于公共屬性,有些屬性則屬于該對(duì)象的專有屬性。每個(gè)屬性都有一個(gè)缺省值,如果不改變?cè)撝?,?yīng)用程序就使用它,如果缺省值不能滿足要求,就要對(duì)它重新設(shè)置。 3對(duì)象的方法 方法是VB提供的一種特殊子程序。 每個(gè)方法完成某個(gè)功能,用來完成諸如顯示對(duì)象、隱藏對(duì)象、繪圖、打印等操作。但其實(shí)現(xiàn)的步驟和細(xì)節(jié)用戶既看不到,也不能修改,用戶能做的就是在編程時(shí)直接調(diào)用它們。 4對(duì)象的事件 對(duì)象的事件是VB預(yù)先定義好的,能被對(duì)象識(shí)別的動(dòng)作。 例如單擊(Click)事件,
22、雙擊(DblClick)事件、鍵盤按下(Keypress)事件等。 在運(yùn)行應(yīng)用程序時(shí),當(dāng)單擊一個(gè)命令按鈕,對(duì)于命令按鈕這個(gè)對(duì)象,就發(fā)生了一個(gè)單擊事件。 事件可由用戶引發(fā)(例如單擊鼠標(biāo)),可由系統(tǒng)引發(fā)(例如定時(shí)器事件),也可由代碼間接引發(fā)。不同類型的對(duì)象能識(shí)別不同的事件。如窗體能識(shí)別單擊和雙擊事件,而命令按鈕能識(shí)別單擊事件但不能識(shí)別雙擊事件。每一種對(duì)象能識(shí)別的事件可以從該對(duì)象的代碼窗口右邊事件框的下拉列表中看到。 5事件過程 對(duì)象感應(yīng)到某一事件發(fā)生時(shí)所執(zhí)行的程序稱為事件過程。 盡管對(duì)象能自動(dòng)識(shí)別預(yù)定義的事件,但對(duì)象是否響應(yīng)具體事件以及如何響應(yīng)具體事件則取決于程序員是否在程序中作了安排,即程序員是
23、否為該對(duì)象的這個(gè)事件編寫了實(shí)現(xiàn)某一功能的程序代碼。想讓對(duì)象響應(yīng)事件時(shí),就應(yīng)把代碼寫入這個(gè)事件的事件過程之中。事件過程的形式如下: Private Sub 對(duì)象名_事件名() (VB程序代碼) End Sub 例如:?jiǎn)螕裘畎粹o“command2”,清空文本框“text1”,則對(duì)應(yīng)的事件過程為: Private Sub Command2_Click() Text1.Text = End Sub VB程序的執(zhí)行是由事件來驅(qū)動(dòng)的,以下是事件驅(qū)動(dòng)應(yīng)用程序的典型工作過程。 (1)啟動(dòng)應(yīng)用程序,裝載和顯示窗體。 (2)對(duì)象等待事件的發(fā)生。 (3)事件發(fā)生后,如果在相應(yīng)的事件過程中存在代碼,就執(zhí)行代碼。 (
24、4)應(yīng)用程序等待下一次事件。 VB VB的基本字符集和詞匯集的基本字符集和詞匯集2.1 VB VB的基本數(shù)據(jù)類型的基本數(shù)據(jù)類型2.2常量與變量常量與變量2.3 常用的內(nèi)部函數(shù)常用的內(nèi)部函數(shù)2.5運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.4 本章將介紹在編寫代碼時(shí)用到的一些最基礎(chǔ)的知識(shí):VB的基本字符集和詞匯集、VB的基本數(shù)據(jù)類型、常量與變量、運(yùn)算符與表達(dá)式及常用內(nèi)部函數(shù)。 2.1 VB的基本字符集和詞匯集 2.1.1 字符集 字符是構(gòu)成程序設(shè)計(jì)語言的最小語法單位。VB的基本字符集包括: 數(shù)字:0 1 2 3 4 5 6 7 8 9 英文字母:A B C D E F G H I J K L M N O P
25、 Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 特殊字符: ! # $ % & ( ) * + - / :; ? _ | Spase(空格) 漢字:除標(biāo)識(shí)符中用到的漢字以外,代碼中漢字和全角字符只能用在字符串中(即雙引號(hào)中)。 2.1.2 詞匯集 VB中的詞匯集是在代碼中具有一定意義的字符組合。 1關(guān)鍵字 關(guān)鍵字又稱保留字,是在語法上有固定意義的字母組合。 主要包括:命令名、函數(shù)名、數(shù)據(jù)類型名、運(yùn)算符、VB系統(tǒng)提供的標(biāo)準(zhǔn)過程等。VB中約定關(guān)鍵字的首字母為大寫字母,但系統(tǒng)可以識(shí)別用戶輸入的小
26、寫字母并自動(dòng)轉(zhuǎn)化為標(biāo)準(zhǔn)格式。在聯(lián)機(jī)幫助系統(tǒng)中,可以找到全部關(guān)鍵字的列表。 例如:Print、If、Then、Private、Sin、Sqr都是VB的保留字。 2標(biāo)識(shí)符 標(biāo)識(shí)符是用戶自己定義的名字,包括自定義常量名、變量名、控件名、自定義的過程名和函數(shù)名等。用戶通過標(biāo)識(shí)符對(duì)相應(yīng)的對(duì)象進(jìn)行操作。 標(biāo)識(shí)符應(yīng)符合以下規(guī)則: (1) 除控件名和窗體名以外,不能使用關(guān)鍵字。除特殊需要外,窗體和控件的名稱也盡量不使用關(guān)鍵字。 (2) 變量、過程、函數(shù)名應(yīng)在255個(gè)字符以內(nèi);控件、窗體、模塊名應(yīng)在40個(gè)字符以內(nèi)。必須以字母開頭,后跟字母、數(shù)字,下劃線的組合。另外,VB中允許使用漢字作為標(biāo)識(shí)符。 (3) 標(biāo)識(shí)符
27、中不允許出現(xiàn)間隔符號(hào)。如:空格、分號(hào)、逗號(hào)、運(yùn)算符等。 除以上規(guī)則外,標(biāo)識(shí)符應(yīng)盡量做到簡(jiǎn)單明了,見名知意。 例如: a 、 x3 、 數(shù)學(xué)_001 、 age 、score 、 姓名,是合法的標(biāo)識(shí)符。 5x 、 x1+x2 、 a,b 、 print 、 public、李 四,是不合法的標(biāo)識(shí)符。 其中:“5x”以數(shù)字開頭;“x1+x2”、“a,b”中有運(yùn)算符和標(biāo)點(diǎn)符號(hào);“print 、 public”是系統(tǒng)保留字,“李 四”中有空格。2.2 VB的基本數(shù)據(jù)類型 在VB中,對(duì)不同類型的數(shù)據(jù)有不同的操作方式和不同的取值范圍。VB的數(shù)據(jù)類型有系統(tǒng)定義和自定義兩種,系統(tǒng)定義的數(shù)據(jù)類型由稱為標(biāo)準(zhǔn)類型,自
28、定義數(shù)據(jù)類型是由若干標(biāo)準(zhǔn)類型組合成的某種結(jié)構(gòu)。表2-1列出了VB中的標(biāo)準(zhǔn)數(shù)據(jù)類型。 數(shù)據(jù)類型關(guān)鍵字類型符占內(nèi)存字節(jié)數(shù)范圍字符串型String$與字符長(zhǎng)度有關(guān)最多65535個(gè)字符整型Integer%2-3276832767長(zhǎng)整型Long&4-21474836482147483647字節(jié)型Byte無10255單精度型Single!41.401298E-45|x|3.402823E38雙精度型Double#84.94065645841247E-324|x|1.79769313486232E308貨幣型Currency8-922337203685477.5808922337203685477.
29、5807邏輯型Boolean無2True或False日期型Date無8100.01.019999.12.31變體型Variant無根據(jù)需要表表2-1 VB2-1 VB中的標(biāo)準(zhǔn)數(shù)據(jù)類型中的標(biāo)準(zhǔn)數(shù)據(jù)類型 2.2.1 字符串型(String) 字符串包括除雙引號(hào)和回車以外可打印的所有字符,雙引號(hào)作為字符串的定界符號(hào)。 在字符串中,要區(qū)分字母的大小寫。雙引號(hào)內(nèi)字符的個(gè)數(shù)叫做字符串的長(zhǎng)度(包括空格)。長(zhǎng)度為零的字符串叫做空字符串。 注意,在VB中, ASCII碼字符和漢字一樣都采用雙字節(jié)存儲(chǔ)。 例如:1234和張 三都是字符型。注意字符串中空格是有效字符。 運(yùn)動(dòng)員和abc長(zhǎng)度都是3,占用字節(jié)數(shù)都是6。
30、2.2.2 數(shù)值型 VB中的數(shù)值型數(shù)據(jù)分為整型和實(shí)型兩大類。 1整型 整型數(shù)是不帶小數(shù)點(diǎn)和指數(shù)符號(hào)的數(shù)。包括整型、長(zhǎng)整型和字節(jié)型整數(shù)。 (1)整型(Integer,類型符%) 整型數(shù)用兩個(gè)字節(jié)存儲(chǔ),取值范圍是-32768到+32767。 例如:15,-345,654%都是整數(shù)型。而45678%則會(huì)發(fā)生溢出錯(cuò)誤。 (2)長(zhǎng)整型(Long,類型符&) 長(zhǎng)整型用4個(gè)字節(jié)存儲(chǔ),取值范圍是-2147483648到+2147483647。 例如:123456,45678&都是長(zhǎng)整數(shù)型。 (3)字節(jié)型(Byte) 用一個(gè)字節(jié)存儲(chǔ),取值范圍是0到255。 另外,VB中還可以使用八進(jìn)制和十六進(jìn)制
31、的整數(shù),用于一些特殊用途,一般用戶不必掌握。 2實(shí)型 實(shí)型數(shù)據(jù)主要分為單精度、雙精度和貨幣型三種。 (1)單精度浮點(diǎn)數(shù)(Single,類型符!) 單精度數(shù)用4個(gè)字節(jié)存儲(chǔ),有七位有效數(shù)字,取值范圍1.401298E-45|x|3.402823E+38。 例如:3.14!,2.718282。 當(dāng)需要處理的數(shù)據(jù)超過單精度數(shù)的取值范圍,或需要的有效數(shù)字超過七位,則需要用雙精度數(shù)。 (2) 雙精度浮點(diǎn)數(shù)(Double,類型符#) 雙精度數(shù)用8個(gè)字節(jié)存儲(chǔ),它最多可以表示十五位有效數(shù)字,取值范圍為94065645841247E-324|x| 大于大于ABCAFABCAFFalseFalse=大于等于大于等于
32、f = f = FghFgh TrueTrue 小于小于2545.52545.5TrueTrue=小于等于小于等于23=23=2323TrueTrue不等于不等于XYZxyzXYZxyzTrueTrueLikeLike使用通配符匹配使用通配符匹配比較比較WXYZ Like WXYZ Like * *X X* * TrueTrueIsIs引用對(duì)象比較引用對(duì)象比較Is0Is0由對(duì)象當(dāng)前值決定由對(duì)象當(dāng)前值決定表表2-3 VB6.02-3 VB6.0關(guān)系運(yùn)算符關(guān)系運(yùn)算符 注意以下的比較規(guī)則: (1)數(shù)值型比較與數(shù)學(xué)意義相同。 (2)字符型數(shù)據(jù)的比較按照從左到右的順序按其ASCII碼值比較大小。 (3)
33、Is代替代碼中引用的對(duì)象參與比較。 (4)Like與通配符(*、?、# 等)結(jié)合使用,經(jīng)常用于模糊查找。 例如:“*X*”表示包含“X”的字符串。 “A*” 表示包含“A”開頭的字符串。 (5)關(guān)系運(yùn)算符的優(yōu)先級(jí)相同。 2.4.4 邏輯運(yùn)算符 邏輯運(yùn)算符對(duì)邏輯量進(jìn)行邏輯運(yùn)算,除Not外都是對(duì)兩個(gè)邏輯量運(yùn)算。結(jié)果為邏輯值。表2-3列出了VB中的邏輯運(yùn)算符。 運(yùn)算符運(yùn)算符意義意義優(yōu)先級(jí)優(yōu)先級(jí)說明說明示例示例返回值返回值NotNot取反取反1 1操作數(shù)為假時(shí),結(jié)果為真操作數(shù)為假時(shí),結(jié)果為真Not trueNot trueFalseFalseAndAnd與與2 2兩個(gè)操作數(shù)均為真時(shí),結(jié)果才為兩個(gè)操作數(shù)
34、均為真時(shí),結(jié)果才為真。其余為假真。其余為假False And False And TrueTrueTrue And True And TrueTrueFalseFalseTrueTrueOrOr或或3 3兩個(gè)操作數(shù)只要有一個(gè)為真,結(jié)兩個(gè)操作數(shù)只要有一個(gè)為真,結(jié)果為真果為真False Or False Or TrueTrueTrue Or True Or TrueTrueTrueTrueTrueTrue表表2-3 VB6.02-3 VB6.0中的邏輯運(yùn)算符中的邏輯運(yùn)算符 XorXor異或異或3 3兩個(gè)操作數(shù)為一真一假時(shí),結(jié)果為真兩個(gè)操作數(shù)為一真一假時(shí),結(jié)果為真False False XorXor
35、 TrueTrueTrue True XorXor TrueTrueTrueTrueFalseFalseEqvEqv等價(jià)等價(jià)4 4兩個(gè)操作數(shù)同為真或假時(shí),結(jié)果為真兩個(gè)操作數(shù)同為真或假時(shí),結(jié)果為真False False EqvEqv TrueTrueFalse False EqvEqv FalseFalseFalseFalseTrueTrueImpImp蘊(yùn)含蘊(yùn)含5 5第一個(gè)操作數(shù)為真,第二個(gè)操作數(shù)為第一個(gè)操作數(shù)為真,第二個(gè)操作數(shù)為假時(shí),結(jié)果為假,其余情況都為真假時(shí),結(jié)果為假,其余情況都為真True Imp True Imp FalseFalseFalse Imp False Imp TrueTr
36、ueTrue Imp True Imp TrueTrueFalseFalseTrueTrueTrueTrue續(xù)表續(xù)表 2.4.5 表達(dá)式 1表達(dá)式的組成 表達(dá)式由常量、變量、函數(shù)、運(yùn)算符、()按照一定的規(guī)則組成,不管表達(dá)式的形式如何,都會(huì)計(jì)算出一個(gè)結(jié)果,該結(jié)果的類型由參與運(yùn)算的數(shù)據(jù)和運(yùn)算符決定。 2表達(dá)式的書寫規(guī)則 (1)表達(dá)式中的每個(gè)字符沒有高低、大小的區(qū)別。 (2)只能使用圓括號(hào),可以多重使用,圓括號(hào)必須成對(duì)出現(xiàn)。 (3)VB表達(dá)式中的乘號(hào)“*”不能省略。 (4)能用系統(tǒng)函數(shù)的地方盡量使用系統(tǒng)函數(shù)。 例如:數(shù)學(xué)公式 寫成VB表達(dá)式為: (-b+sqr(b2-4*a*c)/(2*a) 只有算
37、術(shù)運(yùn)算符的表達(dá)式也稱為算術(shù)表達(dá)式。aacbb242 3關(guān)系表達(dá)式和邏輯表達(dá)式 當(dāng)使用關(guān)系運(yùn)算符或邏輯運(yùn)算符時(shí),表達(dá)式又稱為關(guān)系表達(dá)式或邏輯表達(dá)式。 關(guān)系運(yùn)算一般表示一個(gè)簡(jiǎn)單的條件。 例如:age20 、score80、x+yz等。 邏輯表達(dá)式表示較復(fù)雜的條件。 例如:數(shù)學(xué)中的0 x5,寫成VB表達(dá)式應(yīng)為0 x And x算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符。 在復(fù)雜的表達(dá)式中,可以增加圓括號(hào)使表達(dá)式的運(yùn)算次序更清晰。2.5 常用內(nèi)部函數(shù) VB提供了大量的內(nèi)部函數(shù)供用戶調(diào)用。在本節(jié)中我們分類介紹一些常用的內(nèi)部函數(shù)。 函數(shù)的一般調(diào)用格式: 格式:函數(shù)名(參數(shù)表) 說明:參數(shù)表可以有一個(gè)參數(shù)或逗號(hào)隔開的多
38、個(gè)參數(shù),多數(shù)參數(shù)都可以使用表達(dá)式。函數(shù)一般作為表達(dá)式的組成部分調(diào)用。 2.5.1 數(shù)學(xué)函數(shù) VB提供了大量的數(shù)學(xué)函數(shù)。常用數(shù)學(xué)函數(shù)有三角函數(shù)、算術(shù)平方根函數(shù)、對(duì)數(shù)函數(shù)、指數(shù)函數(shù)及絕對(duì)值函數(shù)等。 注意: (1)三角函數(shù)的自變量以弧度表示。 例如,要寫成Sin(3.14159*27/180)。 (2)隨機(jī)函數(shù)Rnd(N)可以寫成Rnd,函數(shù)值可以是雙精度型。 Rnd返回小于1,大于零的雙精度隨機(jī)數(shù)。其值由系統(tǒng)根據(jù)種子數(shù)隨機(jī)給出,直接使用時(shí),種子數(shù)是不變的,即每次執(zhí)行程序都得到相同的隨機(jī)數(shù)序列??梢允褂肦andomize語句來改變種子數(shù)。其格式為:Randomize。這時(shí)用系統(tǒng)計(jì)時(shí)器返回的值作為隨機(jī)
39、種子。 2.5.2 轉(zhuǎn)換函數(shù) 轉(zhuǎn)換函數(shù)用于各種類型數(shù)據(jù)之間的轉(zhuǎn)換。 2.5.3 字符串函數(shù) 用于字符串處理。 2.5.4 日期與時(shí)間函數(shù) 日期與時(shí)間函數(shù)提供時(shí)間和日期信息。 窗窗 體體3.1命令按鈕命令按鈕3.2 標(biāo)標(biāo) 簽簽3.3文本框文本框3.4賦值語句賦值語句3.5 注釋語句、結(jié)束語句注釋語句、結(jié)束語句3.9程序調(diào)試程序調(diào)試3.10消息框消息框3.8輸入框輸入框3.7 Print Print方法方法3.6 VB應(yīng)用程序的執(zhí)行是由事件驅(qū)動(dòng)的,當(dāng)用戶觸發(fā)某一事件時(shí)執(zhí)行相應(yīng)的事件過程,這些事件過程之間并沒有特定的執(zhí)行次序。 但在每一個(gè)事件過程內(nèi)部,是有一定的執(zhí)行控制流程的,這就是通常所說的三種基
40、本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)是最簡(jiǎn)單的一種結(jié)構(gòu),該結(jié)構(gòu)按語句排列的先后順序執(zhí)行。 本章的主要內(nèi)容有:VB最基本的幾個(gè)對(duì)象;與順序結(jié)構(gòu)有關(guān)的語句和方法。通過本章的學(xué)習(xí),可以進(jìn)行簡(jiǎn)單VB程序設(shè)計(jì)。3.1 窗體 創(chuàng)建VB應(yīng)用程序的第一步是創(chuàng)建用戶界面。用戶界面的基礎(chǔ)是窗體,各種控件對(duì)象必須建立在窗體上。 啟動(dòng)VB后,即在屏幕上顯示一個(gè)窗體,如圖3-1所示。 圖標(biāo)標(biāo)題最大化按鈕最小化按鈕關(guān)閉按鈕窗口區(qū)邊框 圖圖3-1 3-1 窗體窗體 3.1.1 窗體的主要屬性 窗體的屬性決定了窗體的外觀和操作。對(duì)象的大部分屬性可用兩種方法來設(shè)置:通過屬性窗口設(shè)置和通過程序代碼設(shè)置。有少量的屬性不能
41、在程序代碼中設(shè)置。 (1)Caption 屬性 設(shè)置窗體的標(biāo)題內(nèi)容。標(biāo)題內(nèi)容應(yīng)概括說明本窗體作用。 (2)MaxButton 屬性和 MinButton 屬性 MaxButton為True,窗體右上角有最大化按鈕;為False時(shí),無最大化按鈕。 MinButton 屬性為True,窗體右上角有最小化按鈕;為False時(shí),無最小化按鈕。 (3)BorderStyle 屬性 決定窗體邊框式樣及窗體是否能調(diào)整大小。 (4)BackColor屬性和ForeColor 屬性 BackColor屬性設(shè)置窗體的背景顏色;ForColor 屬性設(shè)置窗體的前景顏色。窗體的前景顏色是執(zhí)行Print方法時(shí)所顯示文本
42、的顏色。 (5)Height屬性和Width屬性 設(shè)置窗體的初始高度和寬度。其單位為Twip。1Twip=1/20點(diǎn)=1/1440英寸=1/567厘米。 (6)Left屬性和Top屬性 用于設(shè)置窗體左邊框距屏幕左邊界的距離和窗體頂邊距屏幕頂端的距離。其單位為Twip。 (7)Name(名稱)屬性 設(shè)置窗體的名稱,在程序代碼中用這個(gè)名稱引用該窗體。新建工程時(shí),窗體的名稱缺省為 Form1;添加第二個(gè)窗體,其名稱缺省為 Form2,以此類推。為了便于識(shí)別,用戶通常給 Name 屬性設(shè)置一個(gè)有實(shí)際意義的名稱。 (8)Enabled屬性 屬性值為True或False,設(shè)置對(duì)象是否能夠?qū)τ脩舢a(chǎn)生的事件做
43、出反應(yīng)。一般在程序中設(shè)置,用于臨時(shí)屏蔽對(duì)窗體或其他控件的的控制。 (9)Moveable屬性 屬性值為True或False,設(shè)置是否可以移動(dòng)窗體。 (10)Visible屬性 屬性值為True或False,設(shè)置窗體是否被顯示。用戶可用該屬性在程序代碼中控制窗體的隱現(xiàn)。 (11)Picture屬性 設(shè)置在窗體中顯示的圖片。單擊Picture屬性右邊的按鈕,彈出“加載圖片”對(duì)話框,用戶可選擇一個(gè)圖片文件作為窗體的背景圖片。若在程序中設(shè)置該屬性的值,需要使用LoadPicture函數(shù)。 (12)WindowState屬性 設(shè)置窗體啟動(dòng)后的大小狀態(tài)。它有三個(gè)可選值: 0-Normal: 窗體大小由He
44、ight和Width屬性決定。 1-Minimized: 窗體最小化成圖標(biāo)。 2-Maximized: 窗體最大化,充滿整個(gè)屏幕。 在VB中,雖然不同的對(duì)象有不同的屬性集合,但有一些屬性,如Name 、Enabled、Visible、Height、Width、Left、Top等,其他控件也具有,且具有相似的作用。在后續(xù)的章節(jié)中,我們主要介紹各種控件常用的特殊屬性。 3.1.2 事件 窗體最常用的事件有三種:Click(單擊)、DbClick(雙擊)、Load(裝入)。 (1)Click事件 程序運(yùn)行后,單擊窗體觸發(fā)該事件。 (2)DbClick事件 程序運(yùn)行后,雙擊窗體觸發(fā)該事件。 (3)Lo
45、ad事件 Load事件是窗體被裝入內(nèi)存工作區(qū)時(shí)觸發(fā)的事件。如果這個(gè)事件過程存在,就馬上執(zhí)行它。Load事件過程通常用于啟動(dòng)程序時(shí)對(duì)屬性、變量的初始化,裝載數(shù)據(jù)等。 【例3.1】窗體上無最大化最小化按鈕,程序運(yùn)行后,在窗體上裝入一幅圖片作為背景;當(dāng)單擊窗體時(shí),窗體變寬;當(dāng)雙擊窗體時(shí),則退出。程序運(yùn)行界面如圖3-2所示。 (a)Load事件事件(b)Click事件事件 圖圖3-2 3-2 例例3.13.1運(yùn)行界面運(yùn)行界面 屬性設(shè)置如表3-1所示。對(duì)象對(duì)象屬性屬性設(shè)置設(shè)置Form1Form1CaptionCaption練習(xí)窗體事件練習(xí)窗體事件MaxButtonMaxButton FalseFalse
46、MinButtonMinButton FalseFalse表表3-1 3-1 例例3.13.1對(duì)象屬性設(shè)置對(duì)象屬性設(shè)置 事件過程如下: Private Sub Form_Load() 裝入圖片 Form1.Picture = LoadPicture(c:picChangcheng.wmf) End Sub Private Sub Form_click() 單擊窗體 Form1.Width = Form1.Width + 1000 End Sub Private Sub Form_DblClick() 雙擊窗體 End End Sub 說明:上機(jī)時(shí),可通過查找文件的方法找一個(gè)圖片文件,參照本例中
47、的格式代如即可。3.2 命令按鈕 在VB應(yīng)用程序中,命令按鈕是使用的最多的對(duì)象之一,常常用它接受用戶的操作信息,觸發(fā)相應(yīng)的事件過程,以實(shí)現(xiàn)指定的功能。 3.2.1 屬性 (1)Caption屬性 設(shè)定命令按鈕上顯示的文本。 (2)Default屬性 該屬性用于設(shè)置默認(rèn)命令按鈕。當(dāng)Default屬性設(shè)置為True時(shí),按ENTER鍵相當(dāng)于用鼠標(biāo)單擊了該按鈕。 (3)Style 屬性和Picture屬性 命令按鈕上除了可以顯示文字外,還可以顯示圖形。 若要顯示圖形,首先應(yīng)將Style 屬性設(shè)置為1,然后在Picture屬性中設(shè)置要顯示的圖形文件。類似的,若要設(shè)置命令按鈕的BackColor(背景色)
48、,也應(yīng)將Style 屬性設(shè)置為1。 Style 屬性可設(shè)置為: 0-Standard: 標(biāo)準(zhǔn)的,命令按鈕上不能顯示圖形。 1-Graphical:圖形的,命令按鈕上可以顯示圖形,也可以顯示文字。 (4)Value屬性 該屬性只能在程序運(yùn)行期間引用或設(shè)置。True表示被按下,F(xiàn)alse(默認(rèn))表示未被按下。在代碼中可通過設(shè)置Value屬性為True,來觸發(fā)命令按鈕的Click事件。例如,利用下面代碼,可通過程序來選擇命令按鈕,并觸發(fā)命令按鈕的Click事件。 Command2.Value=True 3.2.2 事件 最常用的事件是Click事件。 3.3 標(biāo)簽 標(biāo)簽(Label)主要用于顯示不需
49、要用戶修改的文本。所以,標(biāo)簽可以用來標(biāo)示窗體及窗體上的對(duì)象,如為文本框、列表框等添加描述性的文字,或者作為窗體的說明文字。 3.3.1 屬性 (1)Caption屬性 設(shè)置標(biāo)簽要顯示的內(nèi)容。它是標(biāo)簽的主要屬性。 (2)BorderStyle屬性 默認(rèn)值為0,標(biāo)簽無邊框;設(shè)置為1時(shí),標(biāo)簽有立體邊框。 (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)容太長(zhǎng),只能顯示一部分。默認(rèn)值為False。 (4)Alignment屬性 確定標(biāo)簽中內(nèi)容的
50、對(duì)齊方式,有三種可選值: 0-Left Juseify:默認(rèn)值,左對(duì)齊。 1-Right Juseify:右對(duì)齊。 2-Center:居中對(duì)齊。 (5)BackStyle屬性 該屬性用于設(shè)置背景是否透明。默認(rèn)值為1,不透明;設(shè)為0時(shí),透明。所謂透明,是指無背景色。 3.3.2 事件 常用Click,DbClick事件。 【例3.2】修改例3.1,在圖片上加提示信息“請(qǐng)單擊圖片”,程序其它功能不變。程序運(yùn)行界面如圖3-2所示。 圖圖3-3 3-3 例例3.23.2運(yùn)行界面運(yùn)行界面 操作如下: 在窗體上添加一個(gè)標(biāo)簽,將其Caption屬性設(shè)置為“請(qǐng)單擊圖片”,BackStyle屬性設(shè)置為0(透明)
51、,程序代碼不變。 3.4 文本框 文本框(TextBox)在窗體中為用戶提供一個(gè)既能顯示文本又能編輯文本的區(qū)域 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)簽。 (3)Maxlength屬性 設(shè)置文本框中允許輸入的最大字符數(shù)。 如果輸入的字符數(shù)超過Maxlength設(shè)定的數(shù)目后,系統(tǒng)將不接受超出部分的字符,并發(fā)出嘟嘟聲。該屬性默認(rèn)值為0,表示無限制。 (4)MultiLine屬性 決定文本框是否允許接收多行文本
52、。 若設(shè)置為True,文本框可接收多行文本,當(dāng)輸入的文本超出文本框的邊界時(shí),會(huì)自動(dòng)換行。默認(rèn)值為False,文本框中只能輸入一行文本。 (5)PassWordChar屬性 當(dāng)MultiLine為False時(shí),該屬性可設(shè)置顯示在文本框中的替代符。 例如,PassWordChar設(shè)置為“*”,那么無論用戶輸入什么字符,文本框中顯示的只是“*”,但文本框接收的還是用戶實(shí)際輸入的字符。設(shè)置該屬性主要用于輸入口令。 (6)ScrollBars屬性 決定文本框中是否有滾動(dòng)條。 只有當(dāng)MultiLine屬性為True時(shí),文本框才能加滾動(dòng)條。 3.4.2 事件 文本框除支持Click,DbClick事件,常用
53、的還有Change,LostFocus事件。 1. Change事件 當(dāng)用戶輸入新內(nèi)容,或程序?qū)ξ谋究虻腡ext屬性重新賦值,從而改變文本框的Text屬性時(shí)觸發(fā)該事件。 2. LostFocus事件 當(dāng)用戶按下鍵時(shí)光標(biāo)離開文本框,或用鼠標(biāo)選擇其他對(duì)象時(shí)觸發(fā)該事件,稱為“失去焦點(diǎn)”事件。 焦點(diǎn)是對(duì)象接收用戶鼠標(biāo)或鍵盤輸入的能力。當(dāng)對(duì)象具有焦點(diǎn)時(shí),可接收用戶的輸入。通常用該事件過程對(duì)文本框中的內(nèi)容進(jìn)行檢查和確認(rèn)。 3.4.3 方法 文本框最常用的方法是SetFocus,使用該方法可把光標(biāo)移到指定的文本框中,使之獲得焦點(diǎn)。當(dāng)使用多個(gè)文本框時(shí),用該方法可把光標(biāo)移到所需要的的文本框中。 其使用格式為:
54、對(duì)象.SetFocus 【例3.3】程序運(yùn)行后,隨著用戶的輸入,標(biāo)簽中同步顯示出用戶對(duì)文本框的內(nèi)容更新的次數(shù)。運(yùn)行效果如圖3-4所示。 圖圖3- 4 3- 4 例例3.3 3.3 運(yùn)行效果運(yùn)行效果 (1)界面設(shè)計(jì) 在窗體上建立一個(gè)文本框、一個(gè)標(biāo)簽。設(shè)置各對(duì)象的屬性,如表3-2所示。 對(duì)象對(duì)象屬性屬性設(shè)置設(shè)置Form1Form1 CaptionCaption 文本框應(yīng)用示例文本框應(yīng)用示例Text1Text1 texttext 空空 MultiLineMultiLine TrueTrueLabel1Label1 CaptionCaption 空空 BorderStyleBorderStyle 1
55、1 AlignmentAlignment 2 2 FontFont 字體大小取二號(hào)字體大小取二號(hào)表表3-2 3-2 例例3.33.3對(duì)象屬性設(shè)置對(duì)象屬性設(shè)置 (2)編寫事件過程如下: Private Sub Text1_Change() Static i% i = i + 1 Label1.Caption = i End Sub 3.5 賦值語句 賦值語句是VB程序最常用、最基本的語句,它能為變量提供數(shù)據(jù)。另外,若要在程序代碼中設(shè)置對(duì)象的屬性,也是使用賦值語句。 賦值語句有兩種格式: 格式1: 變量名=表達(dá)式 格式2: 對(duì)象名.屬性名=表達(dá)式 賦值語句的作用是:首先計(jì)算“=”右邊表達(dá)式的值,然
56、后將該值賦給“=”左邊的變量或?qū)ο蟮膶傩?。在格?中,若對(duì)象名省略,則默認(rèn)對(duì)象為當(dāng)前窗體。 例如: x=2 把2賦給x y=x*3 計(jì)算x*3的值,得6,把6賦給y x=x+1 計(jì)算x+1的值,得3,把3賦給x a$= Hello 把“Hello”賦給a$ Text1.Text=你好! 把“你好!”賦給Text1的Text屬性 這里還要說明一下賦值語句中的類型問題。通常,在使用時(shí)應(yīng)使表達(dá)式值的類型與變量(或?qū)ο蟮膶傩裕╊愋拖嗤?,以避免出現(xiàn)“類型不匹配”的錯(cuò)誤。不過,某些情況下,VB容許“=”兩邊類型不相同。 例如: dim x!,y%,z$ x = “12.5” 把數(shù)值形式的字符串賦給 數(shù)值變
57、量 y=34.24 把單精度數(shù)賦給整型變 量,此時(shí)截去小數(shù)部分 z=6 把整數(shù)賦給實(shí)型變量 以上三種情況都是賦值相容的。在賦值相容前提下,當(dāng)“=”兩邊類型不相同時(shí),VB自動(dòng)將表達(dá)式值的類型轉(zhuǎn)換成“=”左邊變量(或?qū)ο蟮膶傩裕┑念愋?,這種方式稱為“向左看齊”。上例中,實(shí)際賦給x、y、z的值分別是12.5、34、6.0。 【例3.4 】已知三角形三邊a,b,c,的長(zhǎng),求三角形的面積,輸出三條邊長(zhǎng)及面積。 分析:應(yīng)用程序的界面應(yīng)該能讓用戶輸入三邊的長(zhǎng),程序在接收用戶輸入的數(shù)據(jù)后,利用數(shù)學(xué)公式對(duì)數(shù)據(jù)進(jìn)行計(jì)算,并把結(jié)果輸出到屏幕上。已知三角形三邊a,b,c,的長(zhǎng),求三角形的面積的公式為: 其中p=(a+
58、b+c)/2。 (1)界面設(shè)計(jì) 在窗體上建立五個(gè)標(biāo)簽、三個(gè)文本框和一個(gè)命令按鈕。設(shè)置各對(duì)象的屬性,如表3-3所示。 對(duì)象對(duì)象屬性屬性設(shè)置設(shè)置Form1Form1captioncaption計(jì)算三角形面積計(jì)算三角形面積Label1Label1captioncaption請(qǐng)輸入三邊請(qǐng)輸入三邊Label2Label2captioncaptiona aLabel3Label3captioncaptionb bLabel4Label4captioncaptionc cLabel5Label5captioncaption空空Text1Text1texttext空空Text2Text2texttext空空T
59、ext3Text3texttext空空Command1Command1captioncaption計(jì)算計(jì)算表表3-3 3-3 例例3.43.4對(duì)象屬性設(shè)置對(duì)象屬性設(shè)置 設(shè)計(jì)完成的界面如圖3-5所示 圖圖3-5 3-5 例例3.43.4界面界面 (2)編寫事件過程如下: Private Sub Command1_Click() Dim a!, b!, c!, p!, s! a = Text1.Text b = Text2.Text c = Text3.Text p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Label5.C
60、aption = s End Sub3.6 Print方法 Print是輸出數(shù)據(jù)的一種重要方法。 3.6.1 Print的格式及功能 格式:對(duì)象名.Print 表達(dá)式列表。 功能:在對(duì)象上輸出表達(dá)式的值。 (1)對(duì)象名: 可以是Form(窗體)、Debug(立即窗口)、Picture(圖片框)、Printer(打印機(jī))。省略此項(xiàng),表示在當(dāng)前窗體上輸出。 例如: Print 23*2=;23*2 在當(dāng)前窗體上輸出23*2= 46 Picture1.Print Good 在圖片框Picture1上輸出Good Printer.Print Morning 在打印機(jī)上輸出Morning (2)表達(dá)式列表: 是一個(gè)或多個(gè)表達(dá)式,若為多個(gè)表達(dá)式,則各表達(dá)式之間“
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重大交通事故損害賠償全面協(xié)商合同
- 拆除舊樓改造項(xiàng)目外墻拆除與垃圾清運(yùn)協(xié)議
- 鋼結(jié)構(gòu)廠房安全評(píng)估與改造合同樣本
- 鄉(xiāng)村土地征收房屋買賣協(xié)議書模板
- 和0有關(guān)的運(yùn)算課件
- 武術(shù)健康課件
- 2025年汽車抵押協(xié)議
- 護(hù)理學(xué)專業(yè)大學(xué)學(xué)業(yè)規(guī)劃
- 2025年年度合作協(xié)議
- 腫瘤患者癥狀護(hù)理體系
- 保賠協(xié)會(huì)–歷史,承保內(nèi)容和組織
- 水質(zhì)監(jiān)測(cè)系統(tǒng)建設(shè)方案
- 建筑物的防雷及安全用電電子教案
- 中國近現(xiàn)代史社會(huì)實(shí)踐報(bào)告-2000字
- 小學(xué)四年級(jí)英語下冊(cè)期末的復(fù)習(xí)計(jì)劃(精選6篇)
- NBT-31084-2016風(fēng)力發(fā)電場(chǎng)項(xiàng)目建設(shè)工程驗(yàn)收規(guī)程(A.監(jiān)理基本用表)
- 國電智深DCS系統(tǒng)培訓(xùn)PPT課件
- 混凝土結(jié)構(gòu)及砌體結(jié)構(gòu)課程設(shè)計(jì)(共18頁)
- 高層建筑“一棟一冊(cè)”消防安全檔案
- 柳洲學(xué)校學(xué)生儀容儀表日常檢查記錄表
- 銑床數(shù)控課程設(shè)計(jì)(共39頁)
評(píng)論
0/150
提交評(píng)論