版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第 1 章 visual basic 概述一、vb 是在 windows 平臺(tái)下,用于開發(fā)和創(chuàng)建具有圖形用戶界面的應(yīng)用程序的工具。 二、vb 是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言;工作方式為事件驅(qū)動(dòng)/消息驅(qū)動(dòng)。1對象對象是動(dòng)作體的邏輯模型,是人們可控制的某種東西,應(yīng)用程序的每個(gè)窗體和窗體上的 種種控件都是 vb 的對象2屬性屬性指對象的特性。3方法方法指對象可以進(jìn)行的動(dòng)作或行為。4事件事件是指能被對象所識(shí)別的動(dòng)作。5事件驅(qū)動(dòng)只有在事件發(fā)生時(shí)程序才會(huì)運(yùn)行。6工程工程是應(yīng)用程序文件的集合,一個(gè)工程一般會(huì)包含下列文件,如表 1l 所示。表 11 應(yīng)用程序文件類型文件類型說明工程文件(vbp)窗體文件(frm)二
2、進(jìn)制數(shù)據(jù)文件(frx)標(biāo)準(zhǔn)模塊文件(bas) 類模塊文件(cls)它是與該工程有關(guān)的全部文件和對象的清單,該文件是必選項(xiàng) 它包含事件過程,以及該窗體及窗體上的各個(gè)控件對象的屬性設(shè) 置以及相關(guān)的說明,該文件是必選項(xiàng)當(dāng)窗體中含有二進(jìn)制屬性(如圖片或圖標(biāo))時(shí),該文件將自動(dòng)產(chǎn)生 它包含可以被任何窗體或?qū)ο笳{(diào)用的過程程序代碼,該文件是可 選項(xiàng)該文件是可選項(xiàng)包含 activex 控件的文件(ocx) 該文件是可選項(xiàng)第 2 章創(chuàng)建用戶界面知識(shí)點(diǎn)概括1用戶界面用戶界面是應(yīng)用程序中最重要的部分,是程序與用戶進(jìn)行交互的橋梁,標(biāo)準(zhǔn)的 windows 應(yīng)用程序界面都是由窗口、菜單條、各種按鈕、文本框、列表框等對象構(gòu)成
3、的。2窗體窗體是包容用戶界面或?qū)υ捒蛩璧母鞣N控件對象的容器。在創(chuàng)建一個(gè)新的工程時(shí),默認(rèn)的第一個(gè)窗體即為啟動(dòng)窗體。3控件控件是與用戶進(jìn)行交互的可視化部件,向窗體上添加控件應(yīng)在窗體編輯器中進(jìn)行。 4命令菜單命令菜單是應(yīng)用程序窗口的基本組成元素之一,它由菜單條、菜單、菜單項(xiàng)、子菜單、 彈出式菜單組成,可以通過 vb 提供的菜單編輯器創(chuàng)建程序菜單。(1) 連字符()(2) &5設(shè)計(jì)用戶界面的步驟(1) 確定窗體的大小和位置。(2) 根據(jù)程序的功能和要求,添加所需的控件。(3) 合理地分布控件的位置與大小。(4) 設(shè)置各個(gè)對象的屬性。6窗體及常用控件的常用屬性、事件、方法熟悉各對象的常用屬性、事件和方
4、法,對于創(chuàng)建應(yīng)用程序有著舉足輕重的作用,表 21 給 出了窗體及常用控件的常用屬性、事件以及方法使用說明。表 21 窗體及常用控件的常用居住、事件以及方法一覽表對 象名稱說明通用屬性namecaptionfontlefttopheightwidthenabled設(shè)置對象在程序代碼中的引用名設(shè)置對象的標(biāo)題欄中或圖標(biāo)下面的文本 設(shè)置文本的字體、字型、字號(hào)等設(shè)置對象的左邊界距容器坐標(biāo)系縱軸的距離 設(shè)置對象的上邊界距容器坐標(biāo)系橫軸的距離 設(shè)置對象的高度設(shè)置對象的寬度設(shè)置對象是否被激活通用屬性 visible backcolorforecolorindextabinfextabstopstyle設(shè)置對象
5、是否可見設(shè)置對象的背景色設(shè)置對象的前景色設(shè)置控件在控件數(shù)組中的標(biāo)識(shí)號(hào)設(shè)置窗體中的對象響應(yīng)tab鍵的順序 設(shè)置用戶是否可以使用tab 鍵來選定對象 設(shè)置控件的外觀boderstyle屬 iconpicture性autoredrawhideshow設(shè)置窗體的邊框風(fēng)格設(shè)置運(yùn)行時(shí)窗體最小化所顯示的圖標(biāo) 設(shè)置窗體上的背景圖像設(shè)置從 graphics 方法到一個(gè)持久性位圖的輸 出用于隱藏 mdifohn 或 fonn 對象,但不卸載 用于顯示 mdifom 或 fom 對象方法moveprintcls用于改變對象的位置和大小用于在 form 和 picturebox 上顯示文本和圖形 用于清除 form
6、和 picturebox 上的文本和圖形窗體printform用于將 from 對象的圖形逐位發(fā)送給打印機(jī)(form) initialize當(dāng)應(yīng)用程序創(chuàng)建某對象時(shí)發(fā)生,可應(yīng)用該事件 初始化窗體所用的數(shù)據(jù),它在 load 事件前發(fā)生事件loadunloadc lickd blclickresizeactivatedeactivate當(dāng)一個(gè)窗體被加載時(shí)發(fā)生當(dāng)窗體卸載時(shí)發(fā)生當(dāng)在一個(gè)對象上單擊鼠標(biāo)左鍵時(shí)發(fā)生 當(dāng)在一個(gè)對象上雙擊鼠標(biāo)左鍵時(shí)發(fā)生 當(dāng)一個(gè)對象首次顯示或窗口狀態(tài)改變時(shí)發(fā)生 當(dāng)一個(gè)窗體成為當(dāng)前窗體時(shí)發(fā)生 當(dāng)一個(gè)窗體不再是當(dāng)前窗體時(shí)發(fā)生對 象文本框(textbox)屬性方法名事件稱textmaxl
7、engthmultilinea1ignmentscrollbarpasswordcharselstartsellengthseltextr efreshs etfocuschangelostfocusgotfocus說明設(shè) 置 控 件 中 包 含 的 文 本 ( 小 于 32kb)設(shè)置控件中可以輸入字符的最大 數(shù),0 為任意個(gè)字符設(shè)置用戶是否可以接受多行文本 設(shè)置復(fù)選框或選項(xiàng)按鈕或一個(gè)控件 的文本的對齊設(shè)置對象是否有水平或垂直滾動(dòng)條 設(shè)置是否在控件中顯示用戶鍵入的 字符設(shè)置所選擇文本的起始點(diǎn)設(shè)置所選擇文本的字符數(shù)設(shè)置包含當(dāng)前所選擇文本的字符串 強(qiáng)制全部重繪一個(gè)窗體或控件 將焦點(diǎn)移至指定的窗體或
8、控件 當(dāng)文本框的內(nèi)容改變或通過代碼改 變 text 屬性的設(shè)置時(shí)發(fā)生 當(dāng)對象失去焦點(diǎn)時(shí)發(fā)生當(dāng)對象獲得焦點(diǎn)時(shí)發(fā)生命令按鈕(commandbutton)標(biāo)簽屬性方法事件屬性keypressc anceld efaultstylevaluesetfocusclickautosizewordwrapborderstyle當(dāng)一個(gè)對象具有焦點(diǎn),按下并松開 一個(gè)鍵時(shí)發(fā)生設(shè)置該命令按鈕是否為窗體的 “取消”按鈕設(shè)置該命令按鈕是否為窗體的默 認(rèn)按鈕設(shè)置命令按鈕的外觀是標(biāo)準(zhǔn)風(fēng)格 或圖形風(fēng)格設(shè)置命令按鈕是否選中,true 為 選中,false 為未選中設(shè)置控件是否能自動(dòng)調(diào)整大小以顯 示所有的內(nèi)容設(shè)置控件是否擴(kuò)大以多
9、行方式顯示 標(biāo)題文字,前提是 autosize 為 true 設(shè)置邊框是立體的或是平面的(label)backstyle設(shè)置背景是透明的或是不透明的選項(xiàng)按鈕方法事件屬性b efresh、movec 1ick、dblclickcaptionaliglment設(shè)置選項(xiàng)按鈕旁的標(biāo)題文字 設(shè)置選項(xiàng)按鈕是在標(biāo)題文字的(optionbutton)事件左邊還是在右邊設(shè)置選項(xiàng)按鈕是否被選中,truevalue為選中,false 為未選中click、dblclick同選項(xiàng)按鈕caption屬alignment同選項(xiàng)按鈕復(fù)選框性設(shè)置選項(xiàng)按鈕是否被選中, 0(checkbox)事件框架(frame)valuecli
10、ckcaption表示未選中,1 表示選中,2 表 示變灰,暫時(shí)不能訪問該屬性為空時(shí),可作為一個(gè)封 閉邊框?qū)?象屬名稱listtextlistindex說明設(shè)置列表框中包含的項(xiàng)目表示運(yùn)行中在列表框中最后選中的列表項(xiàng) 的正文文本表示運(yùn)行中在列表框中最后選中的列表項(xiàng) 序號(hào)性listcount表示運(yùn)行中列表框中的列表項(xiàng)數(shù)目列表框(listbox)sortedcolumnsadditem設(shè)置是否將列表框中的列表項(xiàng)按 ascii 碼 自動(dòng)排序設(shè)置列表框中的項(xiàng)目是按一列還是按多列 顯示向列表框添加項(xiàng)目方法事件屬性removeltemclearclick、dblclickstyle將列表框中所選中的列表項(xiàng)刪
11、除 清空列表框中的所有項(xiàng)目決定組合列表框的外觀組合框其余同 listbox方法同 listbox(combobox)事件當(dāng) style 為 0 或 2 時(shí)可響應(yīng) click 事件,當(dāng) style 為 1 時(shí)可響 應(yīng) dblclick 事件,當(dāng) style 為 0 或 1 時(shí)可響應(yīng) change 事件圖片框?qū)傩詐ictureautosize設(shè)置圖片框的背景圖像設(shè)置圖片框是否能自動(dòng)調(diào)整大小以顯示完整的圖片(picturebox)圖像(image)方法事件屬性print、move、refresh clickpicturestretch設(shè)置圖像控件的背景圖像設(shè)置是否縮放圖形來適應(yīng)圖像控件大方法定時(shí)器
12、屬性 (timer)move、refreshenabledinterval小設(shè)置該控件是否被激活設(shè)置調(diào)用 timer 控件的 timer 事件間隔的時(shí) 間(單位為 ms,最大為 65535ms)事件timer timer 控件可以有規(guī)律地每隔一段時(shí)間執(zhí)行一次代碼屬性minmaxlargechange設(shè)置滾動(dòng)塊位于滾動(dòng)條頂端或者最左側(cè) 時(shí)所代表的值設(shè)置滾動(dòng)塊位于滾動(dòng)條底端或者最右側(cè) 時(shí)所代表的值設(shè)置當(dāng)用戶在滾動(dòng)條的空白處單擊時(shí)增 減的值水 平 垂 直 滾動(dòng)條(hscrollba vscrollbar)smallchangevalue設(shè)置當(dāng)用戶在滾動(dòng)條兩端的箭頭按鈕上 單擊時(shí)增減的值設(shè)置滾動(dòng)條當(dāng)前
13、的值事件change在滾動(dòng)塊移動(dòng)后或通過代碼改變 value 屬scroll性的設(shè)置時(shí)發(fā)生 在滾動(dòng)塊移動(dòng)時(shí)發(fā)生注:加*號(hào)的屬性為只能通過代碼設(shè)置的屬性(即在屬性窗口中沒有顯示 7、print 方法第 3 章語言基礎(chǔ)31 知識(shí)點(diǎn)概括一個(gè)應(yīng)用程序就是一個(gè)工程,在一個(gè)工程中可以包含若干個(gè)文件,應(yīng)用程序的基本組成 如圖 31 所示。應(yīng)用程序的基本組成工程文件(.vbp)一個(gè)或若干個(gè)窗體模塊(.frm)一個(gè)或若干個(gè)標(biāo)準(zhǔn)模塊(.bas) 其它文件圖 3-1 應(yīng)用程序的基本組成事件過程(sub)用戶自定義過程(sub)用戶自定義函數(shù)過程(function)用戶自定義過程(sub) 用戶自定義函數(shù)過程(fun
14、ction)1過程與模塊程序的最基本單位是過程,一般在 vb 中將過程分為事件過程和通用過程有窗體模塊和標(biāo) 準(zhǔn)模塊,關(guān)于過程與模塊的概念和說明見表 31。表 31 過程與模塊概 念過程模塊2數(shù)據(jù)類型事件過程通用過程窗體模塊(.frm)標(biāo)準(zhǔn)模塊(bas)說明為窗體以及窗體上的對象所編寫的用來響應(yīng)由用戶 或系統(tǒng)引發(fā)的各種事件的程序代碼一個(gè)應(yīng)用程序中的不同窗體或者一個(gè)窗體內(nèi)不同的 事件過程可以共享的程序代碼窗體模塊中包含事件過程,以及該窗體及窗體上的 各個(gè)控件對象的屬性設(shè)置和相關(guān)的說明;窗體模塊還 可包含通用過程,它對來自任何事件過程的調(diào)用都作 出響應(yīng)標(biāo)準(zhǔn)模塊中保存的都是通用過程及相關(guān)的說明數(shù)據(jù)是計(jì)
15、算機(jī)程序處理的對象,vb 具有強(qiáng)大的數(shù)據(jù)處理能力,在 vb 中定義了標(biāo)準(zhǔn)數(shù)據(jù) 類型,其具體說明見表 32。表 32 數(shù)據(jù)類型數(shù)據(jù)類型整型類型名稱integer類型說明符 存儲(chǔ)空間(byte) 2初始值數(shù)值型長整型long4單精度型雙精度型single ! 4double # 80貨幣型currency8字節(jié)型byte 1字符型變長字符串 定長字符串string $string*size10+串長度串長度空字符串布爾型日期型booleandate2 false8 0:00:00變體型對象型variantobject=164空字符串3常量常量就是在程序運(yùn)行中取值始終保持不變的數(shù)據(jù),可以是具體的數(shù)值
16、也可以是專門說明的符 號(hào),各種常量的表示見表 33。表 33 常量類 型示例數(shù)值常量字符常量邏輯常量日期常量 回車與換行符123、-9876e-5(單精度)、314159265d8(雙精度)、0137(八進(jìn)制)、h2ab8(十六進(jìn)制)visual basic、中國 北京 2008 奧運(yùn)會(huì)(注:字符常量一定要 放在西文雙引號(hào)內(nèi))true(真)、false(假)、非 0 值轉(zhuǎn)換為 true、0 值轉(zhuǎn)換為 false #12:35:48#、#7122004#chr(13)十 chr(10)或 vbcrlf符號(hào)常自 語句格式:const 常量名 類型說明符 as 數(shù)據(jù)類型表達(dá)式 定 const pi!
17、31415926義 const olympic as sting”中國 北京 2008 奧運(yùn)會(huì)”量顏色常量紅色綠色藍(lán)色黃色vbredvbgreenvbbluevbyellow青色洋紅色黑色白色vbcyanvbmagentavbblackvbwhite4變量變量就是以符號(hào)形式出現(xiàn)在程序中,其值在程序執(zhí)行期間可以發(fā)生變化的數(shù)據(jù)。變量的 作用域的不同,可將變量分為局部變量、窗體/模塊級(jí)變量和全局變量。表 34 中給出了各 種變量的聲明方式和聲明位置的比較。聲明位置局部變量過程中量表 34 變窗體模塊級(jí)變量 通用聲明全局變量通用聲明聲明方式作用域dim dimstatic(靜態(tài)) private pu
18、blic在定義該變量的模塊 在工程內(nèi)的所有過程中都僅在說明它的過程中使用 或窗體的所有過程內(nèi) 有效均有效5運(yùn)算符與表達(dá)式(1)運(yùn)算符。在程序設(shè)計(jì)的過程中,經(jīng)常要進(jìn)行各種各樣的運(yùn)算,在 vb 中包括四種運(yùn)算:算術(shù)運(yùn)算、 連接運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算,相關(guān)運(yùn)算符的說明見表 35表 35 運(yùn) 算 符類 型運(yùn)算符優(yōu)先等級(jí)算術(shù)運(yùn)算符 (指數(shù)) (取負(fù)) *和(整除) mod(取余) + 和 連接運(yùn)算符 +(運(yùn)算符兩邊同為字符型)和(強(qiáng)制將兩個(gè)不同類型的表達(dá)式作字符串連接) 關(guān)系運(yùn)算符 、,(不等于)、is(比較兩個(gè)對象的引用變量)、like(比較樣式)邏輯運(yùn)算符 not(邏輯非)一 and(邏輯與)一
19、or(邏輯或)一 xor(邏輯異或)(2)表達(dá)式。把常量和變量用運(yùn)算符、括號(hào)連接起來的式子就是表達(dá)式。在 vb 表達(dá)式中只能使用圓 括號(hào),且括號(hào)必須成對使用.(3)運(yùn)算規(guī)則.運(yùn)算符運(yùn)算優(yōu)先順序?yàn)椋豪ㄌ?hào)最優(yōu)先-術(shù)運(yùn)算-連接運(yùn)算-關(guān)系運(yùn)算-邏輯運(yùn)算。 相同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果也是同一類型。不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果為兩個(gè)運(yùn)算對象中存儲(chǔ)長度較長的對象的類 型.例如:dim x as integer,y as integerx200:y200print x*y執(zhí)行以上程序段,將出現(xiàn)“溢出”錯(cuò)誤信息,若將其中 y as integer 改為 y as single , 則運(yùn)算結(jié)果為
20、 40000。6常用內(nèi)部函數(shù)vb 中有兩類函數(shù):內(nèi)部函數(shù)和用戶自定義函數(shù)。用戶自定義函數(shù)將在第8 章中進(jìn)行介 紹。內(nèi)部函數(shù)是由系統(tǒng)提供的,可在任何一個(gè) vb 程序中隨時(shí)使用的程序段。表 36表 310 分別列出了常用函數(shù)的格式與功能。注意:使用時(shí)要注意每個(gè)函數(shù)的功能、參數(shù)個(gè)數(shù)及類型,以及函數(shù)返回值的類型。表 36 算術(shù)函數(shù)示例函數(shù)名功能表 達(dá) 式結(jié) 果sgr(x)log(x)求 x 的平方根值,x0 sqr(16) 4 求 x 的自然對數(shù),x0 log(2) 069314exp(x)abs(x)hex(x)求以 e 為底的冪值,即求 ex 求 x 的絕對值求 x 的十六進(jìn)制數(shù)值,結(jié)果為 一字符
21、串exp(2) 7.38906 abs(48) 4.8 hex(1000) 3e8oct(x)sgn(x)求 x 的八進(jìn)制數(shù)值,結(jié)果為一字 oct(1000) 1750 符串求 x 的符號(hào),x0 為 1,x0 為 sgn(-10) -1 0,x0 為-1 sgn(10) 1rnd(x)產(chǎn)生一個(gè)在 0 ,1 區(qū)間均勻分布的隨機(jī)數(shù)。若產(chǎn)生 mn 之間的 int(rnd 隨 機(jī) 整 數(shù) , 其 通 式 為 : *(99-10)+1)+10 int(rnd*(n-m)+1)+m產(chǎn) 生 兩 位 隨 機(jī)整數(shù)sin(x)cos(x)求 x 的正弦值,x 單位為弧度 sin(30*3.141592 0.518
22、0)求 x 的余弦值,x 單位為弧度 cos(30*3.141592 0.866025180)tan(x)求 x 的正切值,x 單位為弧度tan(30* 3.141592 0.57735180)atn(x)求 x 的反正切值,x 單位為弧度 atn(30*3.141592 0.48235180)表 3-7 字符串函數(shù)函數(shù)名功能示例表 達(dá) 式結(jié) 果len(st)求字符串 st 的長度(字符個(gè)數(shù))ch=”i am a student”14len(ch)left(st,n) 從字符串 s,左邊起取 n 個(gè)字符 left(ch,4) right(st,n) 從字符串 st 右邊起取 n 個(gè)字符 rig
23、ht(ch,7)從字符串 s,左邊第 n1 個(gè)位置開始mid(st,n1,n2) 向右起取 n2 個(gè)字符,若 n2 省略,則 mid(ch,3,2)取從 n1 到結(jié)尾的所有字符 mid(ch,6)“i am”“studentg”am”a student”ucase(st)lcase(st)將字符串 st 中所有的小寫字符改為 ucas6(neu) 大寫字符將字符串 st 中所有的大寫字符改為 lcase(name) 小寫字符”new”name”ltrim(st)rtrim(st)去掉字符串 st 的前導(dǎo)空格 去掉字符串 st 的尾隨空格ltrim( new) rtrim(”new ”)”hew
24、”new”trim(st)去掉字符串 st 的前導(dǎo)空格和尾隨空 tnm(” new ”) ”new” 格instr(n,st1,st2) 從 st1 的第 n 個(gè)位置起查找給定的字符 st2,返回該字符在 stl 中最先出現(xiàn) instr(4,ch,”a”)6的位置,n 的缺省值為 1,若沒有找 instr(ch,”r”) 0 到 5t2,則函數(shù)的返回值為 0string(n,st)得到由 n 個(gè)給定字符 st 組成的一個(gè) string(6,#) 字符串“#”space(n)得到 n 個(gè)空格“a”space(3)”b” ”a b”表 38 轉(zhuǎn)換函數(shù)函數(shù)名示例str(x)功能表 達(dá) 式將數(shù)值數(shù)據(jù)
25、x 轉(zhuǎn)換成字符串(含符號(hào)位) str(1024) 將 x 轉(zhuǎn)換成字符串型,若 x 為數(shù)值型,結(jié)果“1024”cstr(x)則轉(zhuǎn)為數(shù)字字符串 ( 對于正數(shù)符號(hào)位不cstr(1024)“1024”予保留)val(x)chr(x)asc(x)cint(x)fix(x)int(x)將字符串 x 中的數(shù)字轉(zhuǎn)換成數(shù)值 返回以 x 為 ascii 代碼值的字符 給出字符 x 的 a5c1i 代碼值(十進(jìn)制數(shù)) 將數(shù)值型數(shù)據(jù) x 的小數(shù)部分四舍五入取 整將數(shù)值型數(shù)據(jù) x 的小數(shù)部分舍去 取小于等于 x 的最大整數(shù)val(“1024”)chr(65)asc(“a”)cint(16.8)cint(-16.8)fi
26、x(-16.8)int(16.8)int(-16.8)1024”a”6517-17-1616-17表 39 日期函數(shù)函數(shù)名功能date $time $nowyear(xmonth(x)day(x)返回系統(tǒng)當(dāng)前的日期返回系統(tǒng)當(dāng)前的時(shí)間返回系統(tǒng)當(dāng)前的日期和時(shí)間返回一個(gè)表示 x 的年號(hào)的整數(shù),x 為一有效的日期變量、常量或字符表 達(dá)式返回一個(gè)表示 x 的月份的整數(shù)x 為一有效的日期變量、常量或字符表 達(dá)式返回 131 之間的整型數(shù)x 為一有效的日期變量、常量或字符表達(dá)式 返回 x 是星期幾,x 為一有效的日期變量、常量或字符表達(dá)式,c 是用于weekday(x,c) 指定星期幾為一個(gè)星期第一天的常數(shù)
27、,缺省時(shí)表示一周的星期天為第一天表 3-10 其他常用函數(shù)函數(shù)名格式和功能格式inputbox(prompt,title ,default ,xpos ,ypos ,helpfile,context)inputbox在一對話框中顯示提示。等待用戶輸入正文或按下按鈕,msgboxformatisnumericloadpicturergb7賦值語句功能格式功能格式功能格式功能格式功能格式功能并返回包含文本框內(nèi)容的字符串msgbox(prompt,buttons ,title ,helpfile,context ) 在對話框中顯示消息,等待用戶單擊按鈕,并返回一個(gè)整數(shù) 告訴用戶單擊哪一按鈕forma
28、t(expression , format , fristdayofweek , firstweekofyear)返回 variant(sting),根據(jù)格式表達(dá)式 format 中的指令來格式 化isnumeric(expression)返回 boolean 值指出表達(dá)式的運(yùn)算結(jié)果是否為數(shù)字。如果 為數(shù)字,則 isnumeric 返回 true;否則返回 false:若是日期 表達(dá)式,則 isnumeric 返回 falseloadpicture(filename,size 2,colordepth,x,y)將圖形載入到窗體、picnrebox 控件或 image 控件的 picture 屬
29、性rgb(red,green,blue)返回一個(gè) long 整數(shù),用來表示一個(gè) rgb 顏色值賦值語句的作用就是在程序中改變對象的屬性或變量的值,如果一個(gè)賦值語句左邊變量的 類型與右邊表達(dá)式的類型不同,系統(tǒng)將視具體情況作出如下處理,如表 312 所示,表中出 現(xiàn)的變量定義為:x as integer,y as double,st as string,flag as boolean .表 312 不同類型的數(shù)據(jù)處理右邊表達(dá)左邊變式類型量類型系 統(tǒng) 處 理示例數(shù)值型字符型數(shù)值型字符型邏輯型數(shù)值型邏輯型先求出表達(dá)式的值,再將其轉(zhuǎn)換為相應(yīng)數(shù)值類型后賦值 y256:xy,結(jié)果:x3 先求出表達(dá)式的值,再
30、將其轉(zhuǎn)換 x 100 : y 3.5 : st x 十 y , 結(jié)果:”103.5”為字符型后賦值x 100 : y 3 5 : st x y , 結(jié) 果:”1003.5”若為非 0 值,返回 true;若為 0x100:flagx,結(jié)果:true值,返回 false由數(shù)字構(gòu)成的字符串可以轉(zhuǎn)換 x”12”+34,結(jié)果:x1234 為數(shù)值,否則將出現(xiàn)“類型不匹 x12 十34,結(jié)果:x46配”錯(cuò)誤信息st”12+34”:xst,結(jié)果:出錯(cuò)信 息true”轉(zhuǎn)換為 true,”false”轉(zhuǎn)換為st”rdse”:flagst,結(jié)果:falsefalse,數(shù)字串轉(zhuǎn)換為數(shù)值型再轉(zhuǎn) 5t”1234”:fl
31、agst,結(jié)果:true邏輯型換為邏輯型,否則將出現(xiàn)“類型 st”12+ 34 ”:flagst,結(jié)果:出 不匹配”錯(cuò)誤信息 錯(cuò)信息其他類型 false 轉(zhuǎn)換為 0,true 轉(zhuǎn)換為-1 st”123”: f1agtruexflag 十 st,結(jié)果:x122第 4 章算法基礎(chǔ)及 visual basic 的基本語句知識(shí)點(diǎn)概括1。算法算法是解決某個(gè)問題或者處理某件事情的方法和步驟。在程序設(shè)計(jì)中,算法專指用計(jì) 算機(jī)解決某一個(gè)問題的方法和步驟。2算法分類算法分?jǐn)?shù)值計(jì)算算法和非數(shù)值計(jì)算算法。3評(píng)價(jià)算法的依據(jù)評(píng)價(jià)算法的優(yōu)劣主要是看算法的正確性、運(yùn)行的效率以及占用系統(tǒng)資源的多少。 4算法的特征算法具有確定
32、性、可行性、有窮性、輸入性以及輸出性特征。5算法設(shè)計(jì)可以采用“逐步求精”來進(jìn)行算法設(shè)計(jì)并逐步將程序編寫完善。所謂“逐步求精”,是 指對一個(gè)復(fù)雜問題,不是一步就編成一個(gè)可執(zhí)行的程序,而是分步進(jìn)行。所謂“抽象程序”,是指程序所描述的解決問題的處理規(guī)則,是由那些“做什么”操作 組成的,而不涉及這些操作“怎樣做”以及解決問題的對象具有什么結(jié)構(gòu),不涉及構(gòu)造的每 個(gè)局部細(xì)節(jié)。逐步求精方法有多種具體做法。例如,流程圖方法、基于過程或函數(shù)的方法。程序設(shè)計(jì)的最抽象的三大步驟為:(1) 數(shù)據(jù)輸入;(2) 數(shù)據(jù)處理;(3) 數(shù)據(jù)輸出。在針對具體問題的時(shí)候,對這幾步進(jìn)行細(xì)化,根據(jù)問題選擇使用什么樣的控制結(jié)構(gòu)。當(dāng) 然在
33、具體的問題中,有時(shí)候這三大步不能很清晰地區(qū)分清楚,可能會(huì)出現(xiàn)交叉處理的現(xiàn)象, 這時(shí)候就需要根據(jù)具體問題來作具體處理了。6基本算法結(jié)構(gòu)(1)順序結(jié)構(gòu)。系統(tǒng)在執(zhí)行程序時(shí),按順序處理每條語句。7、exit 語句程序執(zhí)行到 exit 語句時(shí),就會(huì)直接退出相關(guān)的結(jié)構(gòu),轉(zhuǎn)而去執(zhí)行該結(jié)構(gòu)后的下一條語句。 常見的形式是與 if 語句結(jié)合使用,格式如下:if e then exit 語句格式exit doexit for相關(guān)結(jié)構(gòu) do-loop 循環(huán)結(jié)構(gòu) for-next 循環(huán)結(jié)構(gòu)說明跳出循環(huán)結(jié)構(gòu),轉(zhuǎn)而去執(zhí)行循 環(huán)之后的下一行語句exit sub sub 過程 exit function function 過程
34、跳出過程,轉(zhuǎn)而去執(zhí)行調(diào)用語 句之后的下一行語句8、循環(huán)嵌套如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則成為多重循環(huán)或循環(huán)嵌套。嵌套的層數(shù)可 以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。對于循環(huán)的嵌套,要注 意以下事項(xiàng):(1) 內(nèi)循環(huán)控制變量與外循環(huán)控制變量不能同名;(2) 外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;(3) 不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),也不能從外循環(huán)轉(zhuǎn)向內(nèi)循環(huán),反之則可。9.for 循環(huán)與 do 循環(huán)的差別for 循環(huán)中循環(huán)控制變量的值的改變已經(jīng)包含在語句結(jié)構(gòu)中,使用簡單方便;do 循環(huán)本身并補(bǔ)包含循環(huán)控制變量的值的改變,所以必須另外添加語句(如 i=i+1)對循 環(huán)控
35、制變量進(jìn)行控制。練習(xí):1 執(zhí)行下面程序,當(dāng)單擊窗體時(shí),變量 sum 和 i 的值分別是多少?private sub form_click()dim i as integer, sum as integerx=8.5for i = 0.5 to x step 2.5sum = sum + i * 10next iprint sumprint iend subl 注意 step 為負(fù)值的情形l 若循環(huán)體內(nèi)有 i=i+1.5 的語句,則?l 若循環(huán)體內(nèi)有 x=x+1.5 的語句,則?key:200 10120 12200 102.素?cái)?shù)問題for i=2 to x-1if x mod i=0 then
36、 exit fornext iif i=x then print “是素?cái)?shù)”*for 循環(huán)的兩個(gè)結(jié)束條件是判斷素?cái)?shù)的依據(jù)第 5 章 數(shù)組一、命名1、 必須符合標(biāo)識(shí)符命名規(guī)則2、 在作用域內(nèi)不能與變量名、過程名、函數(shù)名相同 3、 數(shù)組名代表整個(gè)數(shù)組二、定義1、 數(shù)組是一組具有相同類型變量的有序集合。2、 數(shù)組中的變量使用一段連續(xù)的存儲(chǔ)單元。3、 數(shù)組分固定大小數(shù)組、動(dòng)態(tài)數(shù)組和控件數(shù)組。 4、 數(shù)組的定義形式見下表。數(shù) 組固格說明定大小數(shù)組動(dòng)態(tài)數(shù)組控件數(shù)組式注意事項(xiàng)格式注意事項(xiàng)方法注意事項(xiàng)public|private|static|dim 數(shù)組名(維界定義)as數(shù)據(jù)類型1、 public 只能在標(biāo)
37、準(zhǔn)模塊中定義公用(全局)數(shù)組private 用于模塊中,定義模塊級(jí)數(shù)組dim 用于模塊中,定義模塊級(jí)數(shù)組用于過程中,定義過程級(jí)數(shù)組static 用于過程中,定義靜態(tài)數(shù)組2、 數(shù)組的默認(rèn)下界是 03、 維的上、下界說明必須是常數(shù)表達(dá)式,不可以是變量名或含變量的表達(dá)式,即使變量的 值已給出也不可以4、 上、下界必須是整數(shù),若不是整數(shù),vb 自動(dòng)四舍五入取整5、 數(shù)組必須先定義后使用(1)定義時(shí)不指明大小的數(shù)組,語法格式如下:publicprivate | static|dim 數(shù)組名()as數(shù)據(jù)類型(2)在確定了數(shù)組所需的大小后,使用 redim 語句來動(dòng)態(tài)地定義數(shù)組的大小,分配存儲(chǔ)空間,語法格式
38、如下:redimpreserve數(shù)組名(維界定義)1、 redim 語句是一個(gè)可執(zhí)行語句,只能出現(xiàn)在過程中。2、 重新定義動(dòng)態(tài)數(shù)組時(shí),不能改變數(shù)組的數(shù)據(jù)類型。3、 可以使用變量說明動(dòng)態(tài)數(shù)組新的大小4、 如果用 redim 定義的數(shù)組不存在,則系統(tǒng)會(huì)先創(chuàng)建一個(gè)動(dòng)態(tài)數(shù)組,再給定大小。5、 若原數(shù)組有值,用 redim 后,全部丟失;若要保留,用 preserve。用了 preserve 后,只能改變最后一維的維上界(1) 創(chuàng)建同名控件(1) 復(fù)制現(xiàn)存控件1、 同一控件數(shù)組內(nèi)的控件類型是相同的2、 控件數(shù)組中所有的控件名稱相同;3、 控件數(shù)組中所有的控件所對應(yīng)的事件過程是相同的;4、 控件數(shù)組中每個(gè)
39、控件的 index 屬性用于區(qū)別數(shù)組的其他控件三、數(shù)組結(jié)構(gòu)2 維數(shù)組:按列存放3 維數(shù)組:按頁、列、行存放四、基本操作1、 賦值與輸出2、 數(shù)組元素的引用五、 數(shù)組函數(shù)及數(shù)組語句表 52 給出了與數(shù)組相關(guān)的函數(shù)和語句的說明第 6 章程序調(diào)試知識(shí)點(diǎn)概括1vb 的工作狀態(tài)vb 有三種工作狀態(tài),如表 61 所示,在窗口的標(biāo)題欄上將顯示當(dāng)前的工作狀態(tài)表 6-1 vb 的工作狀態(tài)工作狀態(tài)說明切換狀態(tài)的方法設(shè)計(jì)態(tài)運(yùn)行態(tài)中斷態(tài)在設(shè)計(jì)態(tài)時(shí),可以設(shè)計(jì)程序的交互界面 單擊“運(yùn)行”菜單中的“啟動(dòng)”菜單項(xiàng) 和編寫相關(guān)的代碼單擊標(biāo)渡工具欄中的,按鈕程序正在運(yùn)行的時(shí)期,此狀態(tài)下可查看 單擊“運(yùn)行”菜單中的“結(jié)束”菜單項(xiàng)
40、代碼但不能改動(dòng)程序代碼單擊標(biāo)準(zhǔn)工具欄中的按鈕運(yùn)行時(shí)因發(fā)生運(yùn)行錯(cuò)誤而暫停程序的執(zhí)行 運(yùn)行態(tài)下按ctrl+break組合鍵或單擊“運(yùn)程序在運(yùn)行的中途被暫停執(zhí)行的狀態(tài)。 行”菜單中的“中斷”菜單項(xiàng)在中斷模式下,可以修改程序代碼,檢程序執(zhí)行到斷點(diǎn)所在的代碼行查、調(diào)試、重置、單步執(zhí)行或繼續(xù)執(zhí)行按逐語句或逐過程執(zhí)行時(shí),每執(zhí)行完一個(gè)語程序2錯(cuò)誤類型句或一個(gè)過程后切換到設(shè)計(jì)態(tài):單擊標(biāo)準(zhǔn)工具欄中的按鈕 切換到運(yùn)行態(tài):單擊標(biāo)準(zhǔn)工具欄中的,按鈕在 vb 程序設(shè)計(jì)中所產(chǎn)生的錯(cuò)誤類型有三種,如表 62 所示。表 62 錯(cuò)誤類型錯(cuò)誤類型說明常見的錯(cuò)誤違反 vb 語言有關(guān)語句使用形式或使用規(guī) 關(guān)鍵字拼寫錯(cuò)誤語法錯(cuò)誤則而產(chǎn)生
41、的錯(cuò)誤 標(biāo)點(diǎn)符號(hào)錯(cuò)誤3 語句不完整4 對象名稱或?qū)傩悦⒎椒?、系統(tǒng)函數(shù)試圖執(zhí)行一個(gè)不可執(zhí)行的操作而引起的名拼寫錯(cuò)誤運(yùn)行錯(cuò)誤錯(cuò)誤 在通用聲明處使用了 0ption explicit 語句,相關(guān)變量未定義或變量名拼寫錯(cuò)誤 if 沒有對應(yīng)的 end if 語句編寫的程序代碼不能實(shí)現(xiàn)預(yù)定的處理功能 for 循環(huán)沒有對應(yīng)的 next 語句邏輯錯(cuò)誤要求而產(chǎn)生的錯(cuò)誤 do 循環(huán)沒有對應(yīng)的 loop 語句3程序調(diào)試程序調(diào)試的目的就是找出發(fā)生錯(cuò)誤的地方,確定導(dǎo)致錯(cuò)誤結(jié)果的原因,并修改程序直到 正確為止。調(diào)試的技巧并不神秘,每次的調(diào)試工作也無章可循。程序調(diào)試常用的手段就是在程序運(yùn)行中對各段代碼運(yùn)行后的結(jié)果進(jìn)行檢
42、查,以確認(rèn)錯(cuò) 誤發(fā)生的位置,因此,我們可以通過控制程序的運(yùn)行來逐步進(jìn)行觀察。vb 提供的程序調(diào)試工具及其相關(guān)說明如表 63 所示。表 63 程序調(diào)試工具調(diào)試工具說明操 作 方 式逐語句逐過程一次執(zhí)行一個(gè)語句,每執(zhí)行一個(gè)語句就進(jìn)入 按f8鍵中斷模式單擊調(diào)試工具欄中的按鈕一次執(zhí)行一個(gè)語句 c 當(dāng)遇到過程調(diào)用語句 按shift+f8鍵時(shí),不對過程中的語句逐句執(zhí)行,而是一次性格過程執(zhí)行完畢 單擊調(diào)試工具欄中的按鈕 當(dāng)前執(zhí)行點(diǎn)在過程中,若要跳出過程,則一 按ctrl+shift+f8組合鍵從過程中跳出 次性執(zhí)行完過程中未執(zhí)行的代碼段后,使程序的執(zhí)行點(diǎn)轉(zhuǎn)到調(diào)用過程語句的下一句 單擊調(diào)試工具欄中的按鈕在代碼
43、行左端豎欄中單擊鼠標(biāo)程序代碼中做了標(biāo)記的位置,程序在執(zhí)行設(shè)置斷點(diǎn)按f8鍵單擊“調(diào)試”菜單中的“切換斷點(diǎn)” 菜單項(xiàng)斷點(diǎn)單擊調(diào)試工具欄中的按鈕到斷點(diǎn)所在處將由運(yùn)行態(tài)轉(zhuǎn)換到中斷態(tài)清除斷點(diǎn)1 按ctrl+shift+f9組合鍵2 單擊“調(diào)試”菜單中的“清除所有 斷點(diǎn)”菜單項(xiàng)4程序調(diào)試窗口(1)本地窗口。用于自動(dòng)顯示出所有當(dāng)前過程中聲明的變量及其值。(2)監(jiān)視窗口。用于查看指定表達(dá)式的值。(3)立即窗口。當(dāng)調(diào)試一個(gè)應(yīng)用程序時(shí),可以用“立即”窗口執(zhí)行單個(gè)的過程、對表達(dá)式求值、為變量 或?qū)傩再x予新的值,并可以通過在“立即”窗口中顯示表達(dá)式的值來計(jì)算表達(dá)式。使用 print 語句,可在“立即”窗口中顯示表達(dá)式
44、的值。如果在程序執(zhí)行時(shí)希望把值顯 示到“立即”窗口中,可以使用如下格式的 print 語句:debug.print p1sp2s或?p1sp2s第 7 章 過程知識(shí)點(diǎn)概括1過程的定義程序的基本單位是過程,vb 中常用的過程分為子程序 (sub)過程和函數(shù)(function)過程, sub 過程沒有返回值,而 function 過程有返回值,定義過程的語法規(guī)則如表 71 所示。表 7-1 過程的定義(a)sub 過程的定義事件過程窗體事件過程private sub form_事件名(參數(shù)列表) 局部變量和常量聲明語句塊控件事件過程private sub 控件名_事件名(參數(shù)列表) 局部變量和常量
45、聲明語句塊通用過程end sub end sub pivate|publicstaticsub 過程名(參數(shù)列表)局部變量和常量聲明語句塊exit subend subb)function 過程的定義private |publicstaticfunction 函數(shù)名(參數(shù)列表)as 數(shù)據(jù)類型 局部變量和常量聲明定義形式語句塊函數(shù)名表達(dá)式 exit function語句塊函數(shù)名表達(dá)式 end function2過程的調(diào)用調(diào)用過程可以通過以下兩種方式進(jìn)行,如表 72表 72 過程的調(diào)用sub 過程function 過程方法一方法二call(實(shí)參表)實(shí)參 1,實(shí)參 2,(實(shí)參表) (實(shí)參表)3形參和
46、實(shí)參形參給出傳遞到過程(函數(shù))中的值在過程(函數(shù))中的表現(xiàn)形式,實(shí)參是在調(diào)用 sub 或function 過程時(shí),傳送給相應(yīng)過程的形參的形式,具體區(qū)別如表 73 所示。 表 73 形參與實(shí)參形參實(shí)參定義 sub 或 function 時(shí),出現(xiàn)在形參表中的變量 在調(diào)用 sub 或 function 過程時(shí),傳送給相概念格式名、數(shù)組名byval|byref變量名( )as 數(shù)據(jù)類型:應(yīng)過程的變量名、數(shù)組名、常數(shù)或表達(dá)式4參數(shù)的傳遞調(diào)用過程時(shí),采用“形實(shí)結(jié)合”的方式傳遞參數(shù),參數(shù)的傳遞有兩種方式:按值傳遞和按 地址傳遞。在傳遞參數(shù)時(shí)要求“形實(shí)對應(yīng)”,即要求形參和實(shí)參數(shù)據(jù)類型相互兼容,其特點(diǎn) 如表 7
47、4 所示。表 74 參數(shù)傳遞的特點(diǎn)按值傳遞形參前加關(guān)鍵字“byval”按地址傳遞形參前加關(guān)鍵字“byref,或省略關(guān)鍵字特點(diǎn)數(shù)組參過程調(diào)用時(shí),vb 給按值傳遞的形參分配一 形參和實(shí)參共用內(nèi)存的同一“地址” 個(gè)臨時(shí)存儲(chǔ)單元按值傳遞參數(shù),傳遞的只是實(shí)參變量的副本 若實(shí)參是變量、數(shù)組元素或數(shù)組,則形參和實(shí)參類型必須一致,否則會(huì)出錯(cuò)過程中改變形參值,將同時(shí)改變形參和實(shí)參過程中改變形參值,只影響副本中的值若實(shí)參為一個(gè)常量或者表達(dá)式,vb 將按傳 值方式處理若實(shí)參是與形參類型不一致的常數(shù)或表達(dá) 式,vb 會(huì)按要求進(jìn)行數(shù)據(jù)轉(zhuǎn)換,再將轉(zhuǎn)換后 的值傳遞給形參對于簡單變量 m,加括號(hào)即(m)則變?yōu)楸磉_(dá) 式,vb 將按傳值方式處理形參數(shù)組只能是按地址傳遞的參數(shù)(即數(shù)組前不能用“byval”,且數(shù)組名后只能是一對空 括號(hào)),對應(yīng)實(shí)參也必須是數(shù)組,且數(shù)據(jù)類型必須一致調(diào)用過程時(shí)把要傳遞的數(shù)組名放在實(shí)參列表中即可,數(shù)組名后可不跟括號(hào)數(shù)過程中不可以對形參數(shù)組再進(jìn)行聲明,但在使用動(dòng)態(tài)數(shù)組時(shí),可以用 redim 語句改變形參 數(shù)組的維界,重新定義數(shù)組的大小5遞歸過程遞歸過程是在過程定義中直接或間接調(diào)用自身來完成某一特
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)合同范例 兼職
- 勞務(wù)局咨詢合同范例
- 人借款合同范例
- 與裝修公司合同范本
- 保理人合同范例
- 上海融資合同范例
- 分布式光伏合同范例
- 上海勞動(dòng)合同范例
- 出售轉(zhuǎn)讓磨床合同范本
- 分離店鋪合同范例
- 2024化工園區(qū)危險(xiǎn)品運(yùn)輸車輛停車場建設(shè)規(guī)范
- 工地試驗(yàn)室質(zhì)量手冊
- 信息資源管理(馬費(fèi)成-第三版)復(fù)習(xí)重點(diǎn)
- 郵輪外部市場營銷類型
- GB/T 42460-2023信息安全技術(shù)個(gè)人信息去標(biāo)識(shí)化效果評(píng)估指南
- 05G359-3 懸掛運(yùn)輸設(shè)備軌道(適用于一般混凝土梁)
- 工程與倫理課程
- CKDMBD慢性腎臟病礦物質(zhì)及骨代謝異常
- 潮汕英歌舞課件
- 田字格模版內(nèi)容
- 第一章 公共政策分析的基本理論與框架
評(píng)論
0/150
提交評(píng)論