等級(jí)考試輔導(dǎo)講義1-3課件_第1頁
等級(jí)考試輔導(dǎo)講義1-3課件_第2頁
等級(jí)考試輔導(dǎo)講義1-3課件_第3頁
等級(jí)考試輔導(dǎo)講義1-3課件_第4頁
等級(jí)考試輔導(dǎo)講義1-3課件_第5頁
已閱讀5頁,還剩101頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

VisualBasic程序設(shè)計(jì)河西學(xué)院計(jì)算機(jī)系高彩霞/gcxgcuncun@1第1講VisualBasic程序開發(fā)環(huán)境、對象及操作第2講數(shù)據(jù)類型及運(yùn)算第3講控制結(jié)構(gòu)第4講常用標(biāo)準(zhǔn)控件(文本、按鈕、圖形)第5講數(shù)組第6講常用標(biāo)準(zhǔn)控件(選擇性控件及框架)第7講過程第8講常用標(biāo)準(zhǔn)控件(滾動(dòng)條、計(jì)時(shí)器、焦點(diǎn)等)第9講菜單和對話框第10講多重窗體、鍵盤與鼠標(biāo)事件第11講數(shù)據(jù)文件目錄2第1講VisualBasic程序開發(fā)環(huán)境、對象及操作1.1VisualBasic的特點(diǎn)和版本

1.2VisualBasic的啟動(dòng)與退出

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

1.4對象1.5窗體1.6控件

31.1VisualBasic的特點(diǎn)和版本

本章目錄

VisualBasic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。4可視化編程面向?qū)ο蟮某绦蛟O(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)語言事件驅(qū)動(dòng)編程機(jī)制訪問數(shù)據(jù)庫動(dòng)態(tài)數(shù)據(jù)交換(DDE)對象的鏈接與嵌入(OLE)動(dòng)態(tài)鏈接庫(DLL)建立用戶自己的ActiveX控件和ActiveX文檔Internet組件下載完備的幫助系統(tǒng)

1.1.1VB的特點(diǎn)本章目錄51.1.2vb的版本VisualBasic6.0包括3種版本,分別為學(xué)習(xí)版、專業(yè)版和企業(yè)版。

本章目錄61.2VisualBasic的啟動(dòng)與退出安裝:執(zhí)行VB6.0的Setup.exe,在安裝程序的提示下進(jìn)行,初學(xué)者可采用典型安裝方式。VB6.0聯(lián)機(jī)幫助文件使用MSDN文檔格式,聯(lián)機(jī)幫助文件不在VB6.0系統(tǒng)盤上,而與VisualStudio產(chǎn)品的幫助集合在兩張CD盤上,安裝過程中,系統(tǒng)會(huì)提示插入MSDN盤。

本章目錄7在驅(qū)動(dòng)器中插入VB6.0系統(tǒng)CD盤。安裝程序在CD盤的根目錄下,運(yùn)行安裝程序Setup.exe,即可進(jìn)入“安裝程序向?qū)А薄?啟動(dòng)VB有4種方法:選擇開始菜單中的

MicrosoftVisualBasic6.0中文版程序。VB6.0窗口列出了VB能夠建立的應(yīng)用程序類型,初學(xué)者只要選擇默認(rèn)標(biāo)準(zhǔn).EXE。單擊新建按鈕,就可創(chuàng)建該類型的應(yīng)用程序。利用我的電腦開始——運(yùn)行桌面快捷方法本章目錄91.3集成開發(fā)環(huán)境本章目錄101.3.1主窗口

三種工作模式

設(shè)計(jì)模式界面的設(shè)計(jì)和代碼的編制

運(yùn)行模式運(yùn)行應(yīng)用程序

中斷模式暫時(shí)中斷程序運(yùn)行,調(diào)試程序

2.菜單欄

包括13個(gè)下拉菜單

3.工具欄本章目錄111.3.2窗體設(shè)計(jì)窗口窗體是建立VB應(yīng)用程序的主要部分,一個(gè)應(yīng)用程序至少有一個(gè)窗體窗口。每個(gè)窗體必須有一個(gè)唯一的窗體名,默認(rèn)名為Form1.設(shè)計(jì)狀態(tài)的窗體由網(wǎng)格點(diǎn)構(gòu)成,方便用戶對控件的定位,網(wǎng)格點(diǎn)間距可以通過工具|選項(xiàng)|通用進(jìn)入窗體網(wǎng)格設(shè)置.運(yùn)行時(shí)可通過屬性控制窗體的可見性(窗體的網(wǎng)格始終不顯示)。本章目錄121.3.3代碼設(shè)計(jì)窗口

用來進(jìn)行代碼設(shè)計(jì):各種事件過程、過程代碼的編寫和修改。打開代碼設(shè)計(jì)窗口的方法:雙擊窗體、控件資源管理器窗口的

”查看代碼”本章目錄131.3.4屬性窗口設(shè)置窗體或控件的屬性,如顏色、字體、大小等。本章目錄141.3.5工程管理器窗口

保存一個(gè)應(yīng)用程序所有屬性以及組成這個(gè)應(yīng)用程序所有的文件。工程文件的擴(kuò)展名為.VBP,工程文件名顯示在工程文件窗口的標(biāo)題框內(nèi)。

已存盤未存盤本章目錄151.3.6工具箱窗口

由21個(gè)被繪制成按鈕形式的圖標(biāo)構(gòu)成,利用這些工具,用戶可以在窗體上設(shè)計(jì)各種控件。其中20個(gè)控件稱為標(biāo)準(zhǔn)控件(注意,指針不是控件,僅用于移動(dòng)窗體和控件,以及調(diào)整它們的大小)。也可通過工程|部件命令將第3方開發(fā)的其他控件裝入到工具箱。本章目錄161.4VB對象對象指現(xiàn)實(shí)世界中的實(shí)體。如一個(gè)人、一輛汽車、一臺(tái)電腦、一份報(bào)表等。每個(gè)對象有自己的特征(屬性)、行為(方法)和發(fā)生在該對象上的活動(dòng)(事件)。例如人具有身高、體重等特征,具有行走、說話等行為,外界作用在人對象上的各種活動(dòng),如下雨等。本章目錄17例如:工具箱內(nèi)的TextBox是類(它確定了TextBox的屬性、方法和事件)窗體上顯示的是兩個(gè)TextBox對象本章目錄18屬性、事件和方法構(gòu)成對象的三要素屬性存放對象的數(shù)據(jù)(決定對象外觀及功能)例如,控件名稱、文本、大小等屬性。對象屬性的設(shè)置方法:

設(shè)計(jì)階段利用屬性窗口直接設(shè)置屬性值程序運(yùn)行時(shí)通過語句對象名.屬性名=屬性值

例如:Command1.Caption="確定"注意:若屬性只能在設(shè)計(jì)階段設(shè)置,在程序運(yùn)行階段不可改變,稱為只讀屬性。

1.4.1對象的屬性、事件和方法

本章目錄19事件

發(fā)生在對象上的事情同一事件,對不同的對象,會(huì)引發(fā)不同的反應(yīng):教師_鈴聲()講課EndSub學(xué)生_鈴聲()聽講EndSubVB為對象預(yù)先定義了一系列的事件。例如,單擊Click、獲取焦點(diǎn)GotFocus、按下鍵盤KeyPress等其他人員_鈴聲()可不于響應(yīng)EndSub本章目錄20事件過程應(yīng)用程序處理事件的步驟應(yīng)用程序設(shè)計(jì)的主要工作就是為對象編寫事件過程的代碼。事件過程的形式如下:Sub對象名_事件(參數(shù))

… 事件過程代碼EndSub本章目錄21例:單擊按鈕,使Text1的字體為20磅.SubCommand1_Click()

Text1.FontSize=20EndSub一個(gè)動(dòng)作可能同時(shí)發(fā)生多個(gè)事件。例如單擊鼠標(biāo)同時(shí)發(fā)生了:Click、MouseDown、MouseUp事件編程時(shí),只要對需要的事件過程編碼。注意:在代碼窗,自動(dòng)產(chǎn)生事件過程的模板,不要修改模板的內(nèi)容,只需鍵入過程的代碼。模板產(chǎn)生用戶輸入本章目錄22程序執(zhí)行的次序與程序設(shè)計(jì)者無關(guān),取決于用戶的操作,這就是事件驅(qū)動(dòng)程序設(shè)計(jì)方式。VB程序的執(zhí)行步驟如下:①

啟動(dòng)應(yīng)用程序,裝載和顯示窗體;②

窗體(或窗體上的控件)等待事件的發(fā)生;③

事件發(fā)生時(shí),執(zhí)行對應(yīng)的事件過程;④

重復(fù)執(zhí)行步驟②和③。事件驅(qū)動(dòng)本章目錄23方法面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,為程序設(shè)計(jì)人員提供了一種特殊的過程和函數(shù)。方法是面向?qū)ο蟮?,調(diào)用時(shí)一定要指明對象。對象方法的調(diào)用格式為: [對象.]方法[參數(shù)名表]若省略對象,表示當(dāng)前對象,一般指窗體。例如:Text1.SetFocus此語句使Text1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍。本章目錄241.5窗體1.5.1窗體和控件具有基本屬性(1)Name名稱屬性所創(chuàng)建的對象名稱,在程序中引用。(2)Caption標(biāo)題屬性該屬性決定了對象上顯示的內(nèi)容。(3)Height、Width、Top和Left屬性決定對象的高度、寬度,和位置。本章目錄25(4)Enabled屬性 對象是否允許操作(5)Visible屬性 對象是否可見(6)Font屬性組 文本的外觀FontName字體、FontSize大小FontBold粗體、FontItalic斜體、FontStrikethru刪除線、FontUnderline下劃線

本章目錄26(7)ForeColor屬性前景顏色(8)BackColor屬性背景顏色(9)MousePointer鼠標(biāo)指針類型 設(shè)置值范圍0~15,由系統(tǒng)指定。若為99,由用戶提供的圖形文件定義鼠標(biāo)指針形狀。(10)MouseIcon屬性在MousePointer屬性值為99時(shí),存放自定義的鼠標(biāo)圖標(biāo)文件(.ico或.cur)。圖標(biāo)庫在Graphics目錄下。本章目錄27AutoRedraw(自動(dòng)重畫)BorderStyle(邊框類型)ControlBox(控制框)Picture(圖形)WindowState(窗口狀態(tài))28控件默認(rèn)屬性所謂默認(rèn)屬性是程序運(yùn)行時(shí),可以改變某控件的值,而不必指定該控件的哪個(gè)屬性??丶J(rèn)屬性控件默認(rèn)屬性文本框命令按鈕單選按鈕TextDefaultValue標(biāo)簽圖形、圖像框復(fù)選框CaptionPictureValue例如,下面兩條語句是等價(jià)的:Text1.Text="VisualBASIC"Text1="VisualBASIC"本章目錄291.5.2窗體-事件

Click(單擊)事件DblClick(雙擊)事件Load(裝入)事件Unload(卸載)事件Activate(活動(dòng))、Deactivdte(非活動(dòng))事件Paint(繪畫)事件

本章目錄301.5.3窗體-方法

使用方法的語法形式:[對象.]方法[參數(shù)列表]Cls方法清除運(yùn)行時(shí)在窗體或圖形框中產(chǎn)生的文本或圖形,

Cls方法不能清除窗體在設(shè)計(jì)時(shí)的文本和圖形Move方法可移動(dòng)窗體或控件,并可改變其大小。語法格式如下:[對象.]Move左邊距離[,上邊距離[,寬度[,高度]]]本章目錄311.6控件VisualBasic6.0的控件分為以下3類:

-標(biāo)準(zhǔn)控件(也稱內(nèi)部控件)

-ActiveX控件

-可插入對象控件的畫法和基本操作32第2講數(shù)據(jù)類型及運(yùn)算2.1數(shù)據(jù)類型2.2變量和常量2.3運(yùn)算符和表達(dá)式2.4常用內(nèi)部函數(shù)2.5程序結(jié)構(gòu)和編碼規(guī)則本章目錄33本章目錄2.1數(shù)據(jù)類型34352.2.1常量在程序運(yùn)行過程中,其值不能被改變的量稱為常量。在VB中有三類常量:

普通常量符號(hào)常量系統(tǒng)常量。一、普通常量

1.

整型常量

(1)整型(Integer):表示-32768至32767之間的整數(shù)例如:1011020(2)長整型(Long):表示-2,147,483,648至2,147,483,647之間的整數(shù)例如:長整型常數(shù)的書寫:23&2.2變量和常量36

通常我們說的整型常量指的是十進(jìn)制整數(shù),但VB中可以使用八進(jìn)制和十六進(jìn)制形式的整型常數(shù),因此整型常數(shù)有如下三種形式:

1)十進(jìn)制整數(shù)。如125,0,-89。202)八進(jìn)制整數(shù)。以&或&O開頭的整數(shù)是八進(jìn)制整數(shù),如&O25表示八進(jìn)制整數(shù)25,等于十進(jìn)制數(shù)21。3)十六進(jìn)制。以&H開頭的整數(shù)是十六進(jìn)制整數(shù),如&H25表示十六進(jìn)制整數(shù)25,等于十進(jìn)制數(shù)37。37

2、實(shí)數(shù)1)單精度實(shí)型(Single):有效數(shù)為7位2)雙精度實(shí)型(Double):有效數(shù)為15位常量的表示:1)十進(jìn)制小數(shù)形式。它是由正負(fù)號(hào)(+,-)、數(shù)字(0~9)和小數(shù)點(diǎn)(.)或類型符號(hào)(!、#)組成,即±n.n,±n!或±n#,其中n是0~9的數(shù)字。例如0.123、.123、123.0、123!、123#等2)指數(shù)形式?!纍E±m(xù)或±n.nE±m(xù),±nD±m(xù)或±n.nD±m(xù)例:1.25E+3和1.25D+3相當(dāng)于1250.0或者1.25×103。383、字符串常量在VB中字符串常量是用雙引號(hào)””括起的一串字符,可以是所有西文字符和漢字、標(biāo)點(diǎn)符號(hào)等;例如"ABC","abfg","123","0","VB程序設(shè)計(jì)"等。說明:(1)""表示空字符串,而""表示有一個(gè)空格的字符串;(2)若字符串中有雙引號(hào),例如ABD"XYZ,則用連續(xù)兩個(gè)雙引號(hào)表示,即:"ABD""XYZ“4、邏輯(Boolean)數(shù)據(jù)類型只有兩個(gè)值True,或False。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時(shí):True為-1,F(xiàn)alse為0;其它數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時(shí):非0為True,0為False。395、日期常量日期(Date)型數(shù)據(jù)按8字節(jié)的浮點(diǎn)數(shù)來存儲(chǔ),表示日期范圍從公元100年1月1日~9999年12月31日,而時(shí)間范圍從0:00:00~23:59:59。一種在字面上可被認(rèn)作日期和時(shí)間的字符,只要用號(hào)碼符“#”括起來,都可以作為日期型數(shù)值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。

40二、符號(hào)常量在程序中,某個(gè)常量多次被使用,則可以使用一個(gè)符號(hào)來代替該常量,這樣不僅在書寫上方便,而且有效地改進(jìn)了程序的可讀性和可維護(hù)性。VB中使用關(guān)鍵字Const聲明符號(hào)常量。其格式如下:

Const常量名[As類型]=常數(shù)表達(dá)式

或:Const常量名[類型符號(hào)]=常數(shù)表達(dá)式例如:ConstPIAsDouble=3.1415926535等價(jià)于:ConstPI#=3.141592653541例如,要將文本框Text1的前景顏色設(shè)置為紅色,可以使用下面的語句:Text1.ForeColor=vbRed這里的vbRed就是系統(tǒng)常量。這比直接使用16進(jìn)制數(shù)來設(shè)置要直觀得多。三、系統(tǒng)常量

VB系統(tǒng)提供的應(yīng)用程序和控件的系統(tǒng)定義常數(shù)。它們存放于系統(tǒng)的對象庫中,在“對象瀏覽器”中的VisualBasic(VB)和VisualBasicforapplications(VBA)對象庫中列舉了VisualBasic的常數(shù)422.2.2變量在程序運(yùn)行中其存儲(chǔ)的值可以改變的量。命名規(guī)則:一.變量的命名規(guī)則1.以字母或漢字開頭,后可跟字母、數(shù)字或下劃線組成.2.變量名最長為255個(gè)字符;3.VB中不區(qū)分變量名的大小寫,不能使用VB的關(guān)鍵字;4.字符之間必須并排書寫,不能出現(xiàn)上下標(biāo)以下是合法的變量名:

a,x,x3,BOOK_1,sum5以下標(biāo)識(shí)符是非法的:

3s,s*T,-3x,bowy-1,if43二.變量聲明

1.用Dim語句顯式聲明變量形式:Dim變量名[AS類型] Dim變量名[類型符]例: DimabAsinteger,sumAssingle等價(jià)于Dimab%,sum!44下面是一個(gè)很簡單的程序,其使用的變量a,b,Total都沒有事先定義。PrivateSubForm_Click()Total=0a=10:b=20Total=a+bPrint“Total=";TotalEndSub2.隱式聲明VisualBasic允許用戶在編寫應(yīng)用程序時(shí),不聲明變量而直接使用,系統(tǒng)臨時(shí)為新變量分配存儲(chǔ)空間并使用,這就是隱式聲明。所有隱式聲明的變量都是Variant數(shù)據(jù)類型。VisualBasic根據(jù)程序中賦予變量的值來自動(dòng)調(diào)整變量的類型。例如:453.強(qiáng)制顯式聲明——OptionExplicit語句良好的編程習(xí)慣都應(yīng)該是“先聲明變量,后使用變量”,這樣做可以提高程序的效率,同時(shí)也使程序易于調(diào)試。VisualBasic中可以強(qiáng)制顯式聲明,可以在窗體模塊、標(biāo)準(zhǔn)模塊和類模塊的通用聲明段中加入語句:OptionExplicit462.3運(yùn)算符和表達(dá)式和其他語言一樣,VB中也具有豐富的運(yùn)算符,通過運(yùn)算符和操作數(shù)組合成表達(dá)式,實(shí)現(xiàn)程序編制中所需的大量操作。運(yùn)算符是表示實(shí)現(xiàn)某種運(yùn)算的符號(hào)。VB中的運(yùn)算符可分算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符4類。47一.運(yùn)算符1.算術(shù)運(yùn)算符與算術(shù)表達(dá)式例:5+2*10mod10\9/3+2^2結(jié)果是:11(ia=3)482.字符串運(yùn)算符與字符串表達(dá)式

字符串運(yùn)算符有:&、+。功能是字符串連接例如:"ABCD"+"EFGHI"'結(jié)果為:ABCDEFGHI"VB”&“程序設(shè)計(jì)教程”'結(jié)果為:VB程序設(shè)計(jì)教程說明:當(dāng)連接符兩旁的操作數(shù)都為字符串時(shí),上述兩個(gè)連接符等價(jià)。它們區(qū)別是:

+(連接運(yùn)算):兩個(gè)操作數(shù)均應(yīng)為字符串類型;

&(連接運(yùn)算):兩個(gè)操作數(shù)既可為字符型也可為數(shù)值型,當(dāng)是數(shù)值型時(shí),系統(tǒng)自動(dòng)先將其轉(zhuǎn)換為數(shù)字字符,然后進(jìn)行連接操作。49例:"100"+123'結(jié)果為223"100"+"123"'結(jié)果為100123"Abc"+123'出錯(cuò)"100"&123'結(jié)果為100123100&123'結(jié)果為100123"Abc"&"123"'結(jié)果為Abc123"Abc"&123'結(jié)果為Abc123注意:使用運(yùn)算符“&”時(shí),變量與運(yùn)算符“&”之間應(yīng)加一個(gè)空格。這是因?yàn)榉?hào)“&”還是長整型的類型定義符,如果變量與符號(hào)“&”接在一起,VB系統(tǒng)先把它作為類型定義符處理,因而就會(huì)出現(xiàn)語法錯(cuò)誤。503關(guān)系運(yùn)算符與關(guān)系表達(dá)式比較兩個(gè)運(yùn)算量之間的關(guān)系,關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯量。若關(guān)系成立,結(jié)果為True,若關(guān)系不成立,結(jié)果為False。VB中的關(guān)系運(yùn)算符如下表所示。運(yùn)算符含義優(yōu)先級(jí)實(shí)例結(jié)果<小于所有關(guān)系運(yùn)算優(yōu)先級(jí)相同。低于算術(shù)運(yùn)算的加“+”,減“-”運(yùn)算,高于邏輯非“Not”運(yùn)算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"True

51關(guān)系運(yùn)算的規(guī)則如下:(1)當(dāng)兩個(gè)操作式均為數(shù)值型,按數(shù)值大小比較。(2)字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。例:"ABCDE">"ABRA" 結(jié)果為False(3)數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,如:29>"189",按數(shù)值比較,結(jié)果為False。(4)數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77>"sdcd",不能比較,系統(tǒng)出錯(cuò)。(5)“Like”運(yùn)算符是VB6.0新增加的。其使用格式為:str1Likestr2524邏輯運(yùn)算符與邏輯表達(dá)式

邏輯運(yùn)算符:Not,And,Or,Xor53說明:(1)邏輯運(yùn)算符的優(yōu)先級(jí)不相同,Not>AND>OR(2)VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個(gè)關(guān)系表達(dá)式進(jìn)行邏輯判斷。例如:數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式:10≤X<20用VB程序中應(yīng)寫成:

X>=10AndX<20

如果寫成如下形式將是錯(cuò)誤的:10<=x<20或10<=xOrx<20

54例:用人單位招聘秘書:年齡小于40歲,女性,學(xué)歷??苹虮究疲簩懗蓷l件VB的表達(dá)式:年齡<=39性別=“女”學(xué)歷=“專科”學(xué)歷=“本科”AndOrAnd()55

5日期型表達(dá)式日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能有下面3種情況:1.一個(gè)日期型數(shù)據(jù)可以相減:

DateB-DateA結(jié)果是一個(gè)數(shù)值型整數(shù)(兩個(gè)日期相差的天數(shù))。例如:#05/08/2002#-#05/01/2002#其結(jié)果為數(shù)值:72.一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作加法運(yùn)算:DateA+N其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。3.一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作減法運(yùn)算:DateA-N其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。例如:#05/08/2002#-756表達(dá)式的說明:1、組成:變量、常量、函數(shù)、運(yùn)算符和圓括號(hào)2、書寫規(guī)則:運(yùn)算符不能相鄰例a+-b是錯(cuò)誤的乘號(hào)不能省略例x乘以y應(yīng)寫成:x*y括號(hào)必須成對出現(xiàn)(均使用圓括號(hào))表達(dá)式從左到右在同一基準(zhǔn)上書寫,無高低、大小之分57

3、不同數(shù)據(jù)類型的轉(zhuǎn)換運(yùn)算結(jié)果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠Integer<Long<Single<Double<Currency

4、優(yōu)先級(jí)算術(shù)運(yùn)算符>=字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算例如:(b-sqr(b*b-4*a*c))/(2*a)(a+b)/(a-b)58

VB提供了上百種內(nèi)部函數(shù)(庫函數(shù)),要求掌握這些常用函數(shù)的功能及使用。調(diào)用方法:

函數(shù)名(參數(shù)列表)有參函數(shù)函數(shù)名無參函數(shù)說明:1.使用庫函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類型2.要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍)例如:sqr(x)要求:x>=03.要注意函數(shù)的值域。如:exp(23773)的值就超出實(shí)數(shù)在計(jì)算機(jī)中的表示范圍。2.4常用內(nèi)部函數(shù)

59數(shù)學(xué)函數(shù)-43Int(-3.5)Int(3.5)取小于或等于N的最大整數(shù)Int(N)2.3Log(10)自然對數(shù)Log(N)-33Fix(-3.5)Fix(3.9)取整Fix(N)20.086Exp(3)enExp(N)1Cos(0)余弦函數(shù)Cos(N)3.5Abs(-3.5)取絕對值A(chǔ)bs(N)結(jié)果實(shí)例含義函數(shù)名本章目錄60數(shù)學(xué)函數(shù)0Tan(0)正切函數(shù)Tan(N)3Sqr(9)平方根Sqr(N)-1Sgn(-3.5)符號(hào)函數(shù)Sgn(N)0Sin(0)正弦函數(shù)Sin(N)-44Round(-3.5)Round(3.5)四舍五入取整Round(N)[0,1)之間的數(shù)Rnd產(chǎn)生隨機(jī)數(shù)Rnd[(N)]結(jié)果實(shí)例含義函數(shù)名Rnd函數(shù)返回0和1(包括0但不包括1)之間的雙精度隨機(jī)數(shù).每次運(yùn)行時(shí),要產(chǎn)生不同序列的隨機(jī)數(shù),先執(zhí)行Randomize語句。產(chǎn)生a~b的之間的隨機(jī)整數(shù):Int(Rnd*(b-a+1)+a)本章目錄61轉(zhuǎn)換函數(shù)"ABC"Ucase$("abc")小寫字母轉(zhuǎn)為大寫字母Ucase(C)"144"Oct$(100)十進(jìn)制轉(zhuǎn)換成八進(jìn)制Oct](N)"123.45"Str$(123.45)數(shù)值轉(zhuǎn)換為字符串Str(N)123Val("123AB")數(shù)字字符串轉(zhuǎn)換為數(shù)值Val(C)"abc"Lcase$("ABC")大寫字母轉(zhuǎn)為小寫字母Lcase$(C)64Hex(100)十進(jìn)制轉(zhuǎn)換成十六進(jìn)制Hex(N)"A"Chr$(65)ASCII碼值轉(zhuǎn)換成字符Chr(N)2003-11-13CDate("2003/11/13")轉(zhuǎn)換成日期型CDate65Asc("A")字符轉(zhuǎn)換成ASCII碼值A(chǔ)sc(C)結(jié)果實(shí)例功能

函數(shù)名本章目錄62字符串函數(shù)"BCD"Mid("ABCDE",2,3)取字符子串Mid(C,N1[,N2])"ABCD"Trim("ABCD")去掉字符串兩邊空格Trim(C)"A3AB3"Replace("ACDABCD","CD","3")用C2替代C1Replace(C,C1,C2)""Space(3)產(chǎn)生N個(gè)空格的字符串

Space(N)4Len("AB教育")字符串長度Len(C)"ABC"Left("ABCDE",3)取字符串左邊n個(gè)字符Left(C,N)7InStr(2,"EFABCDEFG","EF")從n開始,在C1中找C2InStr([N,]C1,C2[,M])結(jié)果實(shí)例說明

函數(shù)名本章目錄63字符串函數(shù)"ABCD"TRim(“ABCD")去掉字符串兩邊的空格TRim(C)"DCBA"StrReverse("ABCD")將字符串反序StrReverse(C)"AAA"String(3,"ABC")重復(fù)首字符n次String(N,C)S(0)="123"S(1)=“ab"S=Split("123,ab",",")將字符串分隔成字符數(shù)組Split(C[,D])“"Space(3)產(chǎn)生n個(gè)空格的字符串Space(N)"ABCD"RTrim("ABCD")去掉字符串右邊空格RTrim(C)“BCD"Right("ABCD",3)取字符串右邊n個(gè)字符Right(C,N)結(jié)果實(shí)例說明

函數(shù)名本章目錄64日期函數(shù)Second(#1:12:56PM#)返回秒(0~59)Second(C|N)Time返回系統(tǒng)時(shí)間Time[()]Year(365)返回年代號(hào)(1753~2078)Year(C|N)Now返回系統(tǒng)日期和時(shí)間NowMonth("2003,05,01")返回月份代號(hào)(1~12)Month(C|N)Minute(#1:12:56PM#)返回分鐘(0~59)Minute(C|N)Hour(#1:12:56PM#)返回小時(shí)(0~24)Hour(C|N)Day("2003,05,01")返回日期代號(hào)(1~31)Day(C|N)Date返回系統(tǒng)日期Date[()]實(shí)例說明

函數(shù)名本章目錄65Shell函數(shù)Shell函數(shù)可調(diào)用各種應(yīng)用程序。格式如下:

Shell(命令字符串[,窗口類型])命令字符串為要執(zhí)行的應(yīng)用程序名(包括路徑),必須是可執(zhí)行文件(.com、.exe、.bat)。窗口類型表示執(zhí)行應(yīng)用程序的窗口狀態(tài),0~4,6的整型數(shù)值,1表示正常窗口狀態(tài)。函數(shù)調(diào)用成功返回一個(gè)任務(wù)標(biāo)識(shí)ID,不成功,則返回0。例

i=Shell("calc.exe")

本章目錄662.5程序結(jié)構(gòu)和編碼規(guī)則本章目錄67編碼規(guī)則(1)VB代碼不區(qū)分字母的大小寫關(guān)鍵字首字母自動(dòng)轉(zhuǎn)換成大寫,其余字母轉(zhuǎn)換成小寫。用戶自定義的變量、過程名,以第一次定義的為準(zhǔn),以后輸入的自動(dòng)向首次定義的形式轉(zhuǎn)換。(2)語句書寫自由一行上可書寫多句語句(用冒號(hào)分隔),一行最多255個(gè)字符。單行語句可分若干行書寫,在本行后加入續(xù)行符(空格和下劃線)。(3)注釋、暫停與程序結(jié)束語句本章目錄68第3講VB控制結(jié)構(gòu)3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)結(jié)構(gòu)3.4其它輔助控制語句3.5綜合應(yīng)用693.1順序結(jié)構(gòu)VB具有結(jié)構(gòu)化程序設(shè)計(jì)的三種結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),是程序設(shè)計(jì)的基礎(chǔ)。(1)順序結(jié)構(gòu)在順序結(jié)構(gòu)中,算法的每一步操作都是按從上到下的線性次序執(zhí)行的。(2)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu),根據(jù)給出的條件,選擇執(zhí)行一個(gè)分支。因此,在選擇結(jié)構(gòu)中,必然包含了條件判斷。(3)循環(huán)結(jié)構(gòu)又稱重復(fù)執(zhí)行結(jié)構(gòu)。根據(jù)給出的條件,判斷是否重復(fù)執(zhí)行某一組操作。本章目錄703.1.1賦值語句形式:變量名=表達(dá)式計(jì)算右邊表達(dá)式的值,然后賦給左邊的變量。給變量賦值和設(shè)定屬性是VB編程中常見的兩個(gè)任務(wù)。例如:n=n+1

'計(jì)數(shù)累加

Text1.Text

="" '清除文本框的內(nèi)容Text1.Text

="歡迎使用VB"'文本框顯示字符串

本章目錄71賦值語句注意點(diǎn)賦值語句不允許寫成表達(dá)式=變量,雖然賦值號(hào)與關(guān)系運(yùn)算符等于號(hào)都用=表示,VB系統(tǒng)會(huì)根據(jù)所處的位置自動(dòng)判斷符號(hào)的意義。

賦值號(hào)左邊的變量只能是變量,不能是常量、常數(shù)符號(hào)、表達(dá)式。下面均為錯(cuò)誤的賦值語句:Now()=x+y'左邊是表達(dá)式(函數(shù))5=sqr(s)+x+y

'左邊是常量本章目錄72InputBox函數(shù)打開一個(gè)對話框,等待用戶輸入,返回字符串類型的輸入值。形式:InputBox(提示[,標(biāo)題][,默認(rèn)值][,x坐標(biāo)位置][,y坐標(biāo)位置])提示項(xiàng)不能省略。3.1.2數(shù)據(jù)輸出和輸入本章目錄73打開一個(gè)信息框,等待用戶選擇一個(gè)按鈕。MsgBox函數(shù)返回所選按鈕的值,MsgBox過程不返回值MsgBox函數(shù)形式:

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

MsgBox

提示[,按鈕][,標(biāo)題]按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕的數(shù)目和類型及出現(xiàn)在信息框上的圖標(biāo)形式。

MsgBox函數(shù)和MsgBox過程

本章目錄74MsgBox按鈕設(shè)置

第3個(gè)按鈕為默認(rèn)512VBDefaultButton3第2個(gè)按鈕為默認(rèn)56VBDefaultButton2第1個(gè)按鈕為默認(rèn)0VBDefaultButton1默認(rèn)按鈕

信息圖標(biāo)64VBInformation警告信息圖標(biāo)48VBExclamation詢問信息圖標(biāo)32VBQuestion關(guān)鍵信息圖標(biāo)16VBCritical圖標(biāo)類型

重試、取消按鈕5VBRetryCancel是、否按鈕4VBYesNo是、否、取消按鈕3VBYesNoCancel終止、重試、忽略按鈕2VBAboutRetryIgnore確定、取消按鈕1VBOkCancel確定按鈕0VBOkOnly按鈕數(shù)目描述值內(nèi)部常數(shù)分組本章目錄75MsgBox所選按鈕返回值

本章目錄內(nèi)部常數(shù)返回值被單擊的按鈕vbOk1確定vbCancel2取消vbAbort3終止vbRetry4重試vbIgnore5忽略vbYes6是vbNo7否76Print方法作用:在對象上輸出信息。對象.Print[Spc(n)|Tab(n)][輸出列表

][;|,]對象:窗體、圖形框或打印機(jī)。缺省為窗體。Spc(n)函數(shù):從當(dāng)前位置起空n個(gè)空格Tab(n)函數(shù):從最左端開始計(jì)算的第n列分號(hào):定位在上一個(gè)被顯示的字符之后逗號(hào):定位在下一個(gè)打印區(qū)開始處(每區(qū)14列)Print語句尾無分號(hào)或逗號(hào),輸出后換行77Format格式輸出函數(shù)

形式:

Format(表達(dá)式[,"格式字符串"])1.23E-01"0.00E+00"1234.567用指數(shù)表示E+$1234.57"$###.##"1234.567在數(shù)字前強(qiáng)加$$123456.7%"####.##%"1234.567數(shù)值乘以100,加百分號(hào)%1,234.567"##,##0.000"1234.567千分位,1234.567"#####.####"1234.567位置不足時(shí)不填充0#01234.5670"00000.0000"1234.567用0填充不足的位置0顯示結(jié)果格式字符串表達(dá)式作用符號(hào)常用數(shù)值格式化符及舉例783.2選擇結(jié)構(gòu)計(jì)算機(jī)要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。必須利用選擇結(jié)構(gòu)等來解決實(shí)際應(yīng)用中的各種問題。VB中提供了多種形式的條件語句來實(shí)現(xiàn)選擇結(jié)構(gòu),有If條件語句和Select情況語句等。它們都是對條件進(jìn)行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。本章目錄793.2.1If條件語句1.If…Then語句(單分支結(jié)構(gòu))

If<表達(dá)式>Then

語句塊(可以是一句或多句語句)EndIf或

If<表達(dá)式>Then<語句>表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式。表達(dá)式值按非零為True,零為False進(jìn)行判斷。該語句的作用是當(dāng)表達(dá)式的值為True,執(zhí)行Then后面的語句塊,否則不做任何操作。本章目錄IF演示80單分支結(jié)構(gòu)例:已知兩個(gè)數(shù)x和y,比較它們的大小,使得x大于y。Ifx<yThent=xx=yy=tEndIf

或Ifx<yThent=x:x=y:y=t

簡單If形式無EndIf時(shí),只能是一句語句或語句間用冒號(hào)分隔,而且必須在一行上書寫。

本章目錄81雙分支結(jié)構(gòu)2.If…Then…Else語句If表達(dá)式Then

語句塊1Else

語句塊2EndIf或If表達(dá)式Then語句1

Else語句2當(dāng)表達(dá)式的值為True時(shí),執(zhí)行Then后面的語句塊1,否則執(zhí)行Else后面的語句塊2本章目錄82雙分支結(jié)構(gòu)例:計(jì)算分段函數(shù)本章目錄Ifx<>0Then雙分支y=sin(x)+sqr(x*x+1)Else結(jié)構(gòu)實(shí)現(xiàn)y=cos(x)-x^3+3*xEndIf83多分支結(jié)構(gòu)3.If…Then…ElseIf語句

If表達(dá)式1Then

語句塊1

ElseIf表達(dá)式2Then

語句塊2 …

[Else

語句塊n+1]

EndIf作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個(gè)語句塊

本章目錄843.2.2SelectCase語句SelectCase變量或表達(dá)式Case表達(dá)式值列表1

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

語句塊2 …[CaseElse語句塊n+1]EndSelect表達(dá)式列表與變量或表達(dá)式的類型必須相同,是下面4種形式之一:表達(dá)式例:"A"一組用逗號(hào)分隔的枚舉值

2,4,6,8

表達(dá)式1To表達(dá)式260To100Is關(guān)系運(yùn)算符表達(dá)式Is<60本章目錄數(shù)值型或字符串表達(dá)式85SelectCase語句例例4.9判斷坐標(biāo)點(diǎn)(x,y),落在哪個(gè)象限。代碼一

Ifx>0Andy>0ThenMsgBox("在第一象限")ElseIfx<0Andy>0ThenMsgBox("在第二象限") ElseIfx<0Andy<0ThenMsgBox("在第三象限") ElseIfx>0Andy<0ThenMsgBox("在第四象限") EndIf

代碼二SelectCasex,yCasex>0Andy>0MsgBox(“在第一象限”)Casex<0Andy>0MsgBox(“在第二象限”)Casex<0Andy<0MsgBox(“在第三象限”)Casex>0Andy<0MsgBox(“在第四象限”)EndSelect代碼二錯(cuò)誤:1.SelectCase后不能出現(xiàn)多個(gè)變量2.Case后不能出現(xiàn)變量及有關(guān)運(yùn)算符本章目錄86選擇結(jié)構(gòu)的嵌套

本章目錄

在IF語句的Then分支和Else分支中可以完整地嵌套另一IF語句或SelectCase語句,同樣SelectCase語句每一個(gè)Case分支中都可嵌套另一IF語句或另一SelectCase語句。注意:

1.只要在一個(gè)分支內(nèi)嵌套,不出現(xiàn)交叉,滿足結(jié)構(gòu)規(guī)則,其嵌套的形式將有很多種,嵌套層次也可以任意多。2.對于多層IF嵌套結(jié)構(gòu)中,要特別注意IF與Else的配對關(guān)系,一個(gè)Else必須與IF配結(jié),配對的原則是:在寫含有多層嵌套的程序時(shí),建議使用縮進(jìn)對齊方式,這樣容易閱讀和維護(hù)。87(1)IF<條件1>Then…..

if<條件2>Then……Else…..EndIf….Else….

IF<條件3>Then…..Else…..EndIf…..EndIF(2)IF<條件1>Then…..SelectCase…Case……

IF<條件1>Then……Else…..EndIf……Case….…..EndSelect….EndIF下面是兩種正確的嵌套形式:選擇結(jié)構(gòu)的嵌套

883.2.3條件函數(shù)(1)IIf函數(shù)IIf(表達(dá)式,表達(dá)式為真時(shí)的值,表達(dá)式為假時(shí)的值)IIf函數(shù)是If…Then…Else結(jié)構(gòu)的簡潔表示例如,將x,y中大的數(shù),放入Tmax變量中:Tmax=IIf(x>y,x,y)該語句與如下語句等價(jià)

:Ifx>yThenTmax=xElseTmax=y

本章目錄89常見錯(cuò)誤在選擇結(jié)構(gòu)中缺少配對的結(jié)束語句對多行式的If塊語句中,應(yīng)有配對的EndIf語句結(jié)束。多邊選擇ElseIf關(guān)鍵字的書寫和條件表達(dá)式的表示

ElseIf

不要寫成ElseIf。SelectCase語句的使用

SelectCase后不能出現(xiàn)多個(gè)變量;Case子句后不能出現(xiàn)變量。903.3循環(huán)結(jié)構(gòu)計(jì)算機(jī)最擅長的功能之一就是按規(guī)定的條件,重復(fù)執(zhí)行某些操作。例如,按照人口某增長率,對人口增長統(tǒng)計(jì);根據(jù)各課程的學(xué)分、績點(diǎn)和學(xué)生的成績,統(tǒng)計(jì)每個(gè)學(xué)生的平均績點(diǎn)等。這類問題都可通過循環(huán)結(jié)構(gòu)來方便地實(shí)現(xiàn)。VB中提供了兩種類型的循環(huán)語句:一種是計(jì)數(shù)循環(huán)語句;另一種是條件型循環(huán)語句。

本章目錄913.3.1For循環(huán)語句For循環(huán)語句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。For循環(huán)變量=初值To終值

[Step步長] 語句塊 [ExitFor] 語句塊Next循環(huán)變量循環(huán)變量必須為數(shù)值型。循環(huán)次數(shù)>0初值<終值=1時(shí),可省略<0初值>終值=0死循環(huán)步長本章目錄92For循環(huán)語句循環(huán)流程:(1)循環(huán)變量被賦初值,它僅被賦值一次。(2)判斷循環(huán)變量是否在終值內(nèi),如果是,執(zhí)行循環(huán)體;如果否,結(jié)束循環(huán),執(zhí)行Next的下一語句。(3)循環(huán)變量加步長,轉(zhuǎn)(2),繼續(xù)循環(huán)

本章目錄例4.11

計(jì)算1~100的奇數(shù)和

Dimi%,sum%Fori=1To100Step2sum=sum+iNextiMsgBox(sum)93注意:

出了循環(huán),循環(huán)控制變量值的問題。例程序段:Fori=2To13Step3循環(huán)執(zhí)行次數(shù)Printi,輸出i的值分別為:Nexti25811Print:Print“I=“,i出了循環(huán)輸出為:I=14

在循環(huán)體內(nèi)對循環(huán)控制變量可多次引用;但最好不要對其賦值,否則影響原來的循環(huán)控制規(guī)律。943.3.2Do…Loop循環(huán)語句Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。形式1:Do{While|Until}<條件>

語句塊[ExitDo語句塊]Loop形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;形式2為先執(zhí)行后判斷,至少執(zhí)行一次。形式2:Do

語句塊[ExitDo語句塊]Loop{While|Until}<條件>本章目錄95Do…Loop流程本章目錄963.3.3循環(huán)的嵌套在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。循環(huán)嵌套對For循環(huán)語句和Do…Loop語句均適用。例4.14打印九九乘法表

思考:打印上三角或下三角程序如何改動(dòng)?本章目錄97

Forii=1To10Forjj=1To20… Nextii Nextjj

Forii=1To10Forii=1To20… Nextii Nextii

Forii=1To10Forjj=1To20… NextjjNextii

Forii=1To10…NextiiForii=1To10

溫馨提示

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

評論

0/150

提交評論