免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
第二篇 應(yīng)用環(huán)境
第二章VB環(huán)境應(yīng)用... 1
實(shí)驗(yàn)一 VB集成環(huán)境及簡(jiǎn)單應(yīng)用程序的建立... 1
實(shí)驗(yàn)二 Visual Basic語言基礎(chǔ)... 3
實(shí)驗(yàn)三 VB的三種控制結(jié)構(gòu)程序設(shè)計(jì)... 4
實(shí)驗(yàn)四 數(shù)組和字符串的使用... 6
實(shí)驗(yàn)五 過程和函數(shù)... 8
實(shí)驗(yàn)六 VB的窗體... 10
實(shí)驗(yàn)七 VB的常用控件... 12
實(shí)驗(yàn)八 VB的ActiveX控件... 17
實(shí)驗(yàn)九 VB對(duì)話框設(shè)計(jì)... 19
實(shí)驗(yàn)十 VB菜單設(shè)計(jì)... 21
實(shí)驗(yàn)十一 數(shù)據(jù)庫操作... 22
實(shí)驗(yàn)十二 多文檔界面設(shè)計(jì)... 26
實(shí)驗(yàn)十三 文件的基本操作和文件的讀寫... 27
VB環(huán)境應(yīng)用
實(shí)驗(yàn)題目:
熟悉VB環(huán)境
實(shí)驗(yàn)?zāi)康?
1.掌握VB6.0的啟動(dòng)與退出。
2.了解VB6.0的集成開發(fā)環(huán)境,熟悉各主要窗口的作用。
3.了解VB6.0應(yīng)用程序的開發(fā)過程。
4.理解VB中對(duì)象的概念。
5.掌握在VB6.0中使用幫助的方法。
實(shí)驗(yàn)指導(dǎo):
進(jìn)入VB可視化集成開發(fā)環(huán)境后,將出現(xiàn)一個(gè)新建工程窗口,如果選取【標(biāo)準(zhǔn)EXE】,則會(huì)出現(xiàn)如圖2.1所示界面,這就是編程環(huán)境。
在屏幕上邊橫欄為菜單欄包括程序開發(fā)過程中需要的命令。在屏幕左邊為工具箱窗口,它提供用于開發(fā)VB應(yīng)用程序的各種控件。屏幕中間位置為窗體,它是用戶的工作區(qū),是生成應(yīng)用程序的編輯窗口,是放置其他控件的一個(gè)容器。一個(gè)程序可以有多個(gè)窗體,但它們必須有不同的名字,以免運(yùn)行時(shí)發(fā)生錯(cuò)誤。默認(rèn)狀態(tài)下窗體分別以Form1 ,F(xiàn)orm2, Form3,……命名,程序員也可以創(chuàng)建新名字。屏幕右下邊為屬性窗口,所有窗體或控件的屬性都可以通過屬性窗口來修改。
圖2.1  VB 6.0集成開發(fā)環(huán)境
屏幕右邊中上位置為工程資源管理器窗口,采用層次結(jié)構(gòu)列出組成這個(gè)工程的所有文件。另外還有幾個(gè)隱藏的窗口,分別是調(diào)色板窗口、代碼窗口、調(diào)試窗口、對(duì)象瀏覽器窗口和菜單編輯窗口。可以進(jìn)行程序設(shè)計(jì)、編輯、編譯和調(diào)試等。
利用VB的開發(fā)環(huán)境和開發(fā)工具,用戶可以輕松地開發(fā)出具有一定功能的Windows應(yīng)用程序。應(yīng)用程序設(shè)計(jì)設(shè)計(jì)階段4個(gè)步驟:(1)建立應(yīng)用程序界面(2)設(shè)置界面對(duì)象屬性(3)編寫代碼(4)保存文件,注意在保存文件時(shí)與當(dāng)前工程相關(guān)的所有的窗體文件、模塊文件等都要保存,否則工程遷移的時(shí)候就會(huì)運(yùn)行不正常。當(dāng)設(shè)計(jì)工作完成后,運(yùn)行程序看程序設(shè)計(jì)是否實(shí)現(xiàn)了預(yù)期的目標(biāo)。當(dāng)程序運(yùn)行正常后,應(yīng)該再一次存盤,保存該工程文件。最后我們可以根據(jù)需要把程序制作成可以獨(dú)立運(yùn)行的.EXE文件。這個(gè)應(yīng)用程序可脫離VB 6.0中文版環(huán)境單獨(dú)運(yùn)行。
實(shí)驗(yàn)內(nèi)容
1.練習(xí)Visual Basic 6.0的啟動(dòng)與退出。
2.熟悉Visual Basic 6.0的集成開發(fā)環(huán)境,了解各主要窗口的作用。
3.創(chuàng)建一個(gè)簡(jiǎn)單的VB應(yīng)用程序,要求在窗體上顯示“歡迎進(jìn)入Visual Basic 6.0”。
4.練習(xí)在Visual Basic 6.0中使用幫助的各種方法。
語言基礎(chǔ)
實(shí)驗(yàn)題目:
熟悉VB繼承環(huán)境
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">
⒈ 掌握Visual Basic的數(shù)據(jù)類型和變量定義方法;
⒉ 正確使用Visual Basic的運(yùn)算符和表達(dá)式;
⒊ 掌握Visual Basic中數(shù)據(jù)輸入、輸出的方法;
⒋ 掌握Visual Basic 常用函數(shù)的使用方法;
⒌ 學(xué)會(huì)用賦值語句構(gòu)造簡(jiǎn)單的順序結(jié)構(gòu)程序。
實(shí)驗(yàn)指導(dǎo):
查看教材上標(biāo)識(shí)符命名規(guī)則、運(yùn)算符、變量、常量等相關(guān)內(nèi)容,正確使用運(yùn)算符、常量和變量。
實(shí)驗(yàn)內(nèi)容:
1.在窗體上顯示下列表達(dá)式的值(設(shè)Amt變量為字符型,值為"a";Bmt變量為整型,其值為3)。
① Bmt3         ② Bmt+23       ③ - Bmt      ④Bmt-12
⑤ Bmt*Bmt      ⑥10/Bmt       ⑦ 10\Bmt     ⑧ 9 Mod Bmt
⑨ Amt & Bmt        ⑩Amt > Bmt
2.在窗體上顯示下列函數(shù)的運(yùn)行結(jié)果。
① cos45°                     ② e3                  ③ |-5|
④ 字符"b"對(duì)應(yīng)的ASCII碼值      ⑤系統(tǒng)日期和系統(tǒng)時(shí)間
的三種控制結(jié)構(gòu)程序設(shè)計(jì)
實(shí)驗(yàn)題目:
實(shí)踐VB的三種控制結(jié)構(gòu)
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">
1. 掌握VB中三種控制結(jié)構(gòu)語句的使用
實(shí)驗(yàn)指導(dǎo):
VB中基本語句:
1.  賦值語句
在VB中賦值語句有兩種:
(1)   對(duì)普通變量的賦值:變量=表達(dá)式
如:Dim a As Integer
a=100*20
(2) 對(duì)對(duì)象變量的賦值:Set 變量=表達(dá)式
如:Dim ex AsDataBase
Set  ex=OpenDataBase("File.mdb")
2.  If語句
If語句用于測(cè)試條件,根據(jù)測(cè)試結(jié)果執(zhí)行不同的操作。格式如下:
If 表達(dá)式Then
語句
Else
語句
End If
或:
If 表達(dá)式Then 語句1:語句2: ..
3.  Select Case語句
Select Case 語句用于對(duì)某一表達(dá)式的值進(jìn)行多種處理。格式如下:
Select Case 表達(dá)式
Case 值1:
語句
Case 值2:
語句
Case Else
語句
End Select
4.  For循環(huán)語句
For...Next用于指定次數(shù)的循環(huán)。格式有兩種:
(1)普通的數(shù)字變量:
For var=start To end[Stepstep]
語句
Next var
(2)集合中的對(duì)象:
For Each obj In objs
語句
Next obj
其中:obj 是對(duì)象變量。 Objs 是集合變量。
5.  Do 循環(huán)語句
根據(jù)某一條件來決定是否循環(huán)時(shí)我們使用Do循環(huán)。Do 循環(huán)有兩種:
(1)當(dāng)型循環(huán)(先判斷后執(zhí)行)
Do While|Until 條件
語句
Loop
(2)直按型循環(huán)(先執(zhí)行后判斷)
Do
語句
Loop While|Until 條件
[注]:While 當(dāng)條件為 True 時(shí)循環(huán)。 Until 當(dāng)條件為True 時(shí)退出。
6.  With語句
當(dāng)我們經(jīng)常使用某一對(duì)象的屬性、方法時(shí),就可以使用With語句。With語句可以使代碼更簡(jiǎn)捷,
并能提高運(yùn)行速度。格式如下:
With 對(duì)象變量
語句
End With
例如:With Text1
.SelStart=0
.SeiLength=Len(.Text)
.SetFocus
End With
實(shí)驗(yàn)內(nèi)容
1.設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長(zhǎng)、圓面積、圓球表面積、圓球體積及圓柱體積。用InputBox函數(shù)輸入數(shù)據(jù),結(jié)果在文本框中輸出。請(qǐng)編寫程序。
2.公用電話收費(fèi)標(biāo)準(zhǔn)如下:通話時(shí)間在3分鐘以內(nèi),收費(fèi)0.5元;3分鐘以上,則每超過1分鐘加收0.15元。編寫一段程序,計(jì)算某人通話S分鐘,應(yīng)繳多少電話費(fèi)。
3.求
(即1!+2!+3!+...+10!)
數(shù)組和字符串的使用
實(shí)驗(yàn)題目:
在VB環(huán)境中操作數(shù)組和字符串
實(shí)驗(yàn)?zāi)康?div style="height:15px;">
1.掌握數(shù)組的聲明和數(shù)組元素的引用;
2. 掌握固定數(shù)組和動(dòng)態(tài)數(shù)組的使用方法;
3. 學(xué)會(huì)利用數(shù)組解決一些較為復(fù)雜的問題。
4. 熟悉字符串變量和字符串?dāng)?shù)組的定義和引用;
5.學(xué)會(huì)常用字符串函數(shù)的使用方法;
6. 學(xué)會(huì)字符串的基本操作。
實(shí)驗(yàn)指導(dǎo):
1、數(shù)組
靜態(tài)數(shù)組的定義的定義格式如下:
Dim  數(shù)組名([lower To ] upper,[[lower To ] upper])[As type]
帶有空括號(hào)的Dim可以聲明一個(gè)動(dòng)態(tài)數(shù)組,例如:
Dim dynArray()
在需要指定數(shù)組大小時(shí),再用ReDim語句定義動(dòng)態(tài)數(shù)組的維數(shù)和元素個(gè)數(shù)。申請(qǐng)或重申請(qǐng)存儲(chǔ)空間的一般格式為:
ReDim [Preserve]數(shù)組名([lowerTo]upper [,[lowerTo]upper])[As Type]
其中,Preserve為可選項(xiàng),表示是否保護(hù)己有數(shù)據(jù)。缺省時(shí)為不保護(hù)。數(shù)組名后括號(hào)中的數(shù)字是為數(shù)組分配的實(shí)際元素個(gè)數(shù)(數(shù)組長(zhǎng)度)-1。
2、字符串操作常用函數(shù)
·Left$(字符串,個(gè)數(shù)):取出字符串左邊指定個(gè)數(shù)的字符,若個(gè)數(shù)大于或等于字符串長(zhǎng)度,則全取。
·Right$(字符串,個(gè)數(shù)):取出字符串右邊指定個(gè)數(shù)的字符,若個(gè)數(shù)大于或等于字符串長(zhǎng)度,則全取。
·Mid$(字符串,起始位置[,個(gè)數(shù)]):取出字符串由起始位置開始的指定個(gè)數(shù)的字符。若起始位置大于字符串長(zhǎng)度,返回0長(zhǎng)度串"",若個(gè)數(shù)為默認(rèn)值時(shí),則取出從起始位置開始的所有字符。
·Len(字符串或字符串變量):計(jì)算字符串長(zhǎng)度,若字符串為空時(shí),返回Null。該函數(shù)不能確定用自定義類型聲明的變長(zhǎng)字符串的實(shí)際存儲(chǔ)字節(jié)長(zhǎng)度。
·UCase$(字符串):將字符串的小寫字母轉(zhuǎn)換為大寫字母,其他字符不變。若字符串為Null時(shí),返回Null。
·LCase$(字符串):將字符串的大寫字母轉(zhuǎn)換為小寫字母,其他字符不變。若字符串為Null時(shí),返回Null。
·Space$(個(gè)數(shù)):返回指定個(gè)數(shù)的空字符串。
·String(個(gè)數(shù),字符) 返回包含重復(fù)字符的字符串,長(zhǎng)度由"個(gè)數(shù)"指定,重復(fù)字符由"字符"指定,當(dāng)"字符"為串時(shí),用串的第一個(gè)字符。
·StrComp(字符串1,字符串2[,比較類型]):按比較類型比較兩個(gè)字符串,返回值為:相等時(shí)為0;小于時(shí)為 –1;大于時(shí)為 1。
·StrReverse(字符串):將給定字符串逆序輸出。若為空串,返回空串,若為Null,則會(huì)出錯(cuò)。
實(shí)驗(yàn)內(nèi)容
1.輸入整數(shù)n,顯示出具有n行的楊輝三角形。一個(gè)具有10行的楊輝三角形運(yùn)行結(jié)果如圖所示。
提示:利用TAB函數(shù)定位每行顯示的起始位置。為了便于顯示,可將顯示內(nèi)容放在圖形框中(PictureBox)。
2.編寫一段程序,對(duì)輸入的字符串進(jìn)行識(shí)別,找出其中大寫字母、小寫字母、空格、數(shù)字及其它字符的個(gè)數(shù),并按圖示的樣式輸出。
過程和函數(shù)
實(shí)驗(yàn)題目:
在VB中操作過程和函數(shù)
實(shí)驗(yàn)?zāi)康?div style="height:15px;">
1.  掌握子過程和函數(shù)的定義和調(diào)用方法。
2. 分清子過程和函數(shù)過程的異同。
3. 掌握遞歸概念和使用方法。
4. 掌握變量、函數(shù)和過程的作用域。
5.  掌握形參和實(shí)參的對(duì)應(yīng)關(guān)系,分清值傳遞和地址傳遞的區(qū)別。
實(shí)驗(yàn)指導(dǎo):
過程過程(Procedure)是構(gòu)成程序的一個(gè)模塊,往往用來完成一個(gè)相對(duì)獨(dú)立的功能。過程可以使程序更清晰、更具結(jié)構(gòu)性。VB提供了四種過程:Sub 過程、Function函數(shù)、Property 屬性過程和 Event 事件過程。
1.Sub過程
(1)定義Sub過程
可以在窗體或模塊的代碼窗口輸入Sub過程名,VB會(huì)自動(dòng)產(chǎn)生一個(gè)過程體,然后只需要添入相應(yīng)代碼即可。
(2)對(duì)于過程的調(diào)用有兩種方式
一種調(diào)用方式是: 過程名 參數(shù)1 ,參數(shù)2,…
另一種方式用Call調(diào)用: Call 過程名(參數(shù)1,參數(shù)2,…)
2.Function 函數(shù)
函數(shù)過程的定義語法是:
[Private |Public][Static]Function 函數(shù)過程名(參數(shù)表)[As類型]
[語句]
End Function
與子過程不同的是,F(xiàn)unction過程可向調(diào)用過程返回一個(gè)值。
在調(diào)用函數(shù)時(shí)可以有兩種方式:
· 把它看成一個(gè)數(shù),即可以放在賦值號(hào)右端。
· 可直接作為參數(shù)出現(xiàn)在調(diào)用過程或函數(shù)中。
3.向過程傳遞參數(shù)
(1) 按值傳遞參數(shù)
按值傳遞參數(shù)時(shí),傳遞的只是變量的副本。如果過程改變了這個(gè)值,則所作變動(dòng)只影響副本而不會(huì)影響變量本身。用 ByVal 關(guān)鍵字指出參數(shù)是按值來傳遞的。
(2) 按地址傳遞參數(shù)
按地址傳遞參數(shù)使過程用變量的內(nèi)存地址去訪問實(shí)際變量的內(nèi)容。結(jié)果,將變量傳遞給過程時(shí),通過過程可永遠(yuǎn)改變變量值。按地址傳遞參數(shù)在 VBasic 中是缺省的。
(3)使用可選的參數(shù)
在過程的參數(shù)列表中列入 Optional 關(guān)鍵字,就可以指定過程的參數(shù)為可選的。如果指定了可選參數(shù),則參數(shù)表中此參數(shù)后面的其它參數(shù)也必是可選的,并且要用 Optional 關(guān)鍵字來聲明。
Property 屬性過程和 Event 事件過程請(qǐng)查詢相關(guān)資料。
實(shí)驗(yàn)內(nèi)容
1.編寫子過程,對(duì)于已知正整數(shù),判斷該數(shù)是否時(shí)回文數(shù)。所謂回文數(shù)是指順讀與倒讀數(shù)字相同,即最高位與最低位相同,此高位與次低位相同,依次類推。當(dāng)只有一個(gè)數(shù)時(shí),也認(rèn)為是回文。程序要求輸入一系列,每輸入一個(gè),就判斷一個(gè),并輸出所輸入的回文數(shù)。
2.編寫一個(gè)函數(shù)過程DeleSte(S1,S2),將字符串s1中出現(xiàn)的s2字符串刪除,結(jié)果還存放在s1中。例如:字符串s1="12345678AAABBDFG12345",字符串S2="234",結(jié)果為s1="15678AAABBDFG15"。
提示:
⑴ 在s1字符串中s2字符串,可利用InStr()函數(shù),考慮到s1中可能存在多個(gè)或不存在s2字符串,用DoWhile Instr(s1,s2)>0循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。
⑵ 如果在s1中找不到s2字符串,首先要確定s1字符串的長(zhǎng)度,因s1字符串在進(jìn)行多次刪除時(shí),長(zhǎng)度在變換;然后通過Left()、Right()函數(shù)的調(diào)用刪除s1中存在的s2字符串。
的窗體
實(shí)驗(yàn)題目:
創(chuàng)建和操作窗體
實(shí)驗(yàn)?zāi)康?div style="height:15px;">1.掌握VB6.0窗體的常用屬性、常用事件和重要方法。
2.掌握在Visual Basic 6.0窗體上生成控件的方法。
3.掌握設(shè)置啟動(dòng)窗體的方法。
4.了解窗體的生命周期。
實(shí)驗(yàn)指導(dǎo):
窗體的常用屬性
屬性名稱
含義
Name
用于在屬性窗口定義對(duì)象的名稱,以便在程序中引用。它只能在設(shè)計(jì)時(shí)賦值。
對(duì)于任何一個(gè)可以在屬性窗口設(shè)置其屬性的對(duì)象必須設(shè)置該屬性的值,VB自動(dòng)為每一個(gè)對(duì)象給定一個(gè)缺省值。
Captiion
屬性用于獲取、設(shè)置窗體的標(biāo)題
BorderStyle
用于設(shè)置窗體的邊框。
它常用的有兩個(gè)值:
普通窗體:可修改窗體的尺寸。
2-Sizable
對(duì)話框:不能修改窗體的尺寸。
3-FixedDialog
Top,Left,Width,Height
它們分別表示該窗體在父窗體或屏幕的位置(Top,Left)和大?。╓idth,Height)。
ScaleTop,ScaleLeft,
ScaleWidth,ScaleHeight
它們分別表示該窗體工作區(qū)的位置和大小
窗體的常用方法
FormX.Show[vbModal]
顯示一個(gè)窗體。
沒有vbModal表示以非模式方式顯示一個(gè)窗體。
帶有vbModal表示以模式方式顯示一個(gè)窗體。
FormX.Hide
隱藏一個(gè)窗體。隱藏窗體并不把窗體從內(nèi)存中卸載,要卸載窗體需要使用語句。
Unload FormX或:UnLoad Me (Me 表示當(dāng)前窗體)
窗體的常用事件
Load 事件
當(dāng)窗體加載到內(nèi)存時(shí)發(fā)生
Private Sub Form_Load()
... '常把初始化代碼放在此處
End Sub
Resize 事件
當(dāng)窗體改變其尺寸時(shí)發(fā)生
Private Sub Form_Resize()
... '常在此處修改其它控件的尺寸
End Sub
Unload 事件
當(dāng)窗體從內(nèi)存卸載時(shí)發(fā)生
Private Sub Form_Unload(Cancel As Integer)
... '在窗體卸載前做一些掃尾工作。
'如關(guān)閉文件、提示存盤等
End Sub
[參數(shù)]:Cancel 表示:是否放棄卸載。帶進(jìn)來時(shí)=0,表示可以卸載。在代碼中將其0,表示放棄卸載。
實(shí)驗(yàn)內(nèi)容
1.新建一個(gè)工程,然后分別對(duì)窗體的Caption、MaxButton和MinButton、ControlBox、Moveable、Borderstyle、Icon、ShowInTaskbar的屬性進(jìn)行設(shè)置,記錄設(shè)置后窗體的狀態(tài)和效果。
2.利用窗體的Show方法和Hide方法,顯示或隱藏窗體。
3.在一個(gè)工程中建立多個(gè)窗體,然后設(shè)置其中一個(gè)為啟動(dòng)窗體。
的常用控件
實(shí)驗(yàn)題目:
使用VB的常用控件
實(shí)驗(yàn)?zāi)康?div style="height:15px;">1.掌握標(biāo)簽、命令按鈕、文本框、單選鈕、檢查框列表框、組合框、框架、時(shí)鐘、滾動(dòng)條等控件常用屬性、重要事件和基本方法。
2.熟練掌握在窗體上創(chuàng)建上述控件的操作方法。
3.掌握事件過程的代碼編寫。
4.了解VB中的鍵盤事件、鼠標(biāo)事件和拖曳事件等過程的編寫。
實(shí)驗(yàn)指導(dǎo):
Label控件
Label 控件主要用于在窗體中顯示提示信息,常與Text控件一起使用。
屬性:
Caption 表示標(biāo)簽的內(nèi)容。
例:Label1.Caption="N&ame:"
控件在窗體中顯示Name:,&號(hào)跟的字母是快捷鍵字母,即當(dāng)我們按下Alt+A時(shí),Label1的Click事件將會(huì)發(fā)生。
這種快捷鍵定義方法對(duì)于菜單和許多其它控件同樣適用。
Font 表示控件的字體。
ForeColor 表示控件的當(dāng)前顏色。
Enabled 表示控件是否使能。
=True 使能。
=False 禁止(控件顯示為灰色)。
Visible 表示控件是否可見
=True 可見。
=False 不可見。
Top,Left,Width,Height 表示控件在窗體中的位置和尺寸。
事件:
Click 當(dāng)點(diǎn)擊或按下快捷鍵時(shí)發(fā)生,常用于使和它一起使用的Text控件獲得輸入交點(diǎn)。
例:
Private Sub Label1_Click()
Text1.SetFocus
End Sub
Text控件
Text控件接受用戶的輸入的字符串?dāng)?shù)據(jù)。
屬性:
Text 表示用戶輸入的內(nèi)容。
例:Label1.Caption=Text1.Text
將Text1控件接收用戶輸入的數(shù)據(jù)通過Label1控件顯示出來。
SelStart 表示用戶選中一段文字的起始位置。第一個(gè)字符位置為0。
SelLength 表示用戶選中文字的長(zhǎng)度。
SelText 表示用戶選中文字的內(nèi)容。
例:0123456789
這時(shí):SelStart=5,SelLength=4,SelText="5678"
MultiLine 表示是否是多行輸入。
=True 是多行輸入。
=False 不是多行輸入(缺省) 。
ScrollBars 多行情況下是否需要滾動(dòng)條。
=0 沒有。
=1 有水平。
=2 有垂直。
=3 水平、垂直都有。
Password 表示口令字符。Text屬性返回用戶輸入數(shù)據(jù),屏幕上顯示該字符。
方法:
SetFocus 使當(dāng)前控件獲得輸入交點(diǎn)。
事件:
KeyPress 當(dāng)在控件上按下按鍵時(shí)發(fā)生。
Private Sub Text1_KeyPress(KeyAscii As Integer)
End Sub
KeyAscii 表示用戶按鍵的ASCII碼,如果在事件中將它改為0,則認(rèn)為沒有按鍵。
例:編寫只允許輸入數(shù)字的Text控件。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii<Asc("0") Or KeyAscii>Asc("9") Then
KeyAscii=0
End If
End Sub
Change 當(dāng)控件內(nèi)容改變時(shí)發(fā)生。
LostFoucus 當(dāng)控件失去輸入交點(diǎn)時(shí)發(fā)生。
GotFoucus 當(dāng)控件獲得輸入交點(diǎn)時(shí)發(fā)生。
通常我們?cè)赥ext控件獲得輸入交點(diǎn)時(shí)全選它的內(nèi)容,方便用戶直接修改數(shù)據(jù)。
代碼如下:
Private Sub Text1_GotFocus()
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
End Sub
CommandButton控件
CommandButton控件接受用戶的命令。
屬性:
Caption 表示按鈕所顯示的內(nèi)容
例:Command1.Caption="&OK"
事件:
Click 當(dāng)點(diǎn)擊或按下快捷鍵時(shí)發(fā)生。
CheckBox控件
CheckBox控件檢查某個(gè)選項(xiàng)是否被選中。
屬性:
Caption 表示檢查框所提示的內(nèi)容。
例:Check1.Caption="Windows &98":Check2.Caption="Windows &NT"
Value 表示檢查框是否被選中。
=0 未選中。
=1 選中。
例:Check1.Value=1:Check2.Value=0
事件:
Click 當(dāng)點(diǎn)擊或按下快捷鍵時(shí)發(fā)生。
OptionButton控件
OptionButton控件檢查一個(gè)選項(xiàng)是否被選中,它與CheckBox的區(qū)別是:
CheckBox 是多選多項(xiàng)。
OptionButton 是多選一項(xiàng)。
屬性:
Caption 表示檢查框所提示的內(nèi)容。
例:Option1.Caption="男":Option2.Caption="女"
Value 表示檢查框是否被選中。
=False 未選中。
=True 選中。
例:Option1.Value=False:Option2.Value=True
事件:
Click 當(dāng)點(diǎn)擊或按下快捷鍵時(shí)發(fā)生。
Frame控件
Frame控件主要用于為OptionButton控件分組。
屬性:
Caption 表示分組所提示的內(nèi)容。
例:Frame1.Caption="性別":Frame2.Caption="民族"
ListBox控件
ListBox控件用于在一組列表中選擇其中的一項(xiàng)或多項(xiàng)。
屬性:
Text 表示當(dāng)前操作項(xiàng)內(nèi)容。
ListCount 表示當(dāng)前列表框中總數(shù)據(jù)項(xiàng)數(shù)。
ListIndex 表示當(dāng)前操作項(xiàng)下標(biāo),第1項(xiàng)=0。
List(i) 表示第i項(xiàng)表項(xiàng)內(nèi)容。
MultiSelect 表示是否允許多選擇。
Selected(i) 表示第i項(xiàng)是否被選中。
SelCount 表示被選中的項(xiàng)數(shù)。
Sort 表示是否排序。
方法:
AddItem 向列表框增加一項(xiàng)數(shù)據(jù)。
ListX.AddItem(Item As String)
RemoveItem 刪除第i項(xiàng)
ListX.RemoveItem(i As Integer)
事件:
Click 當(dāng)點(diǎn)擊列表框中的一項(xiàng)數(shù)據(jù)時(shí)發(fā)生。
ComboBox控件
ComboBox控件與ListBox基本相同,它的優(yōu)點(diǎn)在于占用的面積小,除了可以在選項(xiàng)中選擇外還可以輸入其它數(shù)據(jù)。它的缺點(diǎn)是不能多選擇。
屬性:
Text 存放從選項(xiàng)中選擇的數(shù)據(jù)或用戶輸入的數(shù)據(jù)。
其它方法與事件和ListBox相同。
Image控件
Image控件用于顯示一張圖片。
屬性:
Picture 存放圖片的數(shù)據(jù)。
通常我們使用LoadPicture函數(shù)讀入一張圖片。
例:ImageX.Picture=LoadPicture("C:\1.bmp")
[注]:LoadPicture支持Bmp、Jpg、Gif、等多種格式圖片文件。
Stretch 顯示圖片的方式。
=True 以控件的尺寸顯示圖片。
=False 以圖片的原尺寸顯示圖片。
Timer控件
Timer控件以固定間隔時(shí)間名觸發(fā)它的Timer事件。
屬性:
Enabled 表示是否起動(dòng)計(jì)時(shí)器。
=True 啟動(dòng)。
=False 關(guān)閉。
Intertval 表示觸發(fā)Timer事件的間隔時(shí)間以毫秒為單位,即:1000=1秒。
事件:
Timer當(dāng)計(jì)時(shí)器計(jì)時(shí)到間隔時(shí)間時(shí)發(fā)生。
實(shí)驗(yàn)內(nèi)容
1.新建一個(gè)工程,在窗體上添加若干控件,然后分別對(duì)控件的常用屬性Name、Caption、Height、Width、Top、Left、Enabled、Visible、FontName、FontSize、BackColor等進(jìn)行設(shè)置,記錄設(shè)置后控件的狀態(tài)和效果。
2.設(shè)計(jì)一個(gè)利用滾動(dòng)條來調(diào)節(jié)字體大小的程序。從組合框選擇字體,通過滾動(dòng)條來調(diào)節(jié)文本框中字體的大小并在窗體上的標(biāo)簽顯示出字體的大小。
3.利用時(shí)鐘控件建立一個(gè)定時(shí)器。
的ActiveX控件
實(shí)驗(yàn)題目:
學(xué)習(xí)在VB中使用ActiveX控件的方法
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">1.了解ActiveX控件和可插入對(duì)象的一般操作方法。
2. 了解常用ActiveX控件的編程方法。
實(shí)驗(yàn)指導(dǎo):
類(Class)和對(duì)象(Object)
ActiveX服務(wù)器是以對(duì)象為單位提供服務(wù)的,所以,我們要在服務(wù)器中定義類。
類是對(duì)象的模板,對(duì)象是類的實(shí)例。
例如:人類是一個(gè)類,它定義了人的基本特征。張三、李四就分別是人類的兩個(gè)實(shí)例。
類是抽象的,而實(shí)例是確實(shí)存在的。
類:
在工程菜單中選擇增加類模塊,就向工程增加一個(gè)類。修改類的Name屬性,就修改了類的名稱。
類事件:
Initialize 創(chuàng)建類的新實(shí)例時(shí)發(fā)生。
Terminate 將對(duì)象設(shè)置為Nothing時(shí)發(fā)生。
我們通常在Initialize事件中初始化數(shù)據(jù),而在Terminate事件中做一些掃尾工作。
向類增加屬性
1.增加公有變量
例如:向工程增加一個(gè)類,設(shè)置Name屬性為ClassEx,在它的通用說明部分增加如下代碼:
Public s As String
在客戶程序中定義對(duì)象,使用屬性。
Dim obj As New ClassEx
obj.s = "ABCDEFG"
Label1.Caption=obj.s
2.增加屬性過程
當(dāng)我們需要只讀或只寫屬性,或者除了給屬性賦值,還需要執(zhí)行一段代碼時(shí),就使用屬性過程。使用屬性過程通常要定義一個(gè)局部變量保存其數(shù)據(jù)值。
屬性過程有兩種:讀屬性和寫屬性
如果一個(gè)屬性即定義了讀屬性又定義了寫屬性,它就是一個(gè)可讀寫的屬性。
定義讀屬性:
Dim XXXX As Type
Public Property Get 屬性名() As Type
...
屬性名=XXXX
End Property
定義寫屬性:
Public Property Let[Set] 屬性名(參數(shù) As Type)
XXXX=參數(shù)
...
End Property
Let 用于普通數(shù)據(jù)類型。
Set 用于對(duì)象類型。
向類增加方法
增加公有過程(函數(shù)和子程序)
Public Sub Proc1(...)
...
End Sub
Public Function Fun1(...)As Type
...
End Funciton
在客戶一端:
Dim obj As ClassEx
obj.Proc1...
ActiveX服務(wù)器中的類屬性
在ActiveX服務(wù)器中類增加了兩個(gè)屬性:
Instancing 說明該類是單用戶還是多用戶
=SingleUse 單用戶,即客戶中每聲明一個(gè)類實(shí)例,將啟動(dòng)一個(gè)服務(wù)器應(yīng)用程序。
=MnltiUse 多用戶,所有對(duì)象使用一個(gè)服務(wù)器應(yīng)用程序。
注:這個(gè)屬性必需在設(shè)計(jì)時(shí)設(shè)置。進(jìn)程內(nèi)服務(wù)器只能設(shè)置為多用戶。
實(shí)驗(yàn)內(nèi)容
1.在窗體上建立ImageList和ToolBar控件,自己查找若干圖標(biāo),加入到工具欄中,單擊這些圖標(biāo)后,由信息框彈出特征文字。
2.設(shè)計(jì)一個(gè)滾動(dòng)條控制進(jìn)度條進(jìn)程的程序。在窗體上建立一個(gè)滾動(dòng)條和一個(gè)進(jìn)度條,調(diào)節(jié)滾動(dòng)條時(shí),進(jìn)度條隨之變化。
對(duì)話框設(shè)計(jì)
實(shí)驗(yàn)題目:
學(xué)習(xí)對(duì)話框控件的使用方法
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">1. 熟悉通用對(duì)話框的使用。
2. 熟悉對(duì)話框的設(shè)計(jì)。
實(shí)驗(yàn)指導(dǎo):
CommandDialog控件
CommandDialog控件包括了Windows操作系統(tǒng)提供的6種公用對(duì)話框。(僅介紹前四種對(duì)話框)
OpenSave 、Color 、Font 、Printer 、Help
Open對(duì)話框 和 Save對(duì)話框
屬性:
Filename表示選擇的文件名(含路徑)。
Filter決定列什么樣的文件。
格式:“說明|過濾|說明|過濾|...”
例:Filter="Text|*.txt|Picture|*.bmp;*.gif"
方法:
ShowOpen彈出Open對(duì)話框。
ShowSave彈出Save對(duì)話框。
例:打開一個(gè)正文文件,把文件名賦給變量fn。
Dim fn As String
CDlg1.Filter="Text|*.txt"
CDlg1.ShowOpen
fn=CDlg1.Filename
Color對(duì)話框
屬性:
Color選擇的顏色。
方法:
ShowColor彈出Color對(duì)話框。
例:修改標(biāo)簽控件的Label1顏色。
CDlg1.Color=Label1.ForeColor
CDlg1.ShowColor
Label1.ForeColor=CDlg1.Color
Font對(duì)話框
屬性:
Flags決定字體的集合。
FontBold是否加粗。
FontItalic是否斜體。
FontName字體名稱。
FontSize字體大小。
方法:
ShowFont彈出Font對(duì)話框。
例:修改標(biāo)簽控件Label1的字體。
CDlg1.FontName=Label1.FontName
CDlg1.FontSize=Label1.FontSize
CDlg1.Flags=cdlCFScreenFonts
CDlg1.ShowFont
Label1.FontBold=CDlg1.FontBold
Label1.FontItalic=CDlg1.FontItalic
Label1.FontName=CDlg1.FontName
Label1.FontSize=CDlg1.FontSize
實(shí)驗(yàn)內(nèi)容
設(shè)計(jì)應(yīng)用程序,運(yùn)行效果如圖17.6。
功能描述:
當(dāng)用戶單擊“打開”按鈕時(shí),啟動(dòng)打開對(duì)話框,選擇文本文件,在文本框中顯示出來;單擊“字體”按鈕時(shí),啟動(dòng)字體對(duì)話框,選擇合適的字體屬性改變文本框的字體及顏色;單擊“保存”按鈕時(shí),啟動(dòng)保存對(duì)話框,將文件保存。單擊“退出”按鈕時(shí),退出程序。
提示:打開文件方法
Open CommonDialog1.FileName For InputAs #1
Do While Not EOF(1)
Line Input#1, inputdata
Text1.Text =Text1.Text + inputdata + Chr(13) + Chr(10)
Loop
Close #1
保存文件方法
Open CommonDialog1.FileName ForOutput As #2
Print #2, Text1.Text
Close #2
菜單設(shè)計(jì)
實(shí)驗(yàn)題目:
學(xué)習(xí)設(shè)計(jì)頂端菜單和彈出式菜單的編輯和操作方法
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">1. 掌握VB中的菜單設(shè)計(jì)方法。
2. 掌握VB中菜單命令代碼的編寫方法。
3. 了解VB快捷菜單設(shè)計(jì)方法。
實(shí)驗(yàn)指導(dǎo):
要設(shè)計(jì)菜單就得先打開菜單編輯器窗口,打開的方法有下面三種:
1、執(zhí)行“工具”菜單中的“菜單編輯器”命令。
2、直接用快捷鍵“Ctrl+E”。
3、單擊工具欄上的工具按鈕。
菜單編輯器窗口的組成如下:
1、標(biāo)題
它是一個(gè)文本框,用來輸入菜單標(biāo)題或菜單項(xiàng)顯示在窗體上的標(biāo)題。輸入的內(nèi)容同時(shí)在窗口的最下面文本區(qū)顯示出來。
2、名稱
每個(gè)菜單項(xiàng)必須有一個(gè)控件名,在名稱文本框中輸入的字符是VB5使用的控件名。它是不會(huì)在窗體中顯示出來的,而是在程序中用來標(biāo)識(shí)各種菜單項(xiàng)控件。
3、索引
用于將幾個(gè)菜單項(xiàng)共用一個(gè)控件名稱,組成控件數(shù)組。
4、快捷鍵
用于建立菜單項(xiàng)的快捷菜單。當(dāng)我們需要為某菜單項(xiàng)建立快捷鍵時(shí),單擊該框右側(cè)的向下箭頭,便會(huì)下拉一個(gè)列表框,從中選擇所需的快捷鍵。
5、幫助上下文ID
用于制作幫助菜單時(shí),該項(xiàng)屬性為幫助文件的ID號(hào),通過它可以找到幫助文件中相應(yīng)的幫助主題的標(biāo)題。
6、協(xié)調(diào)位置
每個(gè)單獨(dú)的菜單控件都具有該屬性,它決定在激活對(duì)象的菜單時(shí),窗體頂層菜單如何在窗體中。包括四個(gè)選項(xiàng):
0(None):(缺省值)窗體的菜單不在菜單欄中顯示。
1(Left):窗體的菜單在菜單欄的左邊位置顯示
2(Middle):窗體的菜單在菜單欄的中間位置顯示。
3(Right):窗體的菜單在菜單欄的右邊位置顯示。
7、“復(fù)選”框
它決定是否允許在菜單項(xiàng)的左邊設(shè)置復(fù)選標(biāo)記。
8、“可見”復(fù)選框
此選項(xiàng)決定是否讓菜單在程序運(yùn)行時(shí)是否被顯示。
9、“有效”復(fù)選框
此選項(xiàng)決定是否讓菜單項(xiàng)對(duì)事件做出響應(yīng)。
10、“顯示窗口列表”復(fù)選框
在MDI(多文檔)應(yīng)用程序中,確定菜單控件是否包含一個(gè)打開的MDI子窗體列表。
11、四個(gè)箭頭按鈕
右箭頭和左箭頭:表示當(dāng)前設(shè)計(jì)的菜單是主菜單還是子菜單。即為菜單層次選擇按鈕。上箭頭和下箭頭表示將菜單赤示文本區(qū)中選中的菜單項(xiàng)與其上邊或下邊菜單項(xiàng)之間交換位置,也就是說被選中的菜單項(xiàng)上移或下移了。
12、“下一個(gè)”命令按鈕
它將選定移動(dòng)到下行,表示當(dāng)前菜單項(xiàng)已建好,換行再創(chuàng)建下一個(gè)菜單項(xiàng)。
13、“插入”命令按鈕
單擊插入命令按鈕,可以在當(dāng)前被選中的菜單項(xiàng)前插入一個(gè)新的空白菜單項(xiàng)。
14、“刪除”命令按鈕 用于刪除選中的菜單項(xiàng)。
實(shí)驗(yàn)內(nèi)容
1.  利用菜單編輯器創(chuàng)建“文件”和“編輯”菜單,編寫相應(yīng)源代碼程序
數(shù)據(jù)庫操作
實(shí)驗(yàn)題目:
使用控件訪問數(shù)據(jù)庫
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">1.          掌握創(chuàng)建數(shù)據(jù)庫的方法
2.          掌握數(shù)據(jù)控件的使用方法
3.          掌握控件的數(shù)據(jù)綁定技術(shù)
4.          掌握數(shù)據(jù)庫記錄集的操作方法
實(shí)驗(yàn)指導(dǎo):
數(shù)據(jù)控件
Connect屬性:指定打開的數(shù)據(jù)庫類型,并且包括參數(shù),如用戶和口令等。
DatabaseName屬性:確定數(shù)據(jù)控件訪問哪一個(gè)數(shù)據(jù)庫。[注]:對(duì)于多表數(shù)據(jù)庫它為具體的數(shù)據(jù)庫文件名。對(duì)于單表數(shù)據(jù)庫它為具體的數(shù)據(jù)庫文件所在的目錄,而具體文件名放在RocordSouce屬性中。
RecordSource屬性:確定數(shù)據(jù)控件的記錄集,即:所要訪問的數(shù)據(jù)內(nèi)容。它可以是一個(gè)表名、存儲(chǔ)查詢名或一條SQL語句。[注]:當(dāng)我們?cè)谶\(yùn)行時(shí)修改了該屬性后,需要調(diào)用Refresh方法刷新記錄集。
Refresh方法:當(dāng)我們?cè)谶\(yùn)行時(shí)修改了RecordSource屬性后,需要調(diào)用該方法刷新記錄集。
UpdateRecord方法:將綁定在數(shù)據(jù)控件上的控件的數(shù)據(jù)寫入數(shù)據(jù)庫中,即:當(dāng)我們修改了數(shù)據(jù)后調(diào)用該方法確認(rèn)修改。
CancelUpdate方法:將數(shù)據(jù)庫中數(shù)據(jù)從新讀到綁定在數(shù)據(jù)控件上的控件中,即:當(dāng)我們修改了數(shù)據(jù)后調(diào)用該方法放棄修改。
Validate事件:當(dāng)我們移動(dòng)記錄集記錄指針時(shí)發(fā)生。
Sub XXXX_Validate(Action As Integer,Save As Integer) 其中:
Action 指出如何產(chǎn)生了該事件,如:移動(dòng)、增加、查詢等。
Save 表示是否保存已修改的數(shù)據(jù)。
當(dāng)我們修改了綁定在數(shù)據(jù)控件的數(shù)據(jù),以沒有調(diào)用UpdateRecord,而要移動(dòng)指針時(shí),Save=True。如果在事件中令Save=False,則放棄修改。
Reposition事件:當(dāng)我們移動(dòng)記錄集記錄指針時(shí)發(fā)生。通常我們?cè)谠撌录酗@示當(dāng)前的指針位置。
記錄集(RecordSet)
記錄集是記錄控件所引用得整個(gè)記錄的集合。
BOF屬性:當(dāng)記錄集記錄指針指向起始之前返回True。
EOF屬性:當(dāng)記錄集記錄指針指向結(jié)尾返回True。
AbsloutePositon屬性:返回當(dāng)前記錄集記錄指針,第一條記錄為0,只讀屬性。
BookMark屬性:String類型。返回或設(shè)置當(dāng)前記錄集記錄指針的書簽,可讀寫。[注]:程序中使用BookMark屬性重定位記錄指針,而不能使用AbsloutePositon屬性。
AddNew方法:向記錄集增加一條新記錄。
Delete方法:從記錄集中將當(dāng)前記錄刪除。在刪除后常使用MoveNext方法移動(dòng)指針。
MoveFirst方法:將記錄集指針移動(dòng)到第一條記錄上。
MoveLast方法:將記錄集指針移動(dòng)到最后一條記錄上。
MovePrevious方法:將記錄集指針移動(dòng)到前一條記錄上。
MoveNext方法:將記錄集指針移動(dòng)到下一條記錄上。
FindFirst方法:在記錄集中查詢附合條件的第一條記錄。
FindLast方法:在記錄集中查詢附合條件的最后一條記錄。
FindPrevious方法:在記錄集中查詢附合條件的前一條記錄。
FindNext方法:在記錄集中查詢附合條件的下一條記錄。
綁定控件
我們可以將普通控件綁定在數(shù)據(jù)控件上,來完成自動(dòng)地顯示、更新記錄集的數(shù)據(jù)。
常用的可綁定的控件有:Label、Text、CheckBox、Image等。通過設(shè)置這些控件的DataSource和DataField屬性來完成綁定。
DataSource 屬性表示綁定到哪一個(gè)數(shù)據(jù)控件上,程序中我們可能使用多個(gè)數(shù)據(jù)控件。
DataField 屬性表示綁定到記錄集的哪一個(gè)記錄上。
實(shí)驗(yàn)內(nèi)容:
1.通過“Microsoft Access”和VB6中的“可視化數(shù)據(jù)庫管理器”分別建立數(shù)據(jù)庫stud.mdb,其中有一個(gè)數(shù)據(jù)表student,并在數(shù)據(jù)表中輸入記錄。該數(shù)據(jù)表的結(jié)構(gòu)如下:
字段名
類型
長(zhǎng)度
學(xué)號(hào)
String
7
班級(jí)
String
8
姓名
String
8
性別
String
2
年齡
Integer
2.利用數(shù)據(jù)庫記錄集的方法實(shí)現(xiàn)顯示、修改、添加和刪除記錄的功能。界面如下圖所示。
實(shí)驗(yàn)十二  多文檔界面設(shè)計(jì)
實(shí)驗(yàn)題目:
設(shè)計(jì)多文檔界面
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">1.      掌握簡(jiǎn)單的MDI應(yīng)用程序的設(shè)計(jì)方法
2.      了解多文檔文本編輯器的設(shè)計(jì)方法
實(shí)驗(yàn)指導(dǎo):
多文檔界面,如 Word ,允許用戶同時(shí)打開多個(gè)文件進(jìn)行操作。在多文檔界面中,有一個(gè)窗體叫做主窗體(又稱為 MDI 窗體),其他窗體稱為子窗體。子窗體始終處在主窗體內(nèi)部,主窗體的位置移動(dòng)會(huì)導(dǎo)致子窗體的位置發(fā)生相應(yīng)變化。圖一
一、多文檔程序的建立:
多文檔程序至少有兩個(gè)窗體,一個(gè)主窗體和一個(gè)子窗體或多個(gè)子窗體,主窗體是其他窗體的容器。
1、創(chuàng)建一個(gè)新工程,然后選擇工程/工程屬性菜單命令,加入“MDI窗體”:
2、在“項(xiàng)目”窗口中雙擊 Form1 切換到 Form1 ,然后將其 MDIChild 屬性設(shè)為 True 。
3、按 F5 鍵運(yùn)行程序
4、控制程序的打開狀態(tài):如果要讓程序打開時(shí)自動(dòng)載入 Form1 窗口,那么在工程屬性窗口中選擇“啟動(dòng)對(duì)象”為 Form1 ;如果不想顯示子窗體,那么只需在“啟動(dòng)對(duì)象”中選擇 MDIForm1 就行了。
5、子窗體的顯示:假設(shè)工程的啟動(dòng)對(duì)象為 MDIForm1 ,可以在主窗體中加入菜單,或者直接用 Load 的方法,如下:
Private Sub MDIForm_Load()
Form1.Show 0
End Sub
這段代碼將 Form1 顯示出來,并呈非模態(tài)模式。
二、主窗體與子窗體的標(biāo)題:
當(dāng)主窗體與子窗體都呈顯現(xiàn)狀態(tài)時(shí),把子窗體最大化,你會(huì)發(fā)現(xiàn)窗體的標(biāo)題變成了主窗體標(biāo)題加上子窗體標(biāo)題。
三、主窗體與子窗體的菜單:在 VB 中,如果子窗體載入,那么主窗體的菜單將被子窗體的菜單替換;只有當(dāng)主窗體中沒有子窗體時(shí)才能顯示主窗體的菜單。
實(shí)驗(yàn)內(nèi)容:
1.建立一個(gè)應(yīng)用程序,程序中有一個(gè)MDI窗體,通過MDI窗體的“文件”菜單中的“新建文檔”菜單項(xiàng)可建立一個(gè)文檔窗口作為MDI窗體的子窗體,在此子窗體可進(jìn)行文本編輯。通過菜單可建立多個(gè)文檔窗口,也可進(jìn)行編輯文檔內(nèi)容、關(guān)閉文檔等操作。
文件的基本操作和文件的讀寫
實(shí)驗(yàn)題目:
在vb中操作文件
實(shí)驗(yàn)?zāi)康模?div style="height:15px;">1.掌握DriveListBox、DirListBox和FileListBox等文件控件的使用方法
2.掌握用傳統(tǒng)方式進(jìn)行文件復(fù)制、移動(dòng)、刪除及重命名等基本方法
3.掌握順序文件、隨機(jī)文件和二進(jìn)制文件的讀寫操作方法
實(shí)驗(yàn)指導(dǎo):
1.文件控件
DriveListBox控件
DriveListBox控件提供一個(gè)驅(qū)動(dòng)器列表。
屬性:Drive表示當(dāng)前選擇的驅(qū)動(dòng)器盤符。
事件:Change當(dāng)驅(qū)動(dòng)器選擇發(fā)生變化時(shí)發(fā)生。
DirListBox控件
DirListBox控件提供一個(gè)目錄列表。
屬性:Path表示當(dāng)前目錄的路徑。
事件:Change當(dāng)目錄選擇發(fā)生變化時(shí)發(fā)生。
FileListBox控件
FileListBox控件提供一個(gè)文件列表。
屬性:Path表示當(dāng)前文件列表所在的路徑。
Filename表示選擇的文件名(不含路徑)。
Pattern決定列什么樣的文件。
事件:Click當(dāng)點(diǎn)擊列表框的一項(xiàng)數(shù)據(jù)時(shí)發(fā)生。
2.VB中三種文件的訪問方式
(1) 使用二進(jìn)制文件訪問
File SystemObject 模式不提供二進(jìn)制文件創(chuàng)建或訪問方法。
打開二進(jìn)制型訪問的文件
要為二進(jìn)制型訪問打開文件,應(yīng)使用以下 Open 語句的語法:
Open pathname For Binary As filenumber
可以看到,二進(jìn)制訪問中的 Open 與隨機(jī)存取的 Open 不同,它沒有指定 Len = reclength。如果在二進(jìn)制型訪問的 Open 語句中包括了記錄長(zhǎng)度,則被忽略。
在長(zhǎng)度可變的字段中保存信息
通過使用二進(jìn)制型訪問可使磁盤空間的使用降到最小。因?yàn)檫@不需要固定長(zhǎng)度的字段,類型聲明語句可以省略字符串長(zhǎng)度參數(shù)。
(2)使用順序文件訪問
當(dāng)要處理只包含文本的文件時(shí),比如由典型文本編輯器所創(chuàng)建的文件-也就是說,其中的數(shù)據(jù)沒有分成記錄的文件,使用順序型訪問最好。順序型訪問不太適于存儲(chǔ)很多數(shù)字,因?yàn)槊總€(gè)數(shù)字都要按字符串存儲(chǔ)。一個(gè)四位數(shù)將需要 4 個(gè)字節(jié)的存儲(chǔ)空間,而不是作為一個(gè)整數(shù)來存儲(chǔ)時(shí)只需的 2 個(gè)字節(jié)。
打開順序訪問文件
當(dāng)以順序型訪問打開一個(gè)文件時(shí),可執(zhí)行以下操作:
從文件輸入字符 (Input)
向文件輸出字符 (Output)
把字符加到文件 (Append)
要順序型訪問打開一個(gè)文件,Open 語句使用以下語法:
Open pathname For [Input | Output| Append] As filenumber [Len = buffersize]
當(dāng)打開順序文件作為 Input 時(shí),該文件必須已經(jīng)存在,否則,會(huì)產(chǎn)生一個(gè)錯(cuò)誤。然而,當(dāng)打開一個(gè)不存在的文件作為 Output 或 Append 時(shí),Open 語句首先創(chuàng)建該文件,然后再打開它。當(dāng)在文件與程序之間拷貝數(shù)據(jù)時(shí),選項(xiàng) Len 參數(shù)指定緩沖區(qū)的字符數(shù)。
在打開一個(gè)文件Input、Output 或 Append 以后,在為其它類型的操作重新打開它之前必須先使用 Close 語句關(guān)閉它。
編輯為順序訪問打開的文件
如果要編輯一個(gè)文件,先把它的內(nèi)容讀入到程序變量,然后改變這些變量,最后再把這些變量寫回到該文件。
從文件中讀取字符串
要檢索文本文件的內(nèi)容,應(yīng)以順序 Input 方式打開該文件。然后使用 Line Input#,Input( ),或者 Input# 語句將文件拷貝到程序變量中。
Visual Basic 提供了一次讀寫順序文件一個(gè)字符或一行的語句和功能。
把字符串寫入文件
要在順序文件中存儲(chǔ)變量的內(nèi)容,應(yīng)以順序 Output 或 Append 打開它,然后使用 Print # 語句。Visual Basic 也支持 Write # 語句,它把一列數(shù)字和/或字符串表達(dá)式寫入文件。它自動(dòng)地用逗號(hào)分開每個(gè)表達(dá)式,并且在字符串表達(dá)式端放置引號(hào)。
(3)使用隨機(jī)文件訪問
File System Object 模式不提供隨機(jī)文件創(chuàng)建或訪問方法。隨機(jī)型訪問文件中的字節(jié)構(gòu)成相同的一些記錄,每個(gè)記錄包含一個(gè)或多個(gè)字段。具有一個(gè)字段的記錄對(duì)應(yīng)于任一標(biāo)準(zhǔn)類型,比如整數(shù)或者定長(zhǎng)字符串。具有多個(gè)字段的記錄對(duì)應(yīng)于用戶定義類型。
聲明變量
在應(yīng)用程序打開以隨機(jī)型訪問的文件以前,應(yīng)先聲明所有用來處理該文件數(shù)據(jù)所需的變量。這包括用戶定義類型的變量,它對(duì)應(yīng)該文件中的記錄,和標(biāo)準(zhǔn)類型的其它變量,這些變量保存為隨機(jī)型訪問而打開的文件與處理相關(guān)的數(shù)據(jù)
定義記錄類型
在打開一個(gè)文件進(jìn)行隨機(jī)訪問之前,應(yīng)定義一個(gè)類型,該類型對(duì)應(yīng)于該文件包含或?qū)挠涗洝?div style="height:15px;">在類型定義中聲明字段變量
因?yàn)殡S機(jī)訪問文件中的所有記錄都必須有相同的長(zhǎng)度,所以固定的長(zhǎng)度對(duì)用戶定義類型中的各字符串元素通常很有用。如果實(shí)際字符串包含的字符數(shù)比它寫入的字符串元素的固定長(zhǎng)度少,則 Visual Basic 會(huì)用空白(字符代碼 32)來填充記錄中后面的空間。還有,如果字符串比字段的尺寸長(zhǎng),則它就會(huì)被截?cái)唷H绻褂瞄L(zhǎng)度可變的字符串,則任何用 Put 存儲(chǔ)的或用 Get 檢索的記錄總長(zhǎng)度都不能超過在 Open 語句的 Len 分句中所指定的記錄長(zhǎng)度。
聲明其它變量
在定義與典型記錄對(duì)應(yīng)的類型以后,應(yīng)接著聲明程序需要的任何其它變量,用來處理作為隨機(jī)訪問而打開的文件
打開隨機(jī)訪問的文件
要打開隨機(jī)訪問的文件,Open 語句使用以下語法:
Open pathname [For Random] As filenumberLen = reclength
因?yàn)?Random 是缺省的訪問類型,所以 For Random 關(guān)鍵字是可選項(xiàng)。表達(dá)式 Len = reclength 指定了每個(gè)記錄的尺寸。如果 reclength 比寫文件記錄的實(shí)際長(zhǎng)度短,則會(huì)產(chǎn)生一個(gè)錯(cuò)誤。如果 reclength 比記錄的實(shí)際長(zhǎng)度長(zhǎng),則記錄可寫入,只是會(huì)浪費(fèi)些磁盤空間。
編輯隨機(jī)型訪問打開的文件
如要編輯隨機(jī)型訪問的文件,請(qǐng)先把記錄從文件讀到程序變量,然后改變各變量的值,最后,把變量寫回該文件。后面各節(jié)討論如何編輯隨機(jī)型訪問打開的文件。
把記錄讀入變量
使用 Get 語句把記錄復(fù)制到變量。
把變量寫入記錄
使用 Put 語句把記錄添加或者替換到隨機(jī)型訪問打開的文件。
替換記錄
要替換記錄,請(qǐng)使用 Put 語句,指定想要替換的記錄位置,
添加記錄
要向隨機(jī)訪問打開的文件的尾端添加新記錄,應(yīng)使用Put 語句。把 Position 變量的值設(shè)置為比文件中的記錄數(shù)多 1。
刪除記錄
通過清除其字段可以刪除一個(gè)記錄,但是該記錄仍在文件中存在。通常文件中不能有空記錄,因?yàn)樗鼈儠?huì)浪費(fèi)空間且會(huì)干擾順序操作。最好把余下的記錄拷貝到一個(gè)新文件,然后刪除老文件。
實(shí)驗(yàn)內(nèi)容:
1.:建立一個(gè)應(yīng)用程序,該程序利用文件系統(tǒng)控件可以實(shí)現(xiàn)文件的復(fù)制、移動(dòng)和刪除,如下圖所示。
2.編寫程序,要求能將文本框中的內(nèi)容寫入順序文件,或者能將順序文件的內(nèi)容讀入到文本框中,如下圖所示。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
全國(guó)計(jì)算機(jī)二級(jí)VB復(fù)習(xí)要點(diǎn)
VB基礎(chǔ)教程
廣州電大VB網(wǎng)絡(luò)課程
Visual Basic入門教程之四
復(fù)習(xí)
高一年級(jí)信息科技2020空中課堂知識(shí)點(diǎn)梳理及“思考與討論”-第04課:程序設(shè)計(jì)基本知識(shí)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服