VB教學(xué)講解課件(JYQ)蘇大版_第1頁
VB教學(xué)講解課件(JYQ)蘇大版_第2頁
VB教學(xué)講解課件(JYQ)蘇大版_第3頁
VB教學(xué)講解課件(JYQ)蘇大版_第4頁
VB教學(xué)講解課件(JYQ)蘇大版_第5頁
已閱讀5頁,還剩288頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1VisualBasic程序設(shè)計(jì)南京中醫(yī)藥大學(xué)信息技術(shù)學(xué)院1VisualBasic南京中醫(yī)藥大學(xué)信息技術(shù)學(xué)院2本課程指定教材(請自購)VisualBasic程序設(shè)計(jì)教程(2013年版)牛又奇孫建國主編蘇州大學(xué)出版社ISBN:定價(jià):34元VisualBasic實(shí)驗(yàn)指導(dǎo)書孫建國主編蘇州大學(xué)出版社ISBN:定價(jià):13元2本課程指定教材(請自購)VisualBasic程序設(shè)計(jì)教3課程安排1-12周周二晚上10-12節(jié)B43081-15周周四晚上10-12節(jié),13-15周周二晚上10-12節(jié)B6305機(jī)房3課程安排1-12周周二晚上10-12節(jié)B43084VisualBasic程序設(shè)計(jì)

第一章VisualBasic導(dǎo)論

第二章程序設(shè)計(jì)與算法

第三章常用控件與界面設(shè)計(jì)

第四章數(shù)據(jù)、表達(dá)式與簡單程序設(shè)計(jì)

第五章選擇分支與循環(huán)

第六章數(shù)組

第七章過程

第八章文件

第九章程序調(diào)試

第十章其他控件及其應(yīng)用

第十一章圖形處理與多媒體應(yīng)用

第十二章數(shù)據(jù)庫操作與編程4VisualBasic程序設(shè)計(jì)5第一章VisualBasic導(dǎo)論

1.1引例

1.2VB主要功能和特點(diǎn)

1.3VB集成開發(fā)環(huán)境

1.4程序設(shè)計(jì)方法的發(fā)展

1.5VB中的有關(guān)概念

1.6建立簡單的應(yīng)用程序5第一章VisualBasic導(dǎo)論 1.1引61.1引例1.1

一行內(nèi)容在窗體左、右移動(dòng);移動(dòng)兩種方法:手動(dòng)和自動(dòng),當(dāng)自動(dòng)時(shí),文字閃爍顯示;當(dāng)內(nèi)容超出窗體,進(jìn)行反彈。

61.1引例1.171.1引例1.2

對輸入的字符進(jìn)行轉(zhuǎn)換的程序。轉(zhuǎn)換規(guī)則:大寫字母轉(zhuǎn)換成小寫字母,小寫字母轉(zhuǎn)換成大寫字母空格不轉(zhuǎn)換其余轉(zhuǎn)換成“*”。要求:每輸入一個(gè)字符,馬上就進(jìn)行判斷和轉(zhuǎn)換。通過上述兩例說明VB面向?qū)ο?、可視化、事件?qū)動(dòng)的特點(diǎn)。71.1引例1.281.2VB主要功能和特點(diǎn)1.具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具;2.事件驅(qū)動(dòng)的編程機(jī)制;3.提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境;4.結(jié)構(gòu)化的程序設(shè)計(jì)語言;5.支持多種數(shù)據(jù)庫系統(tǒng)的訪問;6.VB6.0在開發(fā)環(huán)境上、網(wǎng)絡(luò)功能等的增強(qiáng);81.2VB主要功能和特點(diǎn)1.具有面向?qū)ο蟮目梢暬O(shè)9標(biāo)題欄菜單欄工具欄控件工具箱初始窗體工程資源管理器子窗口屬性子窗口窗體布局子窗口1.3VB集成開發(fā)環(huán)境9標(biāo)題欄菜單欄工具欄控件工具箱初始窗體工程資源管理器子窗口屬10Visualbasic的開發(fā)環(huán)境查看代碼查看對象切換文件夾10Visualbasic的開發(fā)環(huán)境查看代碼查看對象切換11Visualbasic的開發(fā)環(huán)境對象框排序選項(xiàng)卡屬性列表11Visualbasic的開發(fā)環(huán)境對象框排序選項(xiàng)卡屬性121.主窗口應(yīng)用程序窗口,由標(biāo)題欄、菜單欄和工具欄組成。2.窗體(form)窗口設(shè)計(jì)VB程序的界面。3.代碼(code)窗口編輯窗體、標(biāo)準(zhǔn)模塊中的代碼。4.屬性(properties)窗口所有窗體或控件的屬性設(shè)置。5.工程資源管理器(projectexpror)窗口保存一個(gè)應(yīng)用程序所有的文件。6.工具箱(toolbox)窗口顯示各種控件的制作工具,供用戶在窗體上設(shè)計(jì)。121.主窗口131.4程序設(shè)計(jì)方法的發(fā)展1.初期的程序設(shè)計(jì)

高運(yùn)行效率、少占用內(nèi)存為目標(biāo)。2.結(jié)構(gòu)化程序設(shè)計(jì)

程序的可讀性、可維護(hù)性為目標(biāo)。程序=算法+數(shù)據(jù)結(jié)構(gòu)的面向過程的程序設(shè)計(jì)。3.面向?qū)ο蟮某绦蛟O(shè)計(jì)

降低程序的復(fù)雜性、提高軟件的開法效率和改善工作界面為目標(biāo)。程序=對象+消息的面向?qū)ο蟮某绦蛟O(shè)計(jì)。131.4程序設(shè)計(jì)方法的發(fā)展1.初期的程序設(shè)計(jì)141.5對象的有關(guān)概念1.類類是創(chuàng)建對象實(shí)例的模板,包含了創(chuàng)建對象的屬性描述和行為特征的定義。2.對象是類的一個(gè)實(shí)例,繼承了類的屬性、方法。

VB中常用的對象有:窗體、控件等。3.對象的建立和命名4.對象的三要素(1)屬性

對象的性質(zhì),即用來描述和反映對象特征的參數(shù)。(2)方法

對象的行為,即將一些通用的過程編寫好并封裝起來,作為方法供用戶直接調(diào)用。

141.5對象的有關(guān)概念1.類15(3)事件響應(yīng)對象的動(dòng)作稱為事件,它發(fā)生在用戶與應(yīng)用程序交互時(shí)。如單擊控件、鼠標(biāo)移動(dòng)、鍵盤按下等。事件過程指附在該對象上的用戶編寫的程序代碼,是事件的處理程序。事件驅(qū)動(dòng)過程是圖形用戶界面的本質(zhì),由用戶控制而代碼作出響應(yīng)。5.VB程序的執(zhí)行步驟如下:1)啟動(dòng)應(yīng)用程序,裝載和顯示窗體;2)窗體(或窗體上的控件)等待事件的發(fā)生;3)事件發(fā)生時(shí),執(zhí)行對應(yīng)的事件過程;4)重復(fù)執(zhí)行步驟(2)和(3);5)直到遇到END結(jié)束語句結(jié)束程序的運(yùn)行;或按“結(jié)束”強(qiáng)行停止程序的運(yùn)行。15(3)事件161.6建立簡單的應(yīng)用程序以課本P5【例1-1】為例:1.建立用戶界面的對象;2.對象屬性的設(shè)置;3.對象事件過程及編程;4.程序運(yùn)行和調(diào)試;5.保存文件。161.6建立簡單的應(yīng)用程序以課本P5【例1-1】為171.7工程的管理及環(huán)境的設(shè)置一、工程的組成工程文件包含了一個(gè)應(yīng)用程序的所有文件:窗體文件(.frm):控件及屬性、事件過程和自定義過程; 窗體的二進(jìn)制數(shù)據(jù)文件(.frx),自動(dòng)產(chǎn)生同名.frx文件;標(biāo)準(zhǔn)模塊文件(.bas);類模塊的文件(.cls); 資源文件(.res); ActiveX控件的文件(.ocx).二、創(chuàng)建、打開和保存工程171.7工程的管理及環(huán)境的設(shè)置一、工程的組成18三、添加、刪除和保存文件1.窗體名和窗體文件名概念

窗體名:窗體的Name屬性,在代碼中用來引用該窗體,同一工程不能有相同的窗體名;

窗體文件名:窗體存放在磁盤上的文件名,該文件包含了該窗體的所有控件屬性和代碼,同一文件夾不能有相同的文件名。2.在工程中添加現(xiàn)存的窗體時(shí),只是對該窗體文件的引用納入工程。因此,如果更改窗體并保存它,會影響包含此窗體文件的任何工程。3.在工程中刪除窗體時(shí),僅將此窗體從工程里刪除掉,但是窗體文件仍存在于磁盤上。但是,如果在VB之外刪除一個(gè)窗體文件,VB不能更新此工程文件,當(dāng)打開此工程時(shí),將顯示一個(gè)文件丟失的錯(cuò)誤信息。4.對窗體文件改名方法1)打開工程“另存為…Form”實(shí)現(xiàn)文件的復(fù)制——保存工程文件。2)利用編輯程序打開工程文件,修改FORM=XXX的文件名。窗體文件名窗體名18三、添加、刪除和保存文件窗體文件名窗體名191.8生成可執(zhí)行文件和制作安裝盤

以工程文件例1-1為例。1.生成可執(zhí)行文件文件/生成例1-1.exe文件,然后關(guān)閉VisualBasic6.0。2.制作安裝盤在向?qū)У闹笇?dǎo)下運(yùn)行VB6.0中文版工具“Package&Deployment”;“打包”:把工程中用到的各種類型的文件進(jìn)行打包壓縮后,存放到特定的目錄下?!罢归_”:再把這些打包的文件展開到用戶可以攜帶的安裝介質(zhì)軟盤、光盤等。3.檢測安裝程序

在沒有VB6.0系統(tǒng)的環(huán)境下,執(zhí)行安裝盤中的Setup.exe文件,將發(fā)行盤進(jìn)行安裝。191.8生成可執(zhí)行文件和制作安裝盤以工程文件例120第二章程序設(shè)計(jì)與算法

2.1算法概論

2.2基本算法結(jié)構(gòu)圖的設(shè)置

20第二章程序設(shè)計(jì)與算法 21程序設(shè)計(jì)的一般步驟分析:問題定義設(shè)計(jì):計(jì)劃解題選擇與創(chuàng)建界面:選擇和確定界面對象編碼:用程序設(shè)計(jì)語言描述算法測試與調(diào)試:查找并排除程序中的任何錯(cuò)誤完成文檔:整理和組織描述程序的所有資料2.1算法概論1/221程序設(shè)計(jì)的一般步驟2.1算法概論1/222算法概念廣義:算法就是解決某個(gè)問題或處理某個(gè)事件的方法和步驟狹義:算法是專指用計(jì)算機(jī)解決某一問題的方法和步驟。2.1算法概論1/222算法概念2.1算法概論1/2232.1算法概論1/21.算法的種類一類是數(shù)值計(jì)算算法,如求解超越方程的根一類是非數(shù)值計(jì)算算法,如對非數(shù)值信息的排序、查找等。2.算法示例1、求兩個(gè)自然數(shù)的最大公約數(shù)的算法(歐幾里德算法)

S1.輸入兩個(gè)自然數(shù)M、N S2.求M除以N的余數(shù)R S3.使M=N,即用N代換M S4.使N=R,即用R代換N S5.若R≠0,則重復(fù)執(zhí)行S2、S3、S4(循環(huán)),否則轉(zhuǎn)S6 S6.輸出M,M即為M和N的最大公約數(shù)2、在N個(gè)字符串?dāng)?shù)據(jù)集合中,查找有無特定的字符串存在

S1.輸入字符串?dāng)?shù)據(jù)的個(gè)數(shù)N和要查找的字符串S S2.使I=1,I用于計(jì)數(shù)

S3.從字符串?dāng)?shù)據(jù)集合中讀取一個(gè)字符串X S4.若X=S,輸出“找到S”的信息,算法結(jié)束,否則轉(zhuǎn)S5 S5.使I=I+1,計(jì)數(shù)器計(jì)數(shù)

S6.若I≤N,則重復(fù)執(zhí)行S3、S4、S5(循環(huán)),否則轉(zhuǎn)S7 S7.輸出“找不到S”信息,算法結(jié)束3.算法的特征(1)確定性(2)可行性(3)有窮性(4)輸入性(5)輸出性4.算法的描述見p13表、圖5.基本算法結(jié)構(gòu)232.1算法概論1/21.算法的種類1、求兩個(gè)自242.1算法概論2/25.基本算法結(jié)構(gòu)順序結(jié)構(gòu);分支結(jié)構(gòu);循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)可分為兩類:當(dāng)型循環(huán)直到型循環(huán)共同特點(diǎn)是:(1)只有單一的入口和單一的出口;(2)結(jié)構(gòu)中的每個(gè)部分都有執(zhí)行到的可能;(3)結(jié)構(gòu)內(nèi)不存在永不終止的死循環(huán)圖242.1算法概論2/25.基本算法結(jié)構(gòu)圖252.2基本算法結(jié)構(gòu)圖返回252.2基本算法結(jié)構(gòu)圖返回26第三章常用控件與界面設(shè)計(jì)

3.1窗體及常用控件屬性

3.2常用方法

3.3菜單設(shè)計(jì)

3.4多窗體程序設(shè)計(jì)26第三章常用控件與界面設(shè)計(jì) 273.1窗體及常用控件

1.Name名稱屬性創(chuàng)建的對象名稱,有默認(rèn)的名。在程序中,控件名是作為對象的標(biāo)識而引用,不會顯示在窗體上。

2.Caption標(biāo)題屬性 該屬性決定了控件上顯示的內(nèi)容。

3.Height、width、top和left屬性273.1窗體及常用控件1.Name名稱屬性284.Enabled屬性控件是否可操作。當(dāng)設(shè)置為false時(shí),呈暗淡色,禁止用戶進(jìn)行操作。5.Visible屬性控件是否可見。當(dāng)設(shè)置為false時(shí),用戶看不到,但控件本身存在。6.Font屬性

Fontname:字體;Fontsize:字體大??;Fontbold:是否是粗體;

Fontitalic:是否斜體;Fontstrikethru:是否加一刪除線。

Fontunderline:是否帶下劃線。

例2.2在窗體是建立兩個(gè)命令按鈕

Command1和Command2,Command2

的Font通過屬性窗口設(shè)置,其余屬性通過代碼實(shí)現(xiàn)。284.Enabled屬性297.Forecolor前景顏色屬性設(shè)置控件的前景顏色(即正文顏色).。其值是一個(gè)十六進(jìn)制常數(shù),用戶可以在調(diào)色板中直接選擇所需顏色。8.Backcolor背景顏色屬性9.BorderStyle邊框風(fēng)格屬性

0-None:控件周圍沒有邊框。

1-FixedSingle:控件帶有單邊框。10.Alignment屬性控件上正文水平對齊方式

0:正文左對齊;1:右對齊;2:居中。11.AutoSize屬性控件是否根據(jù)正文自動(dòng)調(diào)整大小,

False297.Forecolor前景顏色屬性3012.TabIndex屬性決定了按Tab鍵時(shí),焦點(diǎn)在各個(gè)控件移動(dòng)的順序。各個(gè)控件默認(rèn)

TabIndex值就是以控件建立時(shí)的順序,第一個(gè)為0。13.控件默認(rèn)屬性注意:Command的默認(rèn)屬性為Default,當(dāng)該屬性為True,當(dāng)按Enter鍵,該控件起作用。例3.3

控件設(shè)置效果3012.TabIndex屬性312.窗體1.屬性

Caption標(biāo)題

MaxButton、MinButtonIcon、ControlBoxPicture、BorderStyle(012345)

WindowsState(0-正常、1-最小化、2-最大化)2.事件

Click、DblClick和Load

Load當(dāng)裝入窗體時(shí)激發(fā),通常用于對屬性和變量初始化3.方法

Print、Cls和Move等

例3.4上述屬性、Click、DblClick和Load

事件演示。312.窗體323.標(biāo)簽Label

用于顯示文本(輸出)信息,不能作為輸入信息的界面。

例3.5

顯示浮雕效果的文字,實(shí)現(xiàn)方法:字顏色、標(biāo)簽位置四、文本框TextBox

是一個(gè)文本編輯區(qū)域,可在該區(qū)域輸入,編輯和顯示正文內(nèi)容。

1.其他屬性

Text:正文內(nèi)容;

Maxlength:設(shè)置正文的最多字符個(gè)數(shù),0任意長度值;

MultiLine:是否為多行,默認(rèn)為一行,F(xiàn)alse;

ScrollBars:MultiLine為True時(shí),該屬性才有效,表示滾動(dòng)條的形式

0-None、1-Horizontal、2-Vertical、3-Both;

Locked:是否可被編輯屬性,F(xiàn)alse,表示為可編輯。PassWordChar:口令字符;Text屬性返回輸入的數(shù)據(jù),屏幕顯示該字符;

SelStart、SelLength、SelText:選中文本的起始、長度、內(nèi)容。

例3.6復(fù)制選中的文本323.標(biāo)簽Label332.常用事件

Change:當(dāng)改變文本框的Text屬性時(shí)會引發(fā)該事件。

KeyPress(KeyAsciiAsInteger):同上,并可返回一個(gè)KeyAscii參數(shù)

KeyAscii為13,按回車鍵;為0去除剛輸入的字符。

LostFocus:當(dāng)控件失去焦點(diǎn)時(shí)發(fā)生。

GotFocus:當(dāng)控件獲得焦點(diǎn)時(shí)發(fā)生。3.常用方法

[對象.]SetFocus:是把光標(biāo)移到指定的文本框?qū)ο笾小?.文本框的應(yīng)用數(shù)據(jù)過濾例3.7要求輸入合法的數(shù)字?jǐn)?shù)據(jù)。當(dāng)輸入結(jié)束時(shí)(按Tab鍵),對于輸入正確的數(shù)據(jù),顯示正確信息;對輸入的非數(shù)字?jǐn)?shù)據(jù),則顯示錯(cuò)誤信息、清除文本框中的內(nèi)容,并使焦點(diǎn)重新回到文本框。LostFocus當(dāng)輸入結(jié)束按Tab鍵時(shí),該事件激發(fā)。

IsNumeric(X):判斷是否輸入非數(shù)字?jǐn)?shù)據(jù)。SetFocus:使焦點(diǎn)重新回到文本框。

332.常用事件343.例3.8

建立一個(gè)允許剪切、復(fù)制和粘貼的簡單便箋板程序??稍黾觾?nèi)容:利用MouseMove事件決定命令按鈕的有效性,即當(dāng)選中內(nèi)容,“剪切”、“復(fù)制”按鈕有效,否則無效。343.例3.8354、命令按鈕CommandButton

接受用戶輸入的命令。輸入命令可以有三種方式:鼠標(biāo)單擊、Tab鍵焦點(diǎn)到該按鈕、快捷鍵。

1.其他屬性Caption:命令按鈕顯示的內(nèi)容,可設(shè)置快捷鍵,例&Ok,顯示

Ok。Value:檢查該按鈕是否按下。該屬性在設(shè)計(jì)時(shí)無效。Picture:按鈕可顯示圖片文件(.bmp和.Ico),當(dāng)Style為1時(shí)有效。Style:確定顯示的形式,0只能顯示文字,1文字、圖形均可。ToolTipText:設(shè)置工具提示,和Picture結(jié)合使用。

2.事件

Click354、命令按鈕CommandButton365.單選鈕和復(fù)選框Caption屬性:文本標(biāo)題。Alignment屬性

0:控件鈕在左邊,標(biāo)題顯示在右邊。

1:控件鈕在右邊,標(biāo)題顯示在左邊。

Value屬性

單選鈕(邏輯型)

檢查框(數(shù)值型)

True:選定 0--Unchecked:未被選定

False:未選定

1--Checked:選定

2--Grayed:灰色,禁止選擇

Style屬性

0--Standard:標(biāo)準(zhǔn)方式

1--Graphical:圖形方式365.單選鈕和復(fù)選框Caption屬性:文本標(biāo)題。37

事件:Click

因?yàn)閱螕魰r(shí)自動(dòng)改變狀態(tài),故不需要編寫過程。

例3.9用單選鈕和檢查框設(shè)置文本框的字體。37 386.框架(Frame)框架內(nèi)控件的創(chuàng)建方法:方法1:單擊工具箱上的工具,然后用出現(xiàn)的“+”指針,在框架中適當(dāng)位置拖拉出適當(dāng)大小的控件。不能使用雙擊工具箱上圖標(biāo)的自動(dòng)方式。方法2:將控件“剪切”到剪貼板,然后粘貼(Ctrl+V)到框架。

框架設(shè)Caption為"字體"386.框架(Frame)框架內(nèi)控件的創(chuàng)建方法:框架設(shè)Ca39

Caption屬性:框架標(biāo)題

Enabled屬性

False:標(biāo)題呈灰色,不允許對框架內(nèi)的對象進(jìn)行操作。

Visible屬性

True:框架及其控件可見。

False:框架及其控件被隱含起來。

Click、DblClick事件:

一般不需要編寫框架的事件過程。

例3.10

框架用法示例。39 407.列表框和組合框列表框各主要屬性的值:

List1.ListIndex=3(下標(biāo)從0開始的)List1.ListCount=5List1.Selected(3)=True,其余為False。

List1.Sorted=False,沒有排序。

List1.Text為“cox”, 與List1.List(List1.ListIndex)相等List1組合框各主要屬性的值:

Combo1.ListIndex=0Combo1.ListCount=8Combo1.Selected(0)=True

其余為False。Combo1.Sorted=False

Combo1.Text為“李寧”Combo1407.列表框和組合框列表框各主要屬性的值:List1組合41 1.共有的重要屬性

(P:可在程序中設(shè)置或引用,D:可在設(shè)計(jì)狀態(tài)設(shè)置。) List:PD

字符型數(shù)組,存放列表框的項(xiàng)目,下標(biāo)是從0開始。

ListIndex:P

選中的項(xiàng)目的序號,沒有項(xiàng)目被選定時(shí)為-1 ListCount:P

項(xiàng)目的數(shù)量,ListCount-1是最后一項(xiàng)的下標(biāo)。

Sorted:D True:按字母順序排列。

False:按加入先后順序排列。

Text:P

列表項(xiàng)中被選定的內(nèi)容,

List1.List(List1.ListIndex)=List1.Text。41 1.共有的重要屬性42 2.列表框的特有屬性

Selected:P

邏輯數(shù)組。

Selected(i)的值為True表示第i+1項(xiàng)被選中。

MultiSelect 0-None:禁止多項(xiàng)選擇。

1-Simple:簡單多項(xiàng)選擇。

2-Extended:擴(kuò)展多項(xiàng)選擇。

3.組合框的特有屬性

Style類型Style輸入下拉式組合框0能簡單組合框1能下拉式列表框2不能42 2.列表框的特有屬性類型Style輸入下拉式組合框043 4.方法

AddItem

對象.AddItemitem[,index] RemoveItem

對象.RemoveItemindex Clear

對象.Clear 5.事件

列表框:Click、DblClick。 組合框:Click,只有簡單組合框才有DblClick事件。

一般不需要編寫Click事件過程。

通常在單擊命令按鈕或發(fā)生DblClick事件時(shí)才讀取Text屬性。

43 4.方法44

例3.11

對列表框進(jìn)行項(xiàng)目添加、修改和刪除操作。

例3.12

對列表框進(jìn)行項(xiàng)目添加、修改和刪除操作。

44 例3.11對列表框進(jìn)行項(xiàng)目添加、修改和刪除操作。 45

時(shí)鐘控件以Interval為時(shí)間間隔產(chǎn)生Timer事件。

屬性

Interval屬性 單位:ms(0.001s),0.5秒是500。

Interval=0:屏蔽計(jì)時(shí)器。

Enabled屬性

True:有效計(jì)時(shí)

False:停止時(shí)鐘工作 事件

Timer

例3.13定時(shí)的鬧鐘

例3.14蝴蝶飛舞

8.時(shí)鐘(Timer)45 時(shí)鐘控件以Interval為時(shí)間間隔產(chǎn)生Timer事463.2常用方法方法是面向?qū)ο蟮?,故使用的形式為:[對象.]方法

1.Print方法

形式:[對象.]Print[{Spc(n)|Tab(n)}][表達(dá)式列表][;|,]

作用:在對象上輸出信息對象:窗體、圖形框或打印機(jī)(Printer),省略對象在窗體上輸出。Spc(n)函數(shù):插入n個(gè)空格,允許重復(fù)使用。Tab(n)函數(shù):左端開始右移動(dòng)n列,允許重復(fù)使用。;(分號):光標(biāo)定位上一個(gè)顯示的字符后。,(逗號):光標(biāo)定位在下一個(gè)打印區(qū)的開始位置處。無;,時(shí)換行。開始打印的位置是由對象的CurrentX和CurrentX屬性決定,缺省為打印對象的左上角0,0。463.2常用方法47窗體的Print方法(補(bǔ)充)例1:a=100:b=200Printa+bPrintPrint“ABCDEFG”輸出結(jié)果為:300ABCDEFG47窗體的Print方法(補(bǔ)充)例1:輸出結(jié)果為:48窗體的Print方法(補(bǔ)充)例2:x=5:y=10:z=15Printx,y,z,”ABCDEF”PrintPrintx,y,z;“ABCDEFG”;”HIJK”輸出結(jié)果為:51015ABCDEF51015ABCDEFGHIJK48窗體的Print方法(補(bǔ)充)例2:輸出結(jié)果為:49窗體的Print方法(補(bǔ)充)例3:Print“30+50=”,Print30+50Print“100+50=”;Print100+50輸出結(jié)果為:30+50=80100+50=15049窗體的Print方法(補(bǔ)充)例3:輸出結(jié)果為:50例3.15顯示圖形

PrivateSubForm_Click()Fori=1To5PrintTab(i);String(6-I,"▼");Spc(6);String(I,"▲")NextiEndSub注意:String(number,character)返回指定長度重復(fù)字符的字符串??紤]:若把Spc(6)換成Tab(6),效果如何?50例3.15顯示圖形注意:512.Cls方法

形式:[對象.]Cls

作用:清除運(yùn)行時(shí)在窗體或圖形框中顯示的文本或圖形。注意:不清除在設(shè)計(jì)時(shí)的文本和圖形。3.Move方法形式:[對象.]Move左邊距離[,上邊距離[,寬度[,高度]]]

作用:移動(dòng)窗體或控件,并可改變其大小。

對象:可以是窗體及除時(shí)鐘、菜單外的所有控件

例3.16圖形移到窗體的中心。512.Cls方法52應(yīng)用舉例

例3-17編一計(jì)算月支付貸款的程序?,F(xiàn)要求根據(jù)房產(chǎn)商提供的信息,買房者選擇房型、面積、單價(jià)、按揭期等信息,計(jì)算每月支付代款的程序。窗體1:列表框選擇數(shù)據(jù)、標(biāo)簽顯示數(shù)據(jù)、文本框輸入數(shù)據(jù);窗體2:圖形框顯示房屋的平面圖。Pmt函數(shù)計(jì)算月支付貸款。52應(yīng)用舉例例3-17編一計(jì)算月支付貸款的程序?,F(xiàn)要533.3菜單的設(shè)計(jì)

下拉式菜單系統(tǒng)的組成結(jié)構(gòu):

主菜單名快捷鍵熱鍵下級子菜單標(biāo)記主菜單條分隔線菜單項(xiàng)子菜單名533.3菜單的設(shè)計(jì) 下拉式菜單系統(tǒng)的組成結(jié)構(gòu):主菜54一、菜單編輯器的使用工具/菜單編輯器(Ctrl+E); 窗體上快顯菜單/菜單編輯器。常用屬性:1.標(biāo)題(Caption)熱鍵前面加&2.名稱(Name)文本框分隔符也應(yīng)有名稱3.快捷鍵(Shortcut)菜單名沒有快捷鍵4.復(fù)選(Checked)檢查框TRUE有5.有效(Enabled)檢查框 6.可見(Visible)檢查框菜單列表框菜單項(xiàng)屬性

操作按鈕54一、菜單編輯器的使用常用屬性:菜單列表框菜單項(xiàng)屬性操55二、彈出菜單(快捷菜單)

彈出菜單是獨(dú)立于窗體菜單欄而顯示在窗體內(nèi)的浮動(dòng)菜單。顯示位置取決于單擊鼠標(biāo)鍵時(shí)指針的位置。設(shè)計(jì)與普通菜單相同(如果不希望菜單出現(xiàn)在窗口的頂部,該菜單名Visible屬性設(shè)置為False)。菜單彈出的方法:

[對象.]PopupMenu菜單名,標(biāo)志,x,y

標(biāo)志,表示彈出的位置和觸發(fā)的鍵SubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenuEditMenu,vbPopupMenuCenterAlignEndSub55二、彈出菜單(快捷菜單)彈出菜單是獨(dú)立于窗563.4多窗體程序設(shè)計(jì)一、多重窗體1.添加窗體

“工程|添加窗體”新建

現(xiàn)存

添加“現(xiàn)存”窗體時(shí)要注意:防止多個(gè)窗體的Name相同而不能添加;添加的窗體實(shí)際是將其他工程中已有的窗體加入,多個(gè)工程共享窗體;通過“另存為”命令以不同的窗體文件名保存,斷開共享。

2.保存窗體

一個(gè)工程中有多個(gè)窗體,應(yīng)分別取不同文件名保存在磁盤上,VBP工程文件中記錄了該工程的所有窗體文件名。

563.4多窗體程序設(shè)計(jì)一、多重窗體新建現(xiàn)存573.設(shè)置啟動(dòng)窗體設(shè)置啟動(dòng)對象4.窗體語句

(1)Load語句:裝入窗體到內(nèi)存但沒有顯示窗體 形式:Load窗體名稱

(2)Unload語句:從內(nèi)存刪除窗體形式:Unload窗體名稱“工程/屬性”“啟動(dòng)對象”573.設(shè)置啟動(dòng)窗體設(shè)置啟動(dòng)對象4.窗體語句“工程/屬性585.窗體方法

(1)Show方法:顯示一個(gè)窗體(當(dāng)窗體沒有Load,自動(dòng)Load)

[窗體名稱].Show[模式] 0-Modal:關(guān)閉才能對其他窗體進(jìn)行操作。

1-Modeless,可以對其他窗體進(jìn)行操作。

(2)Hide方法:隱藏窗體,沒有Unload刪除

[窗體名稱.]Hide

6.不同窗體間數(shù)據(jù)的存取

(1)存取控件的屬性

另一窗體名.控件名.屬性

(2)存取變量的值 另一窗體名.全局變量名585.窗體方法59

例3.21輸入和計(jì)算學(xué)習(xí)成績。模塊:PublicMATHAsSinglePublicPHYSICSAsSinglePublicCHEMISTRYAsSinglePublicCHINESEAsSinglePublicENGLISHAsSingle59 例3.21輸入和計(jì)算學(xué)習(xí)成績。模塊:60第四章數(shù)據(jù)、表達(dá)式與簡單程序設(shè)計(jì)

4.1編碼規(guī)則

4.2數(shù)據(jù)類型

4.3變量與常量

4.4運(yùn)算符和表達(dá)式

4.5常用函數(shù)

4.6常見錯(cuò)誤

60第四章數(shù)據(jù)、表達(dá)式與簡單程序設(shè)計(jì) 614.1

編碼基礎(chǔ)1.VB代碼不區(qū)分字母的大小寫

系統(tǒng)保留字自動(dòng)轉(zhuǎn)換每個(gè)單詞的首字母大寫;用戶自定義行以第一次為準(zhǔn)。2.語句書寫自由

一行可書寫幾句語句,之間用冒號分隔;一句語句可分若干行書寫,用續(xù)行符_連接一行<=255個(gè)字符。3.注釋有利于程序的維護(hù)和調(diào)試

Rem開始或單撇號'614.1編碼基礎(chǔ)1.VB代碼不區(qū)分字母的大小寫624.2

數(shù)據(jù)類型624.2數(shù)據(jù)類型63一、常量1.數(shù)值常量:123-135742-9.654E-62.字符常量:"VisualBasic"3.邏輯型常量:True和False4.日期常量:#10/30/1999#5.符號常量:[Public|Private]Const<常量名>[Astype]=<數(shù)值>6.系統(tǒng)提供的常量系統(tǒng)定義常量位于對象庫中,可通過“對象瀏覽器”查看。例:vbNormalvbMinimized、vbCrLf等4.3常量與變量63一、常量1.數(shù)值常量:123-13574264二、變量

1/41.變量名及類型說明2.變量作用域與變量說明語句(1)變量作用域(2)變量說明語句(3)OptionExplicit語句64二、變量1/41.變量名及類型說明65二、變量

2/41.變量名及類型說明變量名的命名規(guī)則是:首字符必須是字母;長度不超過255個(gè)字符;在作用域內(nèi)必須唯一;作為變量名的字符串內(nèi)不得包括點(diǎn)號和用于類型說明的字符%、&、!、#、@、$。約定前綴:P46表4-265二、變量2/41.變量名及類型說明約定前綴:P46表66二、變量

3/42.變量作用域與變量說明語句(1)變量作用域VB有三個(gè)作用域等級:局部 在過程中說明,僅在說明它的過程中有效窗體/模塊 在窗體或模塊中說明,在定義該變量的模塊或窗體的所有過程內(nèi)均有效全局(公有) 在模塊或窗體中說明,在工程內(nèi)的所有過程中都有效66二、變量3/42.變量作用域與變量說明語句67二、變量

4/42.變量作用域與變量說明語句(2)變量說明語句,可使用四種說明語句說明變量的類型:

Dim<變量名>As<類型>[,<變量名>As<類型>]...Public<變量名>As<類型>[,<變量名>As<類型>]...Private<變量名>As<類型>[,<變量名>As<類型>]...Static<變量名>As<類型>[,<變量名>As<類型>]...Public語句用于說明全局變量,Private語句用于說明窗體/模塊級變量,Static用于說明靜態(tài)變量,而Dim語句則可用于各種場合,是最常用的。顯式說明與隱式說明67二、變量4/42.變量作用域與變量說明語句682.變量作用域與變量說明語句(3)OptionExplicit語句系統(tǒng)檢查所有未經(jīng)顯式說明的變量,一旦發(fā)現(xiàn)有這樣的變量存在,就會產(chǎn)生一個(gè)出錯(cuò)信息,提示使用者改正錯(cuò)誤。二、變量682.變量作用域與變量說明語句二、變量694.4運(yùn)算符和表達(dá)式一、運(yùn)算符

1.算術(shù)運(yùn)算符

例:5+10mod10\9/3+2^2結(jié)果:10

694.4運(yùn)算符和表達(dá)式一、運(yùn)算符702.字符串運(yùn)算符

&、+

字符串連接

"123"+"456"結(jié)果"123456""123"&"456"結(jié)果"123456"

區(qū)別:+

兩邊必須是字符串,&不一定例如:

"abcdef"&12345'結(jié)果為"abcdef12345""abcdef"+12345'出錯(cuò)

"123"&456'結(jié)果為"123456"“123”+456'結(jié)果為579注意:

"123"+True'結(jié)果為122True轉(zhuǎn)換為數(shù)值-1,F(xiàn)alse轉(zhuǎn)換為數(shù)值0702.字符串運(yùn)算符713.關(guān)系運(yùn)算符

將兩個(gè)操作數(shù)進(jìn)行大小比較,結(jié)果為邏輯量。字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:"ABCDE">"ABRA" 結(jié)果為False

"男字">"女字"按漢字的拼音字母比較713.關(guān)系運(yùn)算符"男字">"女字"按漢字的拼音字母724.邏輯運(yùn)算符

將操作數(shù)進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值:條件表達(dá)式1And條件表達(dá)式2條件表達(dá)式均為T,結(jié)果為T;條件表達(dá)式1Or條件表達(dá)式2條件表達(dá)式有一個(gè)為T結(jié)果為T。724.邏輯運(yùn)算符73二、表達(dá)式

1.組成

變量、常量、函數(shù)、運(yùn)算符和圓括號。

2.書寫規(guī)則

(1)運(yùn)算符不能相鄰。例a+-b是錯(cuò)誤的。

(2)乘號不能省略。例x乘以y應(yīng)寫成:x*y。

(3)括號必須成對出現(xiàn),均使用圓括號。

(4)表達(dá)式從左到右在同一基準(zhǔn)上書寫,無高低、大小。

3.不同數(shù)據(jù)類型的轉(zhuǎn)換運(yùn)算結(jié)果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠。

Integer<Long<Single<Double<Currency4.優(yōu)先級算術(shù)運(yùn)算符>=字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算73二、表達(dá)式74表達(dá)式書寫舉例

sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)a*b*c*d/e/f/g或a*b*c*d/(e*f*g)74表達(dá)式書寫舉例sin(45*3.14/180)+75例:用人單位招聘秘書:年齡小于40歲的女性,學(xué)歷專科或本科,年齡<40,性別=“女”,(學(xué)歷=“??啤?,學(xué)歷=“本科”)

And

And

Or比a小,比b大用Ora小數(shù)b大數(shù)a小數(shù)b大數(shù)比a大,比b小用And例:表示算術(shù)表達(dá)式:正確的VB表達(dá)式:3〈=xAndx<=7

錯(cuò)誤的VB表達(dá)式:3<=x<=7或

3<=xOrx<=7考慮:若分別寫成:年齡<40And性別="女"And(學(xué)歷="專科"And學(xué)歷="本科")

年齡<40Or性別="女"Or(學(xué)歷="???Or學(xué)歷="本科")75例:用人單位招聘秘書:年齡小于40歲的女性,學(xué)歷??苹虮?64.5常用內(nèi)部函數(shù)1.數(shù)學(xué)函數(shù)

Rnd函數(shù)返回0和1(包括0但不包括1)之間的雙精度隨機(jī)數(shù)。每次運(yùn)行時(shí),要產(chǎn)生不同序列的隨機(jī)數(shù),執(zhí)行Randomize語句。例產(chǎn)生1~100的隨機(jī)數(shù):Int(Rnd*100)+12.轉(zhuǎn)換函數(shù)

Chr(66)"B" Asc("B")66Asc(Chr(99))99Chr(Asc("K"))"K"Ucase("abcdefg")"ABCDEFG"3.日期函數(shù)Time返回系統(tǒng)時(shí)間、Date返回系統(tǒng)日期、Now返回系統(tǒng)日期和時(shí)間764.5常用內(nèi)部函數(shù)Time返回系統(tǒng)時(shí)間、774.字符串函數(shù)

Mid("ABCDEFG",2,3)"BCD"InStr(2,"ABCDEFG","EF") 5Replace("ABCDABCD","CD","123") “AB123AB123”774.字符串函數(shù)785.格式輸出函數(shù)例4.1利用Format函數(shù)顯示有關(guān)的日期和時(shí)間。PrivateSubForm_Click()FontSize=12MyTime=#9:21:30PM#MyDate=#7/21/1997#PrintTab(2);Format(MyDate,"m/d/yy")PrintTab(2);Format(MyDate,"mmmm-yy")PrintTab(2);Format(MyTime,"h-m-sAM/PM")PrintTab(2);Format(MyTime,"hh:mm:ssA/P")PrintTab(2);Format(Date,"dddd,mmmm,dd,yyyy")PrintTab(2);Format(Now,"yyyy年m月dd日hh:mm")PrintFormatDateTime(Now)'VB6.0新提供的函數(shù)EndSub785.格式輸出函數(shù)79可以使數(shù)值、日期或字符型數(shù)據(jù)按指定格式輸出。語法格式:

Format(〈表達(dá)式〉,〈格式字符串〉)說明:〈表達(dá)式〉可以是數(shù)值型、日期型或字符型的表達(dá)式。〈格式字符串〉是一個(gè)字符串常量或變量,由專門的格式說明字符組成。這些說明字符決定了數(shù)據(jù)項(xiàng)〈表達(dá)式〉的顯示格式和長度。當(dāng)〈格式字符串〉是字符串常量的時(shí)候,必須放在雙引號中。格式輸出函數(shù)Format()返回一個(gè)Variant類型的函數(shù)。79可以使數(shù)值、日期或字符型數(shù)據(jù)按指定格式輸出。80常用的數(shù)值型格式說明字符字符 說明 例子#數(shù)字占位符,顯示一位數(shù)字或什么都不顯示,如果表達(dá)式在格式字符串中#的位置上有數(shù)字存在,那么就顯示出來;否則,該位置就什么都不顯示。Format(123.45,”####.###”)返回:123.450.,%數(shù)字占位符,顯示一位數(shù)字或是零,如果表達(dá)式在格式字符串中0的位置上有一位數(shù)字存在,那么就顯示出來;否則,就以零顯示。Format(123.45,”0000.000”)返回:0123.450小數(shù)點(diǎn)占位符。千位符號占位符。Format(1234.5,”#,###.##”返回:1,234.5百分比符號占位符,表達(dá)式乘以100。而百分比字符(%)會插入到格式字符串中出現(xiàn)的位置上。Format(0.12345,”0.00%”)返回:12.35%80常用的數(shù)值型格式說明字符字符 說明 例子#數(shù)81常用的時(shí)間日期型格式說明字符

字符 說明 例子dddddd以完整日期表示法顯示日期系列數(shù)。Format(Date,”dddddd”)返回:2000年5月15日mmmmHhMm以全稱表示月以四位數(shù)表示年。以有前導(dǎo)零的數(shù)字顯示小時(shí)(00~23)。以有前導(dǎo)零的數(shù)字顯示分(00~59)。以有前導(dǎo)零的數(shù)字顯示秒(00~59)。yyyyFormat(Date,”mmmm”)返回:MayFormat(Date,”yyyy”)返回:2000SsttttAM/PM以完整日期表示法顯示(包括時(shí)、分、秒),用系統(tǒng)識別的時(shí)間格式定義的系統(tǒng)分隔符進(jìn)行格式化。缺省的時(shí)間格式為h:mm:ssFormat(Time,”tttt”)返回:20:56:01在中午前以12小時(shí)配合大寫AM符號來使用;中午和11:59PM間以12小時(shí)配合大寫PM來使用。Format(Time,”ttttAM/PM”)返回:20:57:46PM81常用的時(shí)間日期型格式說明字符字符 說明 82常用的字符型格式說明字符Format(“ABab”,”<@@@@@@”)返回:“abab”Format(“ABab”,”>@@@@@@”)返回:“ABAB”字符 說明 例子@字符占位符。顯示字符或是空白,如果字符串在格式字符串中@的位置有字符存在,那么就顯示出來;否則就在那個(gè)位置顯示空白。除非有嘆號(!)在格式字符串中,否則字符占位符由右而左被填充。Format(“ABab”,”@@@@@@”)返回:“ABab”&<>!強(qiáng)制小寫。將所有字符以小寫格式顯示。字符占位符。顯示字符或什么都不顯示,如果字符串在格式字符串中和號(&)的位置有字符存在,那么就顯示出來;否則,就什么都不顯示。除非有嘆號(!)在格式字符串中,否則字符占位符由右而左被填充。強(qiáng)制大寫。將所有字符以大寫格式顯示。Format(“ABab”,”&&&&&&”)返回:“ABab”強(qiáng)制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。Format(“ABab”,”!@@@@@@”)返回:“Abab”82常用的字符型格式說明字符Format(“ABab”,”<836.Shell函數(shù)

Shell函數(shù)負(fù)責(zé)執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè)Variant,如果成功,代表這個(gè)程序的進(jìn)程ID,若不成功,則會返回0。

形式:Shell(命令字符串,窗口類型)

窗口類型值為1表示正常窗口,缺省窗口最小化為圖標(biāo)。

i=Shell("c:\windows\calc.exe")

j=Shell("c:\",1)

提示:如果不知道應(yīng)用程序的路徑名,可用Start命令啟動(dòng)程序

i=Shell(start&"calc.exe");i=Shell(start&"vb6.exe")836.Shell函數(shù)提示:如果不知道應(yīng)用程序的路徑名,可844.6常見錯(cuò)誤1.邏輯表達(dá)式書寫錯(cuò),在VB沒有造成語法錯(cuò)而形成邏輯錯(cuò)

例如,數(shù)學(xué)表達(dá)式3≤x<10

VB表達(dá)式寫為

3<=xAndx<10。

問題在于VB中的邏輯量與數(shù)值量可相互轉(zhuǎn)換。2.同時(shí)給多個(gè)變量賦值,在VB沒有造成語法錯(cuò)而形成邏輯錯(cuò)例如:Dimx%,y%,z%x=y=z=13.標(biāo)準(zhǔn)函數(shù)名寫錯(cuò)

4.變量名寫錯(cuò)檢查方法:在通用聲明段加OptionExplicit5.語句書寫位置錯(cuò)

在通用聲明段只能有Dim語句,不能有賦值等其他語句844.6常見錯(cuò)誤1.邏輯表達(dá)式書寫錯(cuò),在VB沒85完成作業(yè)P59-61習(xí)題

1、5、6、8、9、10、11、

12、13、14、15、16、17實(shí)驗(yàn)指導(dǎo)書 實(shí)驗(yàn)4所有填空85完成作業(yè)P59-61習(xí)題86第五章順序、分支與循環(huán)

5.1順序結(jié)構(gòu)

5.2選擇結(jié)構(gòu)

5.3循環(huán)結(jié)構(gòu)

5.4其他輔助控制語句

5.5常用算法(一)

5.6常見錯(cuò)誤

(順序、條件、循環(huán))86第五章順序、分支與循環(huán) 5.1順序結(jié)構(gòu)875.1順序結(jié)構(gòu)一、賦值語句

形式:[LET]變量名=表達(dá)式

作用:將表達(dá)式的值賦值給變量名。一般用于給變量賦值或?qū)丶O(shè)定屬性值。例:sRate!=0.1Text1.Text="歡迎使用VisualBasic6.0"

當(dāng)表達(dá)式的類型與變量的類型不一致時(shí),強(qiáng)制轉(zhuǎn)換成左邊的精度,如

iA%=10/3iA中的結(jié)果為3

注意:雖然賦值號與關(guān)系運(yùn)算符等于號都用“=”表示,VB系統(tǒng)會根據(jù)所處的位置自動(dòng)判斷是何種意義的符號。

875.1順序結(jié)構(gòu)一、賦值語句88二、與用戶交互函數(shù)和過程

1.InputBox函數(shù)

InputBox(提示[,標(biāo)題][,缺省][,x坐標(biāo)位置][,y坐標(biāo)位置])

其中:提示:提示信息;標(biāo)題:對話框標(biāo)題;缺?。狠斎?yún)^(qū)缺省值函數(shù)返回字符類型。例要在屏幕上顯示圖示的對話框:相應(yīng)的語句如下:DimstrNameAsString*40strName=InputBox("請輸入你的姓名"+vbCrLf+"然后單擊確定","輸入框")也可以使用如下語句:DimstrNameAsString*40,strS1AsString*40strS1="請輸入你的姓名"+Chr(13)+Chr(10)+"然后單擊確定"

strName=InputBox(strS1,"輸入框"

,,100,100)當(dāng)鍵盤輸入“王曉明”后,變量strName獲得鍵盤輸入的值。88二、與用戶交互函數(shù)和過程相應(yīng)的語句如下:892.MsgBox函數(shù)和MsgBox過程

函數(shù)形式:變量[%]=MsgBox(提示[,按鈕][,標(biāo)題])

過程形式:MsgBox提示[,按鈕][,標(biāo)題]

按鈕值如下:函數(shù)返回所選按鈕整數(shù)值:892.MsgBox函數(shù)和MsgBox過程90例5.1編一帳號和密碼檢驗(yàn)程序。要求:帳號不超過6位數(shù)字,有錯(cuò),清除原內(nèi)容再輸入。密碼輸入時(shí)在屏幕上以“*”代替;若密碼錯(cuò),顯示有關(guān)信息,選擇“重試”按鈕,清除原內(nèi)容再輸入,選擇“取消”按鈕,停止運(yùn)行。分析:帳號6位,MaxLength為6,LostFocus判斷數(shù)字IsNumeric函數(shù)密碼PassWordChar為“*”,MsgBox函數(shù)設(shè)置密碼錯(cuò)對話框。90例5.1編一帳號和密碼檢驗(yàn)程序。91常見錯(cuò)誤數(shù)據(jù)合法性檢查中引起程序的死循環(huán)PrivateSubText1_LostFocus()IfNotIsNumeric(Text1)ThenText1=""Text1.SetFocusEndIfEndSubPrivateSubText2_LostFocus()IfNotIsNumeric(Text2)ThenText2=""Text1.SetFocusEndIfEndSubIfText2<>""AndNotIsNumeric(Text2)Text2Text1確定91常見錯(cuò)誤數(shù)據(jù)合法性檢查中引起程序的死循環(huán)Priva925.2選擇結(jié)構(gòu)

1.If…Then語句(單分支結(jié)構(gòu))

If<表達(dá)式>Then

語句塊

EndIf

If<表達(dá)式>Then<語句>

例:已知兩個(gè)數(shù)x和y,比較它們的大小,使得x大于y.

Ifx<yThent=xx=yy=tEndIf

或Ifx<yThent=x:x=y:y=t重要的是學(xué)會兩個(gè)數(shù)的交換,若上述語句次序變一下,結(jié)果如何?925.2選擇結(jié)構(gòu)例:已知兩932.If…Then…Else語句(雙分支結(jié)構(gòu))

If<表達(dá)式>Then<語句塊1>Else<語句塊2>EndIf

If<表達(dá)式>Then<語句1>Else<語句2>

計(jì)算分段函數(shù):單分支結(jié)構(gòu)實(shí)現(xiàn):y=cos(x)-x^3+3*xIfx<>0Theny=sin(x)+sqr(x*x+1)

雙分支結(jié)構(gòu)實(shí)現(xiàn):

Ifx<>0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)-x^3+3*xEndIf932.If…Then…Else語句(雙分支結(jié)構(gòu))單分支結(jié)943.If…Then…ElseIf語句(多分支結(jié)構(gòu))

形式:

If<表達(dá)式1>Then <語句塊1>ElseIf<表達(dá)式2>Then <語句塊2> … [Else

語句塊n+1]EndIf943.If…Then…ElseIf語句(多分支結(jié)構(gòu))95例5.2已知變量strC中存放了一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。用多分支結(jié)構(gòu)實(shí)現(xiàn):

IfUcase(strC)>="A"AndUcase(strC)<="Z"Then

PrintstrC+"是字母字符"ElseIfstrC>="0"AndstrC<="9"Then PrintstrC+"是數(shù)字字符"Else PrintstrC+"其他字符"EndIf不管有幾個(gè)分支,依次判斷,當(dāng)某條件滿足,執(zhí)行相應(yīng)的語句,其余分支不再執(zhí)行;若條件都不滿足,且有Else子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。.

ElseIf不能寫成

ElseIf。例5.2a根據(jù)邊長判斷三角形類型95例5.2已知變量strC中存放了一個(gè)字符,判斷該字符96例5.3已知百分制成績mark,顯示對應(yīng)的五級制成績哪些正確,哪些錯(cuò)誤?96例5.3已知百分制成績mark,顯示對應(yīng)的五級制成績974.If語句的嵌套

If語句的嵌套是指If或Else后面的語句塊中又包含If語句。形式如下:

If<表達(dá)式1>Then

If<表達(dá)式11>Then…EndIf…EndIf

例5.4已知x,y,z三個(gè)數(shù),使得x>y>z用一個(gè)IF語句和一個(gè)嵌套的IF語句實(shí)現(xiàn)Ifx<yThent=x:x=y:y=t

Ify<zThent=y:y=z:z=t

Ifx<yThent=x:x=y:y=tEndIf

EndIfIf語句的嵌套注意事項(xiàng):書寫鋸齒型;If與EndIf配對。974.If語句的嵌套例5.4已知x,y,z三個(gè)數(shù),使得981、學(xué)校對學(xué)習(xí)成績優(yōu)良的學(xué)生進(jìn)行獎(jiǎng)勵(lì),獲獎(jiǎng)的條件如下:(1)所考5門課的總分超過450分。(2)每門課的成績都在88分以上。(3)前3門(主課)的成績都在95分以上,其他兩門(非主課)的成績都在80分以上。輸入某學(xué)生5門課的成績s1、s2、s3、s4、s5,判斷他是否能夠獲獎(jiǎng)。981、學(xué)校對學(xué)習(xí)成績優(yōu)良的學(xué)生進(jìn)行獎(jiǎng)勵(lì),獲獎(jiǎng)的條件如下:99

鐵路托運(yùn)行李,從甲地到乙地,規(guī)定每張客票托運(yùn)費(fèi)計(jì)算方法是行李重量不超過50kg時(shí),0.25元/kg,超過50kg而不超過100kg時(shí),其超過部分按0.35元/kg收費(fèi),超過100kg時(shí),其超過部分按0.45元/kg收費(fèi)。編寫程序,輸入行李重量,計(jì)算并輸出托運(yùn)的費(fèi)用。設(shè)行李重量為wkg,應(yīng)付運(yùn)費(fèi)為x元,則運(yùn)費(fèi)公式為:

0.25*w(w<=50)X=0.25*50+0.35*(w-50)(50<w<=100)0.25*50+0.35*50+0.45*(w-100)(w>100)源程序1源程序299鐵路托運(yùn)行李,從甲地到乙地,規(guī)定每張客票100

某百貨公司為了促銷,采用購物打折扣的優(yōu)惠辦法:每位顧客一次購物

(1)在1000元以上者,按九五折優(yōu)惠;(2)在2000元以上者,按九折優(yōu)惠;(3)在3000元以上者,按八五折優(yōu)惠;(4)在5000元以上者,按八折優(yōu)惠;編寫程序,輸入購物款數(shù),計(jì)算并輸出優(yōu)惠價(jià)。源程序1源程序2源程序3100某百貨公司為了促銷,采用購物打折扣的優(yōu)101<表達(dá)式列表>:與<變量或表達(dá)式>同類型的下面四種形式之一:表達(dá)式例:"A"

一組枚舉表達(dá)式(用逗號分隔)2,4,6,8

表達(dá)式1To表達(dá)式2 60To100

Is關(guān)系運(yùn)算符表達(dá)式 Is<605.SelectCase語句(情況語句)形式:

SelectCase變量或表達(dá)式

Case表達(dá)式列表1

語句塊1 Case表達(dá)式列表2

語句塊2 … [CaseElse

語句塊n+1] EndSelect數(shù)值型或字符串表達(dá)式101<表達(dá)式列表>:與<變量或表達(dá)式>同類型的下面四種形式102例5.5變量strC中存放了一個(gè)字符,判斷該字符類型。在例4.2中用多分支結(jié)構(gòu)實(shí)現(xiàn):

IfUcase(strC)>="A"AndUcase(strC)<="Z"Then PrintstrC+"是字母字符"ElseIfstrC>="0"AndstrC<="9"Then PrintstrC+"是數(shù)字字符"Else PrintstrC+"其他字符"EndIf用SelectCase語句實(shí)現(xiàn):

SelectCasestrC Case"a"To"z","A"To"Z" PrintstrC+"是字母字符" Case"0"To"9" PrintstrC+"是數(shù)字字符" CaseElse PrintstrC+"其他字符"EndSelect102例5.5變量strC中存放了一個(gè)字符,判斷該字符類103例4.6

已知坐標(biāo)點(diǎn)(x,y),判斷其落在哪個(gè)象限。

哪個(gè)能實(shí)現(xiàn),哪個(gè)不能實(shí)現(xiàn)?方法一

Ifx>0Andy>0ThenPrint"在第一象限"

ElseIfx<0Andy>0ThenPrint"在第二象限"

ElseIfx<0Andy<0ThenPrint"在第三象限"

ElseIfx>0Andy<0ThenPrint"在第四象限"

EndIf

方法二SelectCasex,yCasex>0A

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論