VB語言基礎(chǔ)教程演示文稿_第1頁
VB語言基礎(chǔ)教程演示文稿_第2頁
VB語言基礎(chǔ)教程演示文稿_第3頁
VB語言基礎(chǔ)教程演示文稿_第4頁
VB語言基礎(chǔ)教程演示文稿_第5頁
已閱讀5頁,還剩259頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

VB語言基礎(chǔ)教程演示文稿目前一頁\總數(shù)二百六十四頁\編于十七點優(yōu)選VB語言基礎(chǔ)教程目前二頁\總數(shù)二百六十四頁\編于十七點第一章VisualBasic程序設(shè)計概述

1.1概述

1.2運行環(huán)境、安裝和啟動

1.3VB集成開發(fā)環(huán)境目前三頁\總數(shù)二百六十四頁\編于十七點1.1概述一、VB簡介:

VisualBasic是基于Basic的可視化的程序設(shè)計語言。VisualBasic6.0中文版是Microsoft公司最新推出的可視化開發(fā)工具,是一種基于Windows操作系統(tǒng)的新型的現(xiàn)代程序設(shè)計語言,是一種易于學(xué)習(xí)、功能強、效率高的編程工具。任何具有初步程序設(shè)計基礎(chǔ)的人,都能在很短的時間內(nèi)掌握好VB,并有效地編寫出各種Windows程序。

VB6.0包括三個版本:學(xué)習(xí)版、專業(yè)版、企業(yè)版目前四頁\總數(shù)二百六十四頁\編于十七點二、VB主要功能特點:1.具有面向?qū)ο蟮目梢暬O(shè)計工具2.事件驅(qū)動的編程機制3.提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境4.結(jié)構(gòu)化的程序設(shè)計語言5.支持多種數(shù)據(jù)庫系統(tǒng)的訪問6.OLE技術(shù)。VB核心就是其對對象的鏈接與嵌入(OLE)的支持。7.Active技術(shù)8.完備的help聯(lián)機幫助功能三、VB6.0新功能特點目前五頁\總數(shù)二百六十四頁\編于十七點1.2運行環(huán)境、安裝和啟動一、運行環(huán)境:二、安裝:安裝文件:setup.exe三、啟動:方法:1、雙擊桌面VB快捷方式。

2、“開始”|程序|MicrosoftVisualStudio6.0|MicrosoftVisualBasic6.03、“開始”|運行|C:\programfiles\MicrosoftVisualStudio\VB98\VB6.exe目前六頁\總數(shù)二百六十四頁\編于十七點進(jìn)入VB6.0窗口目前七頁\總數(shù)二百六十四頁\編于十七點1.3VB集成開發(fā)環(huán)境目前八頁\總數(shù)二百六十四頁\編于十七點1.主窗口應(yīng)用程序窗口,由標(biāo)題欄、菜單欄和工具欄組成VB的三種工作模式(標(biāo)題欄總顯示當(dāng)前模式)

(1)設(shè)計模式:創(chuàng)建應(yīng)用程序的大多數(shù)工作都是在設(shè)計時完成的。在設(shè)計時,可以設(shè)計窗體、繪制控件、編寫代碼并使用“屬性”窗口來設(shè)置或查看屬性設(shè)置值。

(2)運行模式:代碼正在運行的時期,用戶可與應(yīng)用程序交流??刹榭创a,但不能改動它。

(3)中斷模式:程序在運行的中途被停止執(zhí)行時。在中斷模式下,用戶可查看各變量及不是屬性的當(dāng)前值,從而了解程序執(zhí)行是否正常。還可以修改程序代碼,檢查、調(diào)試、重置、單步執(zhí)行或繼續(xù)執(zhí)行程序。目前九頁\總數(shù)二百六十四頁\編于十七點2.窗體(Form)設(shè)計窗口

窗體設(shè)計窗口是屏幕中央的主窗口,它可以作為自定義窗口用來設(shè)計應(yīng)用程序的界面。用戶可以在窗體中添加控件、圖形和圖片來創(chuàng)建所希望的外觀。每個窗口必須有一個的窗體名字,建立窗體時缺省名為Form1,Form2,...。窗體網(wǎng)格點間距的設(shè)置:設(shè)計模式-”工具”–”選項”應(yīng)注意窗體名(代碼中使用的標(biāo)識對象名稱)和窗體文件名的區(qū)別目前十頁\總數(shù)二百六十四頁\編于十七點窗體設(shè)計窗口窗體名窗體文件名目前十一頁\總數(shù)二百六十四頁\編于十七點3.代碼(code)窗口

在設(shè)計模式中,通過雙擊窗體或窗體上任何對象或通過“工程資源管理器”窗口中的“查看代碼”按鈕來打開代碼編輯器窗口。代碼編輯器是輸入應(yīng)用程序代碼的編輯器。

代碼窗口主要包括:

a.對象列表框

b.過程列表框

c.代碼框

d.過程查看按鈕

e.全模塊查看按鈕目前十二頁\總數(shù)二百六十四頁\編于十七點目前十三頁\總數(shù)二百六十四頁\編于十七點4.屬性(properties)窗口

屬性是指對象的特征,如大小、標(biāo)題或顏色等數(shù)據(jù)。在VisualBasic6.0設(shè)計模式中,屬性窗口列出了當(dāng)前選定窗體或控件的屬性的值,用戶可以對這些屬性值進(jìn)行設(shè)置。目前十四頁\總數(shù)二百六十四頁\編于十七點

工程是指用于創(chuàng)建一個應(yīng)用程序的文件的集合。工程資源管理器列出了當(dāng)前工程中的窗體和模塊5.工程資源管理器(projectexplorer)窗口目前十五頁\總數(shù)二百六十四頁\編于十七點工程文件的擴展名為.VBP工程資源管理器下面的列表窗口,以層次列表形式組成這個工程的所有文件。主要包括三種類型的文件:窗體文件(.FRM)存儲窗體上使用的所有控件對象和有關(guān)的屬性、對象相應(yīng)的事件過程、程序代碼。標(biāo)準(zhǔn)模塊文件(.BAS)所有模塊級變量和用戶自定義的通用過程(可以被應(yīng)用程序各處調(diào)用的過程)類模塊文件(.CLS)包含用戶對象的屬性及方法。目前十六頁\總數(shù)二百六十四頁\編于十七點

工具箱提供一組工具,用于設(shè)計時在窗體中放置控件生成應(yīng)用程序的用戶接口。系統(tǒng)啟動后缺省的General工具箱就會出現(xiàn)在屏幕左邊,上面有常用“部件”6.工具箱(ToolBox)窗口目前十七頁\總數(shù)二百六十四頁\編于十七點定制工具箱添加選項卡:對添加的選項卡加控件的方法:

(1)在已有的選項卡中拖動所需控件(2)激活選項卡-”工程”-“部件”

目前十八頁\總數(shù)二百六十四頁\編于十七點

窗體布局窗口顯示在屏幕右下角。用戶可使用表示屏幕的小圖像來布置應(yīng)用程序中各窗體的位置。這個窗口在多窗體應(yīng)用程序中很有用,因為這可以指定每個窗體相對于主窗體的位置。

7.窗體布局窗口目前十九頁\總數(shù)二百六十四頁\編于十七點立即窗口:中斷模式中調(diào)試應(yīng)用程序。對象瀏覽窗口:可查看工程定義的模塊或過程,也可查看對象庫、類型庫、類、方法、屬性及可在過程中使用的常數(shù)。目前二十頁\總數(shù)二百六十四頁\編于十七點第二章簡單的VB程序設(shè)計

2.1程序設(shè)計方法的發(fā)展

2.2對象的概念

2.3建立簡單的應(yīng)用程序

2.4窗體和基本控件

2.5工程的管理及環(huán)境設(shè)置

2.6制作成安裝盤

2.7使用幫助系統(tǒng)

目前二十一頁\總數(shù)二百六十四頁\編于十七點2.1程序設(shè)計方法的發(fā)展1.初期的程序設(shè)計

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

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

降低程序的復(fù)雜性、提高軟件的開法效率和改善工作界面為目標(biāo)程序=對象+消息的面向?qū)ο蟮某绦蛟O(shè)計目前二十二頁\總數(shù)二百六十四頁\編于十七點結(jié)構(gòu)化的分解突出過程(Howtodo?)面向?qū)ο蟮姆纸馔怀稣鎸嵤澜绾统橄蟮膶ο螅╓hattodo?)目前常用的面向?qū)ο笳Z言有:VisualBasic、VisualC++、VisualFoxPro等優(yōu)點

a.符合人們的思維方法

b.易于軟件的維護(hù)和功能的增減

c.能用繼承的方式減短程序開發(fā)時間

d.與可視化技術(shù)結(jié)合,改善了工作界面目前二十三頁\總數(shù)二百六十四頁\編于十七點2.2對象的概念一、對象和類1、類:是創(chuàng)建對象實例的模板,是同種對象的集合與抽象,包含了創(chuàng)建對象的屬性描述和行為特征的定義.2、對象:

是類的一個實例,繼承了類的屬性、方法。

Vb中常用的對象有:窗體、控件等。3、控件:以圖標(biāo)的形式放在工具箱中。VB中的控件分為三類:

內(nèi)部控件(標(biāo)準(zhǔn)控件):如工具箱上的控件,20個

ActiveX控件:“工程/部件”命令加載

可插入對象:Windows應(yīng)用程序的對象,如Excel工作表。二、對象的建立和編輯:

1、對象的建立:兩種方法2、對象的選定:單選、多選

3、復(fù)制或刪除對象4、對象的命名目前二十四頁\總數(shù)二百六十四頁\編于十七點三、對象的三要素:屬性、事件和方法(1)屬性

對象的性質(zhì),即用來描述和反映對象特征的參數(shù)。(2)事件對象的響應(yīng)稱為事件,它發(fā)生在用戶與應(yīng)用程序交互時。如單擊控件、鼠標(biāo)移動、鍵盤按下等。事件過程指附在該對象上的用戶編寫的程序代碼,是事件的處理程序。事件驅(qū)動過程是圖形用戶界面的本質(zhì),由用戶控制而代碼作出響應(yīng)。目前二十五頁\總數(shù)二百六十四頁\編于十七點VB程序執(zhí)行步驟:啟動應(yīng)用程序,裝載和顯示窗體窗體(或窗體上的控件)等待事件的發(fā)生事件發(fā)生時,執(zhí)行對應(yīng)的事件過程重復(fù)執(zhí)行(2)和(3),直到遇到“END”結(jié)束語句結(jié)束程序的運行或單擊“結(jié)束”按鈕強制停止程序的運行目前二十六頁\總數(shù)二百六十四頁\編于十七點(3)方法

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

[對象.]方法[參數(shù)名表]例如:在窗體上顯示一行文字。

Form1.Print”歡迎使用VisualBasic6.0”目前二十七頁\總數(shù)二百六十四頁\編于十七點2.3建立簡單的應(yīng)用程序設(shè)計一個VB應(yīng)用程序的通用步驟:

1.設(shè)計用戶界面的對象

2.設(shè)置對象的屬性

3.編寫對象事件代碼

4.保存文件

5.程序運行和調(diào)試(解釋執(zhí)行:

或“運行|啟動”

按F5)

6.建立可執(zhí)行文件。(編譯運行:“文件”|“生成…exe”)目前二十八頁\總數(shù)二百六十四頁\編于十七點例2.1編寫一個對輸入字符進(jìn)行轉(zhuǎn)換的程序轉(zhuǎn)換規(guī)則為:將其中的大寫字母轉(zhuǎn)換成小寫字母,小寫字母轉(zhuǎn)換成大寫字母,空格不轉(zhuǎn)換,其余轉(zhuǎn)換成“*”。要求每輸入一個字符,馬上就進(jìn)行判斷和轉(zhuǎn)換。目前二十九頁\總數(shù)二百六十四頁\編于十七點PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimaaAsString*1aa=Chr$(KeyAscii)SelectCaseaaCase"a"To"z"aa=Chr$(KeyAscii-32)Case"A"To"Z"aa=Chr$(KeyAscii+32)Case""CaseElseaa="*"EndSelectText2.Text=Text2.Text&aaEndSub目前三十頁\總數(shù)二百六十四頁\編于十七點PrivateSubCommand1_Click()Text1.Text=""Text2.Text=""

EndSubPrivateSubCommand2_Click()End

EndSub目前三十一頁\總數(shù)二百六十四頁\編于十七點2.3.4保存和運行程序保存窗體文件保存工程程序的運行(1)編譯運行模式——生成.exe

(2)解釋運行模式——F5目前三十二頁\總數(shù)二百六十四頁\編于十七點2.4窗體和基本控件一、基本屬性

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

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

3.Height、width、top和left屬性目前三十三頁\總數(shù)二百六十四頁\編于十七點4.Enabled屬性控件是否可操作.當(dāng)設(shè)置為false時,呈暗淡色,禁止用戶進(jìn)行操作.5.Visible屬性控件是否可見.當(dāng)設(shè)置為false時,用戶看不到,但控件本身存在。6.Font屬性

Fontname字體Fontsize字體大小Fontbold是否是粗體

Fontitalic是否斜體Fontstrikethru是否加一刪除線

Fontunderline是否帶下劃線

例2.2在窗體上建立兩個命令按鈕

Command1和Command2,Command2

的Font通過屬性窗口設(shè)置,其余屬性通過代碼實現(xiàn)。目前三十四頁\總數(shù)二百六十四頁\編于十七點7.Forecolor前景顏色屬性設(shè)置控件的前景顏色(即正文顏色).其值是一個16進(jìn)制常數(shù),用戶可以在調(diào)色板中直接選擇所需顏色。8.Backcolor背景顏色屬性9.Backstyle背景風(fēng)格屬性

0-transparent:透明顯示,即控件背景顏色顯示不出來10.BorderStyle邊框風(fēng)格屬性

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

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

0:正文左對齊

1:右對齊 2:居中12.AutoSize屬性控件是否根據(jù)正文自動調(diào)整大小,False.目前三十五頁\總數(shù)二百六十四頁\編于十七點13.MousePointer屬性

指示鼠標(biāo)指針的類型,當(dāng)為99時為用戶自定義類型。

MouseIcon屬性

設(shè)置鼠標(biāo)的圖標(biāo),當(dāng)MousePointer為99時起作用。圖標(biāo)庫在Graphics目錄下,擴展名一般為.ico或.cur14.WordWarp屬性為True時水平方向上下發(fā)生變化。15.TabIndex屬性決定了按Tab鍵時,焦點在各個控件移動的順序。各個控件默認(rèn)的TabIndex值就是控件建立時的順序,第一個為0.16.控件默認(rèn)屬性

反映該控件最重要的屬性,使用時可省略屬性名。如:Text1.text=“Welcome”與Text1=“Welcome”是等價的。

部份控件默認(rèn)值:文本框的為:Text命令按鈕為:Default標(biāo)簽為:Caption

單選/復(fù)選按鈕為:Value圖形/圖像框為:Picture

注意:Command的Default為True,當(dāng)按Enter鍵,該控件起作用。目前三十六頁\總數(shù)二百六十四頁\編于十七點

例:有關(guān)屬性的綜合應(yīng)用。對象設(shè)置:效果:目前三十七頁\總數(shù)二百六十四頁\編于十七點二、窗體1.屬性:P27StartUpPosition、Icon、ControlBoxMaxButton、MinButtonWhatsThisButton、WhatsThisHelpPicture、AutoRedrawBorderStyle(012345)WindowsState(0-正常、1-最小化、2-最大化)注:1、Picture屬性可在屬性窗口設(shè)置,也可通過Loadpicture函數(shù)用代碼來實現(xiàn)。函數(shù)格式為:

[對象].Picture=Loadpicture(“文件路徑\文件名”)

對象可以是窗體、圖片框、圖像框,缺省時為窗體。

VB可以識別的圖形格式有:.bmp.gif.jpg.wmf.ico.cur等。

2、兩者的不同在于:屬性設(shè)置時設(shè)置的圖片,會被保存起來并與窗體同時加載,而運行時加載的圖片,不和應(yīng)用程序一起保存。目前三十八頁\總數(shù)二百六十四頁\編于十七點2.事件:P28

Click、DblClick、Load、UnLoad

Load當(dāng)裝入窗體時激發(fā),通常用于對屬性和變量初始化3.方法:P28Print、Cls、Move、Show、Hide等

當(dāng)在Form_Load事件中使用Print方法時,必須將該窗體的AutoRedraw設(shè)置為True,否則Print方法無效。

例上述屬性、Click、DblClick和Load

事件演示。書上例子:P28目前三十九頁\總數(shù)二百六十四頁\編于十七點三.標(biāo)簽Label1、功能:用于顯示文本(輸出)信息,不能作為輸入信息的界面。2、屬性:P293、事件:click、Dblclick、Change

例2.5.顯示浮雕效果的文字,實現(xiàn)方法:字顏色、標(biāo)簽位置書上例子:P29四.文本框TextBox

功能:是一個文本編輯區(qū)域,可以輸入,編輯和顯示正文內(nèi)容。

1、屬性:P30

Text:正文內(nèi)容Maxlength:設(shè)置正文的最多字符個數(shù),0任意長度值.

MultiLine:是否為多行,默認(rèn)一行.FALSEScrollBars:當(dāng)MultiLine為True時,該屬性才有效,表示滾動條的形式

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

Locked:是否可被編輯屬性,F(xiàn)alse,表示為可編輯。PassWordchar:口令字符.Text屬性返回輸入的數(shù)據(jù),屏幕顯示該字符,SelStart,SelLength,SelText:選中文本的起始、長度、內(nèi)容。

例2.6復(fù)制選中的文本目前四十頁\總數(shù)二百六十四頁\編于十七點2.常用事件

Change:當(dāng)改變文本框的Text屬性時會引發(fā)該事件.KeyPress(KeyAsciiAsInteger):同上,并可返回一個KeyAscii參數(shù)

KeyAscii為13,按回車鍵;為0去除剛輸入的字符.LostFocus:當(dāng)控件失去焦點時發(fā)生.GotFocus:當(dāng)控件獲得焦點時發(fā)生.3.常用方法

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

Text2_LostFocus當(dāng)輸入結(jié)束按Tab鍵時,該事件激發(fā)

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

書上例子:P32目前四十一頁\總數(shù)二百六十四頁\編于十七點五.命令按鈕CommandButton

功能:接受用戶輸入的命令。

輸入命令可以有三種方式:鼠標(biāo)單擊Tab鍵焦點到該按鈕快捷鍵

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

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

2.事件

Click目前四十二頁\總數(shù)二百六十四頁\編于十七點3.應(yīng)用:例2.8

建立一個允許剪切、復(fù)制和粘貼的簡單便箋板程序??稍黾觾?nèi)容:利用MouseMove事件決定命令按鈕的有效性,即當(dāng)選中內(nèi)容,“剪切”、“復(fù)制”按鈕有效,否則無效。目前四十三頁\總數(shù)二百六十四頁\編于十七點DimstAsStringPrivateSubcmdcopy_Click()st=txtnoteedit.SelTextcmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=TrueEndSubPrivateSubmdcut_Click()st=txtnoteedit.SelTexttxtnoteedit.SelText=""cmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=TrueEndSubPrivateSubcmdexit_Click()EndEndSubPrivateSubcmdpaste_Click()txtnoteedit.SelText=stEndSubPrivateSubForm_Load()cmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=FalseEndSub目前四十四頁\總數(shù)二百六十四頁\編于十七點Subtxtnoteedit_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Iftxtnoteedit.SelText<>""Thencmdcopy.Enabled=Truecmdcut.Enabled=Truecmdpaste.Enabled=FalseElsecmdcopy.Enabled=Falsecmdcut.Enabled=Falsecmdpaste.Enabled=TrueEndIfEndSub目前四十五頁\總數(shù)二百六十四頁\編于十七點六、常用方法Vb中使用方法的語法結(jié)構(gòu)是相同的[對象.]方法[參數(shù)列表]1.print方法形式:[對象.]print[{spc(n)|tab(n)}][表達(dá)式列表]作用:在對象上輸出信息。對象:可以是窗體(form)、圖形框(picturebox)、打印機。若省略,則在窗體上輸出。目前四十六頁\總數(shù)二百六十四頁\編于十七點表達(dá)式列表開始位置是由對象的currentx和currenty屬性決定的,缺省為打印對象的左上角0,0。例2-9:print方法輸出圖形。PrivateSubForm_Click()Form1.CurrentX=200Form1.CurrentY=550Fori=1To5PrintTab(i+5);String(6-i,"▼");_Spc(6);String(i,"▲")NextiEndSub目前四十七頁\總數(shù)二百六十四頁\編于十七點2、cls方法形式:[對象.]cls(如:picture.cls)作用:用于清除運行時在窗體或圖形框中顯示的文本或圖形。注意:(1)cls方法只清除運行時在窗體或圖形框中顯示的文本或圖形,不清除窗體在設(shè)計時的文本或圖形。(2)cls方法使用后,currentx和currenty屬性被設(shè)置為0。目前四十八頁\總數(shù)二百六十四頁\編于十七點3、move方法形式:[對象.]move左邊距離[,上邊距離[,寬度[,高度]]]作用:用于移動窗體或控件,并可改變其大小。對象:可以是窗體及除時鐘、菜單外的所有控件,省略對象為窗體。如果對象是窗體,則“左邊距離”和“上邊距離”以屏幕左邊界和上邊界為準(zhǔn),否則以窗體的左邊界和上邊界為準(zhǔn),寬度和高度表示可改變其大小。目前四十九頁\總數(shù)二百六十四頁\編于十七點例2-10

PrivateSubForm_Load()Image1.Top=0Image1.Left=0Image1.Picture=LoadPicture(App.Path+"\1.gif")EndSubPrivateSubImage1_Click()Image1.Move(Form1.Left+Form1.Width)\2-Form1.Left,(Form1.Top+Form1.Height)\2-Form1.Top,Image1.Width\2,Image1.Height\2EndSub目前五十頁\總數(shù)二百六十四頁\編于十七點七、應(yīng)用舉例例2-11:根據(jù)房產(chǎn)商提供的信息,購房者選擇房型、面積、單價、按揭期等信息,編寫計算每月支付貸款的程序。程序由兩個窗體構(gòu)成,第一個窗體輸入或選擇買房的數(shù)據(jù),該窗體由列表框選擇數(shù)據(jù)、標(biāo)簽顯示數(shù)據(jù)、文本框輸入數(shù)據(jù);第二個窗體顯示房屋的平面圖,該窗體僅有一個圖形控件。目前五十一頁\總數(shù)二百六十四頁\編于十七點2.5工程的管理一、工程的組成

工程文件包含了一個應(yīng)用程序的所有文件:工程文件(.vbp):工程組文件(.vbg):窗體文件(.frm):控件及屬性、事件過程和自定義過程 窗體的二進(jìn)制數(shù)據(jù)文件(.frx),自動產(chǎn)生同名.frx文件。標(biāo)準(zhǔn)模塊文件(.bas)類模塊文件(.cls) 資源文件(.res) ActiveX控件的文件(.ocx)二、創(chuàng)建、打開和保存工程:“文件”菜單目前五十二頁\總數(shù)二百六十四頁\編于十七點三.添加、刪除和保存文件:可利用“文件”和“工程”菜單

1、窗體名和窗體文件名概念

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

窗體文件名:窗體存放在磁盤上的文件名,該文件包含了該窗體的所有控件屬性和代碼,同一文件夾不能有相同的文件名。

2、在工程中添加現(xiàn)存的窗體時,只是對該窗體文件的引用納入工程。因此,如果更改窗體并保存它,會影響包含此窗體文件的任何工程。

3、在工程中刪除窗體時,僅將此窗體從工程里刪除掉,但是窗體文件仍存在于磁盤上。但是,如果在VB之外刪除一個窗體文件,VB不能更新此工程文件,當(dāng)打開此工程時,將顯示一個文件丟失的錯誤信息。

窗體文件名窗體名目前五十三頁\總數(shù)二百六十四頁\編于十七點四、環(huán)境設(shè)置“工具”——”選項”1.”編輯器”選項卡2、“通用”選項卡4、對窗體文件改名方法:在“工程資源管理器”中--右擊窗體文件--“Form另存為…”

5、保存窗體文件:若只想保存窗體文件而不保存工程文件,可直接在“工程資源管理器”中選定,然后執(zhí)行“文件”菜單中的相應(yīng)選項。目前五十四頁\總數(shù)二百六十四頁\編于十七點2.6制作成安裝盤2.6.1使用打包和展開向?qū)Т虬喊压こ讨杏玫降母鞣N類型的文件(包括工程自身的文件、必要的系統(tǒng)文件和安裝主文件)進(jìn)行打包壓縮后,存放到特定的目錄下。展開:把打包的文件展開到用戶可以攜帶的用來安裝的軟盤、光盤等介質(zhì)。管理腳本:記錄打包或展開過程中的設(shè)置,便于以后做同樣的操作。系統(tǒng)的壓縮文件以.cab擴展名保存。2.6.2檢測安裝程序目前五十五頁\總數(shù)二百六十四頁\編于十七點

第三章VB語言基礎(chǔ)

3.1編碼基礎(chǔ)

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

3.3常量與變量

3.4運算符和表達(dá)式

3.5基本語句

3.6數(shù)組

3.7過程

3.8常用算法舉例

3.9程序調(diào)試

目前五十六頁\總數(shù)二百六十四頁\編于十七點3.1

編碼基礎(chǔ)一、書寫要求:1.VB代碼不區(qū)分字母的大小寫

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

一行可書寫幾個語句,之間用冒號分隔;一行最多255個字符;一條語句可分若干行書寫,用續(xù)行符

(空格+下劃線)連接3.注釋有利于程序的維護(hù)和調(diào)試

Rem

或單撇號“‘”以及“編輯”工具欄的“設(shè)置注釋塊”;

VB中注釋語句會自動變?yōu)榫G色4.保留行號與標(biāo)號5.其他注意事項:保留字與變量之間至少有一空格;字母“l(fā)”與數(shù)字“1”、字母“o”與數(shù)字“0”的使用。目前五十七頁\總數(shù)二百六十四頁\編于十七點3.2

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

一、標(biāo)準(zhǔn)數(shù)據(jù)類型:

目前五十八頁\總數(shù)二百六十四頁\編于十七點1、數(shù)值數(shù)據(jù)類型:

IntegerLongSingleDoubleCurrencyByte(1)Integer和Long型用于保存整數(shù)(2)Single和Double型用于保存浮點實數(shù)(3)Currency型是定點實數(shù)或整數(shù)(4)Byte字節(jié)型用于存儲二進(jìn)制數(shù)目前五十九頁\總數(shù)二百六十四頁\編于十七點2、日期(Date)數(shù)據(jù)類型

按8字節(jié)浮點數(shù)來存儲。日期范圍:公元100年1月1日~9999年12月31日時間范圍:0:00:00~23:59:59

表示方法:一般日期形式前后加#來表示另一種是以數(shù)字序列表示日期和時間(1)一般日期表示法:使用成對#將任何可被認(rèn)作日期和時間的字符括起來。公元年份默認(rèn)19年,因而填入1995年與填入95年效果一樣,但年的部分輸入0~29間的數(shù)字,則VB自動轉(zhuǎn)換為20年。例如:#5/25/24#與#5/25/2024#等價。而#5/25/95#,#May25,95#,#May-25-95#,

#25May1995#,#1995May25#等均為合法日期格式。目前六十頁\總數(shù)二百六十四頁\編于十七點(2)數(shù)字序列表示法數(shù)字序列是雙精度的浮點數(shù),由VB自動解釋。序號的整數(shù)部分表示日期,小數(shù)部分表示時間。在VB中,基準(zhǔn)日期為公元1899年12月30日,這一天的整數(shù)部分為0,比基準(zhǔn)早的日期序號為負(fù)數(shù),比其晚的日期序號為正數(shù),其取值范圍為657434(公元100年1月1日)到2958465(公元9999年12月31日)。小數(shù)部分:以某個時間點占一天24小時的比例表示。如:6:00AM會以0.25來表示。-2.5表示1899-12-2812:00:005.75表示1900-1-418:00:00366.05表示1900-12-311:12:00367.05表示1901-1-11:12:00-367.05表示1898-12-281:12:00目前六十一頁\總數(shù)二百六十四頁\編于十七點3、邏輯(布爾型)數(shù)據(jù)型:Boolean

當(dāng)邏輯型轉(zhuǎn)換成整型數(shù)據(jù)時:true–(-1)false—(0)

當(dāng)其他類型數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時:非0數(shù)轉(zhuǎn)換為true,0轉(zhuǎn)換為false4、字符串型:String“”

5、對象數(shù)據(jù)類型:Object

作為32位(4個字節(jié))地址來存儲目前六十二頁\總數(shù)二百六十四頁\編于十七點6、變體類型:Variant

是所有未定義的變量的缺省數(shù)據(jù)類型,它可以包括標(biāo)準(zhǔn)數(shù)據(jù)類型,還包含四個特殊的數(shù)據(jù):

empty(空)表示未指定確定的數(shù)據(jù)

null(無效)表示數(shù)據(jù)不合法

Error(出錯)指出過程中出現(xiàn)了一個錯誤條件

Nothing(無指向)表示數(shù)據(jù)還沒有指向一個具體對象Vartype:檢測變體型變量中保存的數(shù)值類型如:dimtVartype(t)

或Vartype(667)目前六十三頁\總數(shù)二百六十四頁\編于十七點二、自定義類型讓用戶自己定義的數(shù)據(jù)類型,由若干個標(biāo)準(zhǔn)數(shù)據(jù)類型組成。是一組不同類型變量的集合。相當(dāng)于C語言中的結(jié)構(gòu)類型;Pascal中的記錄類型。1.自定義類型的定義

形式如下:

Type

自定義類型名 元素名[(下標(biāo))]As類型名

… [元素名[(下標(biāo))]As類型名]

EndType其中:元素名:表示自定義類型中的一個成員下標(biāo):表示數(shù)組類型名:為標(biāo)準(zhǔn)類型目前六十四頁\總數(shù)二百六十四頁\編于十七點例如,以下定義了一個有關(guān)學(xué)生信息的自定義類型:

TypeStudType NoAsInteger '學(xué)號

NameAsString*20 '姓名

SexAsString*1 '性別

Mark(1To4)AsSingle '4門課程成績

TotalAsSingle '總分

EndType注意:

(1)自定義類型一般在標(biāo)準(zhǔn)模塊(.BAS)中定義,默認(rèn)是Public;在窗體必須是Private。

(2)自定義類型中的元素類型可以是字符串,但應(yīng)是定長字符串。

(3)不要將自定義類型名和該類型的變量名混淆,前者表示了如同Integer、Single等的類型名,后者VB根據(jù)變量的類型分配所需的內(nèi)存空間,存貯數(shù)據(jù)。

(4)自定義類型一般和數(shù)組結(jié)合使用,簡化程序的編寫。目前六十五頁\總數(shù)二百六十四頁\編于十七點2.自定義類型變量的聲明和使用(1)聲明形式:

Dim變量名As自定義類型名例DimStudentAsStudType(2)引用:形式:變量名.元素名例表示Student變量中的姓名,第4門課程的成績,則表示如下:

Student.Name,Student.Mark(4)(3)賦值:

如:Student.Name=“王剛”Student.Mark(4)=98目前六十六頁\總數(shù)二百六十四頁\編于十七點3.3常量與變量一.常量和變量的命名規(guī)則常量:在程序運行中其值不可以改變。變量:在程序運行中其存儲的值可以改變。

命名規(guī)則:1.以字母或漢字開頭,后可跟漢字、字母、數(shù)字或下劃線組合,長度小于等于255個字符;2.不能使用VB中的關(guān)鍵字;3.VB中不區(qū)分變量名的大小寫.4.為了增加程序的可讀性,可在變量名前加一個縮寫的前綴來表明該變量的數(shù)據(jù)類型。如:strMystring、intCount目前六十七頁\總數(shù)二百六十四頁\編于十七點VB6.0的關(guān)鍵字有:

AsBinaryByRefByValDateElseEmptyErrorFalseForFriendGetInputIsLenLetLockMeMidNewNextNothingNullOnOptionOptionalParamArrayPrintPrivatePropertyPublicResumeSeekSetStaticStepStringThenTimeToTrueWithEvents目前六十八頁\總數(shù)二百六十四頁\編于十七點二.常量

(一)直接常量有數(shù)值常量(整數(shù)、長整數(shù)、定點數(shù)和浮點數(shù))、字符串常量、布爾常量、日期常量(二)符號常量1.系統(tǒng)提供的常量系統(tǒng)定義常量位于對象庫中,可通過“對象瀏覽器”查看.

例:vbNormal、vbMinimized、vbMaximized、vbblue等

form1.windowsstate=vbmaximized‘將窗口極大化

form1.windowsstate=2‘與上面的語句等價的目前六十九頁\總數(shù)二百六十四頁\編于十七點2.用戶聲明常量

形式:

Const常量名[AS類型]=表達(dá)式省略[AS類型],常量的類型由表達(dá)式值的類型決定,也可在常量后加類型符。

表達(dá)式:可以是數(shù)值常數(shù)、字符串常數(shù)以及由運算符組成的表達(dá)式。對于數(shù)值常數(shù)除了可用十進(jìn)制表示外,還可以使用十六進(jìn)制數(shù)(數(shù)值前加&H)和八進(jìn)制數(shù)(數(shù)值前加&O)。

為使與變量名區(qū)分,一般常量名使用大寫字母例ConstMAX=100ConstPI=3.14159ConstPI#=3.14159ConstMAXasinteger=&O144目前七十頁\總數(shù)二百六十四頁\編于十七點三.變量1.用Dim語句顯式聲明變量

形式:Dim變量名[AS類型]Dim變量名類型符例DimiCountAsinteger,sAllsumAssingle

等價于DimiCount%,sAllsum!

對于字符串變量,根據(jù)其長度是否固定,有兩種方法:

Dim字符串變量名AsStringDim字符串變量名AsString*字符數(shù)2.隱式聲明

未進(jìn)行上述的聲明而直接使用,其類型為Variant類型。建議不使用。注意:

在通用聲明處加OptionExplicit

語句可強制顯式聲明變量。目前七十一頁\總數(shù)二百六十四頁\編于十七點3.4運算符和表達(dá)式一.運算符

1.算術(shù)運算符例:5+10mod10\9/3+2^2結(jié)果:10取ia=3目前七十二頁\總數(shù)二百六十四頁\編于十七點2.字符串運算符:

&、+

“&”和

+”,都是將兩個字符串拼接起來。

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

區(qū)別:若+的兩旁的操作數(shù)均為數(shù)值型則進(jìn)行算術(shù)加;若一個為數(shù)字字符型,另一個為數(shù)值型,則自動將數(shù)字字符轉(zhuǎn)換為數(shù)值,然后進(jìn)行算術(shù)加;若一個為非數(shù)字字符型,另一個為數(shù)值型,則出錯。&則不管什么類型,強制轉(zhuǎn)換為字符型進(jìn)行拼接。

例如:"abcdef"&12345'結(jié)果為"abcdef12345"

"abcdef"+12345'出錯

"123"&456'結(jié)果為"123456"

"123"+456'結(jié)果為579

12000+“123”&100‘結(jié)果為“12123100”

Val(left$(“12345678”,4)+mid$(“12345678”,4,2))‘結(jié)果為123445注意:(1)"123"+True'結(jié)果為122True轉(zhuǎn)換為數(shù)值-1,F(xiàn)alse轉(zhuǎn)換為數(shù)值0(2)使用“&”時,最好在兩側(cè)的操作數(shù)間加入一個空格。因為Long類型變量的類型符以及八進(jìn)制、十六進(jìn)制數(shù)值表示法的起始字符也為“&”。目前七十三頁\總數(shù)二百六十四頁\編于十七點3.關(guān)系運算符

將兩個操作數(shù)進(jìn)行大小比較,結(jié)果為邏輯量。

(1)關(guān)系運算符的優(yōu)先級相同;(2)“Like”運算符與通配符:“?”、“*”、“#”、“[字符列表]”、“[!字符列表]”結(jié)合使用,常用于模糊查詢。其中“?”表示任何單一字符,“*”表示零個或多個字符,“#”表示任何一個數(shù)字(0~9),[字符列表]表示字符列表中的任何單一字符,[!字符列表]表示不在字符列表中的任何單一字符。例如,找姓名變量中姓張的學(xué)生,則表達(dá)式為:姓名Like“張*”,又如找沒有張字的學(xué)生,表達(dá)式為:姓名Like“[!張]”目前七十四頁\總數(shù)二百六十四頁\編于十七點4.邏輯運算符說明:1、Not:進(jìn)行取反運算;

2、And:操作數(shù)均為真時,結(jié)果才為真;

3、Or:操作數(shù)中有一個為真時,結(jié)果為真;

4、Xor:操作數(shù)相反時,結(jié)果才為真;

5、Eqv:操作數(shù)相同時,結(jié)果才為真;

6、Imp:第1個操作數(shù)為真,第2個為假時,結(jié)果才為假,其余結(jié)果均為真。

7、優(yōu)先級:Not>And>OR>Xor>Eqv>Imp目前七十五頁\總數(shù)二百六十四頁\編于十七點如果邏輯運算符對數(shù)值進(jìn)行運算,則以數(shù)字的二進(jìn)制值逐位進(jìn)行邏輯運算。(1)And運算符常用于屏蔽某些位。(2)Or運算符常用于把某些位置1。(3)連續(xù)兩次進(jìn)行Xor運算,可恢復(fù)原值。例:10and710or7目前七十六頁\總數(shù)二百六十四頁\編于十七點二.表達(dá)式

1.表達(dá)式組成

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

2.書寫規(guī)則

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

(2)乘號不能省略。例x乘以y應(yīng)寫成:x*y(3)括號必須成對出現(xiàn),均使用圓括號。

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

3.不同數(shù)據(jù)類型的轉(zhuǎn)換運算結(jié)果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠.Integer<Long<Single<Double<Currency4.優(yōu)先級算術(shù)運算符>字符運算符>關(guān)系運算符>邏輯運算目前七十七頁\總數(shù)二百六十四頁\編于十七點表達(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)目前七十八頁\總數(shù)二百六十四頁\編于十七點例:用人單位招聘秘書:年齡小于40歲的女性,學(xué)歷??苹虮究颇挲g<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

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

3<=xOrx<=7考慮:若分別寫成:年齡<40And性別=“女”And(學(xué)歷=“??啤盇nd學(xué)歷=“本科”)

年齡<40Or性別=“女”O(jiān)r(學(xué)歷=“??啤監(jiān)r學(xué)歷=“本科”)目前七十九頁\總數(shù)二百六十四頁\編于十七點1.數(shù)學(xué)函數(shù):Rnd函數(shù)返回0和1(包括0但不包括1)之間的雙精度隨機數(shù).

例:產(chǎn)生1~100的隨機整數(shù):Int(Rnd*100)+1

產(chǎn)生100~3000的隨機整數(shù):Int(Rnd*2901)+100

隨機產(chǎn)生“A”~“Z”的字符:Chr(Int(Rnd*26+65))

注意:

(1)產(chǎn)生一定范圍內(nèi)的隨機整數(shù)通常表示為:

Int(Rnd*范圍)+基數(shù)或Int(Rnd*范圍+基數(shù))(2)每次運行時,要產(chǎn)生不同序列的隨機數(shù),執(zhí)行Randomize語句。

Randomize[number]

注:函數(shù)名后有$符號,表示函數(shù)返回值為字符串。三、常用內(nèi)部函數(shù)目前八十頁\總數(shù)二百六十四頁\編于十七點2.轉(zhuǎn)換函數(shù)

Chr(66)"B" Asc("B")66Asc(Chr(99))99Chr(Asc("K"))"K"Ucase$("abcdefg")"ABCDEFG“3.日期函數(shù):Date返回系統(tǒng)日期

Time返回系統(tǒng)時間

Now返回系統(tǒng)日期和時間Year返回年份(1)DateAdd增減日期函數(shù)(2)DateDiff間隔日期函數(shù)三、常用內(nèi)部函數(shù)目前八十一頁\總數(shù)二百六十四頁\編于十七點4.字符串編碼及操作函數(shù)

(1)字符串編碼

Windows系統(tǒng)對字符采用了DBCS編碼,中文2字節(jié),西文1字節(jié)

VB中字符Unicode編碼,任何字符2字節(jié).Len(“中國good”)為6LenB(“中國good”)為12StrConv()進(jìn)行DBCS與Unicode之間轉(zhuǎn)換.(2)字符串函數(shù)

Mid$("ABCDEFG",2,3)"BCD"InStr(2,“EFABCDEFG","EF") 7

注:函數(shù)的自變量中有M,表示M=0區(qū)分大小寫,M=1不區(qū)分,省略M區(qū)分大小寫。目前八十二頁\總數(shù)二百六十四頁\編于十七點5.格式輸出函數(shù)Format()

功能:Format()可以使數(shù)值、日期或字符串按指定的格式輸出。格式:Format(表達(dá)式[,格式字符串])

其中,表達(dá)式:為要格式化的數(shù)值、日期和字符串類型表達(dá)式。格式字符串:表示按其指定的格式輸出表達(dá)式的值。格式字符串有三類:

(1)數(shù)值格式化:將數(shù)值表達(dá)式的值按“格式字符串”指定的格式輸出。(2)日期和時間格式化(3)字符串格式化格式字符串要加雙引號目前八十三頁\總數(shù)二百六十四頁\編于十七點目前八十四頁\總數(shù)二百六十四頁\編于十七點6.Shell函數(shù)

功能:Shell函數(shù)負(fù)責(zé)執(zhí)行一個可執(zhí)行文件(擴展名為.exe、.com、.bat),返回一個Variant,如果成功,代表這個程序的進(jìn)程ID,若不成功,則會返回0。

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

缺省窗口類型最小化為圖標(biāo)。

目前八十五頁\總數(shù)二百六十四頁\編于十七點X=shell(“c:\windows\pbrush.exe”,1)Y=shell(“c:\windows\write.exe”,1)Z=shell(“C:\ProgramFiles\MicrosoftOffice\Office\winword.exe”,1)提示:如果不知道應(yīng)用程序的路徑名,可用Start命令啟動程序

i=Shell(start&"calc.exe");i=Shell(start&“vb6.exe“)舉例:i=Shell("c:\windows\calc.exe",1)

j=Shell("c:\",1)目前八十六頁\總數(shù)二百六十四頁\編于十七點3.5基本語句3.5.1賦值語句

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

作用:將表達(dá)式的值賦值給變量名.

一般用于給變量賦值或?qū)丶O(shè)定屬性值.

例:sRate!=0.1Text1.Text="歡迎使用VisualBasic6.0”注意:

1、當(dāng)表達(dá)式的類型與變量的類型不一致時,強制轉(zhuǎn)換成左邊的精度。如:iA%=10/3iA中的結(jié)果為3

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

3、賦值號左邊只能是變量,不能是常量或表達(dá)式。

4、不能在一句賦值語句中,同時給多個變量賦值。

目前八十七頁\總數(shù)二百六十四頁\編于十七點3.5.2人機交互函數(shù)和過程

VB與用戶之間的直接交互是通過InputBox()函數(shù)、MsgBox()函數(shù)和MsgBox過程進(jìn)行的。

1.InputBox函數(shù)

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

其中:提示提示信息,標(biāo)題對話框標(biāo)題,缺省輸入?yún)^(qū)缺省值函數(shù)返回字符類型.

例要在屏幕上顯示圖示的對話框:目前八十八頁\總數(shù)二百六十四頁\編于十七點相應(yīng)的語句如下:DimstrNameAsString*40strName=InputBox(“請輸入你的姓名”+vbCrLf+“然后單擊確定”,“輸入框”)也可以使用如下語句:DimstrNameAsString*40,strS1AsString*40strS1=“請輸入你的姓名”+Chr(13)+Chr(10)+“然后單擊確定”strName=InputBox(strS1,“輸入框”,,100,100)當(dāng)鍵盤輸入“王曉明”后,變量strName獲得鍵盤輸入的值.目前八十九頁\總數(shù)二百六十四頁\編于十七點2.MsgBox函數(shù)和MsgBox過程

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

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

按鈕值如下:函數(shù)返回所選按鈕整數(shù)值:目前九十頁\總數(shù)二百六十四頁\編于十七點例3.2編一帳號和密碼檢驗程序。要求:

帳號不超過6位數(shù)字,有錯,清除原內(nèi)容再輸入.

密碼輸入時在屏幕上以“*”代替;若密碼錯,顯示有關(guān)信息,選擇“重試”按鈕,清除原內(nèi)容再輸入,選擇“取消”按鈕,停止運行。分析:

帳號6位,MaxLength為6,LostFocus判斷數(shù)字IsNumeric函數(shù)密碼PassWordChar為“*”,MsgBox函數(shù)設(shè)置密碼錯對話框.目前九十一頁\總數(shù)二百六十四頁\編于十七點3.5.3選擇結(jié)構(gòu)

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

If<表達(dá)式>Then

語句塊

EndIf

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

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

Ifx<yThent=xx=yy=tEndIf

或Ifx<yThent=x:x=y:y=t目前九十二頁\總數(shù)二百六十四頁\編于十七點2.If…Then…Else語句(雙分支結(jié)構(gòu))(1)If<表達(dá)式>Then

<語句塊1>

Else<語句塊2>EndIf

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

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

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

Ifx<>0Theny=sin(x)+sqr(x*x+1)Elsey=cos(x)-x^3+3*xEndIf目前九十三頁\總數(shù)二百六十四頁\編于十七點3.If…Then…ElseIf語句(多分支結(jié)構(gòu))

形式:

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

語句塊n+1]EndIf目前九十四頁\總數(shù)二百六十四頁\編于十七點例

已知變量strC中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。用多分支結(jié)構(gòu)實現(xiàn):

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

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

ElseIf不能寫成

ElseIf。目前九十五頁\總數(shù)二百六十四頁\編于十七點例已知百分制成績mark,顯示對應(yīng)的五級制成績哪些正確,哪些錯誤?正確:方法一、二錯誤:方法三目前九十六頁\總數(shù)二百六十四頁\編于十七點4.If語句的嵌套

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

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

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

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

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

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

EndIfIf語句的嵌套注意事項:書寫鋸齒型;EndIf與它前面最近的if配對。目前九十七頁\總數(shù)二百六十四頁\編于十七點<表達(dá)式列表>:與<變量或表達(dá)式>的類型必須相同,可以是下面四種形式之一:表達(dá)式例:"A"

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

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

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

SelectCase變量或表達(dá)式

Case表達(dá)式列表1

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

語句塊2 … [CaseElse

語句塊n+1] EndSelect變量:只能含有一個表達(dá)式:數(shù)值型或字符串目前九十八頁\總數(shù)二百六十四頁\編于十七點注意:關(guān)鍵字Is定義條件時,只能是簡單的條件,不能用邏輯運算符將兩個或多個簡單的條件組合在一起。例如“CaseIs>20andIs<40”是不合法的。而“CaseIs<2,12,13,15,Is>20”是正確的。目前九十九頁\總數(shù)二百六十四頁\編于十七點例變量strC中存放了一個字符,判斷該字符類型。用多分支結(jié)構(gòu)實現(xiàn):

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

SelectCasestrC Case"a"To"z","A"To"Z" PrintstrC+"是字母字符" Case"0"To"9" PrintstrC+"是數(shù)字字符" CaseElse PrintstrC+"其他字符"EndSelect目前一百頁\總數(shù)二百六十四頁\編于十七點例:已知坐標(biāo)點(x,y),判斷其落在哪個象限。

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

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

溫馨提示

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

評論

0/150

提交評論