《Visual Basic程序設(shè)計(jì)》課件1實(shí)驗(yàn)_第1頁(yè)
《Visual Basic程序設(shè)計(jì)》課件1實(shí)驗(yàn)_第2頁(yè)
《Visual Basic程序設(shè)計(jì)》課件1實(shí)驗(yàn)_第3頁(yè)
《Visual Basic程序設(shè)計(jì)》課件1實(shí)驗(yàn)_第4頁(yè)
《Visual Basic程序設(shè)計(jì)》課件1實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)實(shí)驗(yàn)1VB集成開發(fā)環(huán)境實(shí)驗(yàn)2VB代碼基礎(chǔ)實(shí)驗(yàn)3常用基本控件應(yīng)用實(shí)驗(yàn)4基本控制結(jié)構(gòu)應(yīng)用實(shí)驗(yàn)5數(shù)組與自定義數(shù)據(jù)類型實(shí)驗(yàn)6過程實(shí)驗(yàn)7數(shù)據(jù)文件實(shí)驗(yàn)8常用控件實(shí)驗(yàn)9界面設(shè)計(jì)

實(shí)驗(yàn)1VB集成開發(fā)環(huán)境

1.1實(shí)驗(yàn)?zāi)康?/p>

(1)掌握VB的啟動(dòng)方法,熟悉VB的集成開發(fā)環(huán)境的組成及各部分的顯示與隱藏。

(2)掌握向窗體中添加控件及使用屬性窗口修改控件屬性的方法。

(3)掌握代碼窗口的應(yīng)用及錄入、編輯代碼的基本方法。

(4)了解VB程序設(shè)計(jì)的基本步驟,掌握保存VB工程文件及窗體文件的方法。

(5)初步理解事件驅(qū)動(dòng)的機(jī)制。1.2實(shí)驗(yàn)內(nèi)容

(1)?VB的啟動(dòng):選擇“新建”→“標(biāo)準(zhǔn)EXE”,進(jìn)入集成開發(fā)環(huán)境。

(2)關(guān)閉工具箱、對(duì)象窗口、工程資源管理器窗口、屬性窗口、窗體布局窗口及工具欄,結(jié)果如實(shí)驗(yàn)圖1-1所示。實(shí)驗(yàn)圖1-1

(3)在“視圖”菜單中將關(guān)閉的各部分重新顯示出來。

(4)建立自己的文件夾,為存放程序做好準(zhǔn)備。每次實(shí)驗(yàn)之前,應(yīng)建立好自己的文件夾,存放實(shí)驗(yàn)中建立的各種文件。

為了便于教師指導(dǎo)和交流,建議采用下述約定來命名文件:

每章實(shí)驗(yàn)內(nèi)容建議存放在一個(gè)工程中,工程文件名以字符ex開頭后加實(shí)驗(yàn)序號(hào),如第1章實(shí)驗(yàn)的工程文件名為ex01.vbp。

窗體文件名約定格式為:

XXYY-ZZ-??.frm

(5)按第1章中的步驟完成例1-1,并保存工程文件為ex01.vbp,窗體名為L(zhǎng)T01-01.frm。運(yùn)行程序,輸入一些數(shù)據(jù)試運(yùn)行,驗(yàn)證運(yùn)行結(jié)果。

(6)在“工程”菜單中執(zhí)行“添加窗體”,可以看到對(duì)象窗口中出現(xiàn)新的窗體Form2,同時(shí)在工程資源管理器中也可以看到Form2,如實(shí)驗(yàn)圖1-2所示。實(shí)驗(yàn)圖1-2

(7)按要求在窗體Form2完成習(xí)題9,并保存窗體名為XT01-01.frm。

(8)如果一個(gè)工程中涉及到兩個(gè)以上的窗體,這種工程被稱為多窗體工程,若不經(jīng)任何設(shè)置,VB會(huì)將Form1作為啟動(dòng)窗體。如果要運(yùn)行Form2時(shí),需要將Form2設(shè)置為啟動(dòng)窗體,具體設(shè)置步驟如下:

①在“工程”菜單中選擇“工程n屬性...”(注意:n視具體的工程數(shù)變化),彈出如實(shí)驗(yàn)圖1-3所示的對(duì)話框。實(shí)驗(yàn)圖1-3②啟動(dòng)對(duì)象是一個(gè)組合框,單擊其右側(cè)下拉按鈕可以列出當(dāng)前工程所包含的所有窗體,選擇Form2。

③單擊“確定”按鈕運(yùn)行工程,即可運(yùn)行Form2。

(9)保存工程文件,記錄實(shí)驗(yàn)中出現(xiàn)的問題及解決方法,完成實(shí)驗(yàn)報(bào)告。1.3常見錯(cuò)誤分析

(1)標(biāo)點(diǎn)符號(hào)錯(cuò)誤。

在VB語(yǔ)法中只允許使用西文標(biāo)點(diǎn),中文標(biāo)點(diǎn)只能出現(xiàn)在被引號(hào)引住的字符串中。當(dāng)代碼中出現(xiàn)中英文混合時(shí),一定要注意隨時(shí)轉(zhuǎn)換輸入法。特別容易出錯(cuò)的標(biāo)點(diǎn)有逗號(hào)、分號(hào)、雙引號(hào)、嘆號(hào)等。還有一對(duì)容易混淆的標(biāo)點(diǎn)符號(hào)是冒號(hào)和分號(hào)。

(2)字符因形似而導(dǎo)致錄入錯(cuò)誤。

字母L的小寫形式“l(fā)”與數(shù)字“1”很相似,字母“O”與數(shù)字“0”也很難區(qū)別,在錄入時(shí)要注意。

(3)對(duì)象名稱寫錯(cuò)。

對(duì)象名稱用于在程序中唯一地標(biāo)識(shí)控件對(duì)象。每個(gè)對(duì)象都有默認(rèn)的名稱,例如,Text1、Text2、Command1、Label2等,用戶可以在屬性窗口中修改對(duì)象的名稱。但對(duì)于初學(xué)者,由于程序較簡(jiǎn)單,對(duì)象使用較少,建議使用默認(rèn)的控件名。

當(dāng)程序中的對(duì)象名寫錯(cuò)時(shí),系統(tǒng)顯示如實(shí)驗(yàn)圖1-4所示的對(duì)話框。單擊“調(diào)試”按鈕可進(jìn)入代碼窗口,VB對(duì)出錯(cuò)的語(yǔ)句以黃色背景顯示,根據(jù)這個(gè)提示,可以很容易找到寫錯(cuò)的對(duì)象名。實(shí)驗(yàn)圖1-4

(4)“名稱”屬性和Caption屬性混淆。

“名稱”屬性的值在程序中唯一地標(biāo)識(shí)一個(gè)控件對(duì)象,而Caption屬性的值是在窗體上顯示標(biāo)題文本。由于VB中有Caption屬性的控件(如命令按鈕、標(biāo)簽等),在創(chuàng)建時(shí),其默認(rèn)的“名稱”屬性與Caption屬性是相同的,所以使得很多初學(xué)者將這兩個(gè)屬性混淆。

(5)無意形成控件數(shù)組。

若要在窗體上創(chuàng)建多個(gè)屬性相似的命令按鈕,很多人會(huì)先創(chuàng)建一個(gè)命令按鈕,設(shè)置好屬性后再進(jìn)行復(fù)制、粘貼。但如果在系統(tǒng)顯示“是否建立控件數(shù)組?”時(shí)選擇了“是”,則會(huì)創(chuàng)建控件數(shù)組,對(duì)控件數(shù)組的編程和對(duì)普通控件的編程是不同的。初學(xué)者一定要注意,在沒有學(xué)習(xí)控件數(shù)組之前,如果想復(fù)制控件,千萬不要復(fù)制成控件數(shù)組。

(6)打開工程時(shí)找不到對(duì)應(yīng)的文件。

在VB中,一個(gè)最簡(jiǎn)單的應(yīng)用程序一般由一個(gè)工程文件和一個(gè)窗體文件組成,工程文件記錄了該工程內(nèi)所有文件的文件名及存放在磁盤上的路徑。打開工程時(shí)顯示“文件未找到”的提示信息,這可能由以下操作引起:

①文件復(fù)制時(shí)少?gòu)?fù)制了文件引起。例如上機(jī)結(jié)束后,把文件復(fù)制到軟盤或其他文件夾時(shí),少?gòu)?fù)制了窗體文件,或者少?gòu)?fù)制了工程文件。

②換名操作引起。若在VB環(huán)境以外,利用Windows資源管理器或其他方法將工程中某個(gè)文件改名,而工程文件內(nèi)記錄的還是原來的文件名,這樣也會(huì)導(dǎo)致打開工程時(shí)顯示“文件未找到”的提示信息。

實(shí)驗(yàn)2VB代碼基礎(chǔ)

2.1實(shí)驗(yàn)?zāi)康?/p>

(1)熟悉VB的各種數(shù)據(jù)類型。

(2)熟練掌握各種運(yùn)算符的應(yīng)用和優(yōu)先順序。

(3)掌握各種常用函數(shù)的功能、參數(shù)和返回值。

(4)掌握立即窗口的使用方法。

2.2實(shí)驗(yàn)內(nèi)容

(1)啟動(dòng)VB,在“視圖”菜單中運(yùn)行“立即”窗口,光標(biāo)進(jìn)入如實(shí)驗(yàn)圖2-1所示的“立即”窗口中,拖動(dòng)窗口右下角,可以改變窗口到適當(dāng)大小。實(shí)驗(yàn)圖2-1

(2)驗(yàn)證第2章中的各個(gè)表達(dá)式舉例,自己設(shè)計(jì)同類表達(dá)式并運(yùn)算后驗(yàn)證。

(3)仿照第2章中的函數(shù)示例,自己設(shè)計(jì)表達(dá)式對(duì)Abs、Sqr、Int、Fix、Ltrim、Rtrim、Trim、Left、Right、Mid、Len、LenB、Instr、String、Lcase、Ucase、Asc、Chr、Val、Now、Date、Day、Week、Day、Month、Year、Hour、Minute、Second、Timer、Time、DateDiff等函數(shù)進(jìn)行驗(yàn)證,并將驗(yàn)證過程記錄下來。

(4)對(duì)習(xí)題中涉及到的表達(dá)式先計(jì)算再驗(yàn)證,如有差異要分析原因并記錄驗(yàn)證過程。

(5)設(shè)計(jì)一個(gè)程序,在文本框中輸入一個(gè)角度,用4個(gè)標(biāo)簽分別輸出其正弦、余弦、正切、余切值。設(shè)計(jì)界面如實(shí)驗(yàn)圖2-2所示。實(shí)驗(yàn)圖2-2有學(xué)生在命令按鈕的Click事件中寫了以下代碼,有兩類共7處錯(cuò)誤,請(qǐng)找出并改正之。

PrivateSubCommand1_Click()

Dimx!,a!,b!,c!,d!

x=Val(Text1.Text)

Rem計(jì)算

a=Sinx*3.1415926/180

b=Cosx*3.1415926/180

c=Tanx*3.1415926/180

d=1/c

Rem顯示計(jì)算結(jié)果

Label2.Caption="正弦值:"+a

Label3.Caption="余弦值:"+b

Label4.Caption="正切值:"+c

Label5.Caption="余切值:"+d

EndSub

(6)上題代碼中多次用到了“3.1415926/180”,是否可以用符號(hào)常量代替呢?請(qǐng)改寫程序并體會(huì)符號(hào)常量的作用。2.3常見錯(cuò)誤分析

(1)圓括號(hào)問題。

除函數(shù)Rnd以外,本章涉及到的函數(shù)調(diào)用都必須加“()”,將自變量括在“()”中。例如在前面題目代碼中,將Sin(x*3.1415926/180)寫成Sinx*3.1415926/180,由于VB不能識(shí)別Sinx,所以將其認(rèn)為是一個(gè)變量,但前面又沒有定義這個(gè)變量,所以默認(rèn)為變體型,進(jìn)行數(shù)值運(yùn)算時(shí)初值為0,運(yùn)算結(jié)果顯示出錯(cuò)。

(2)運(yùn)算符功能問題。

例如前面題目代碼中有表達(dá)式“"正弦值:"+a”,對(duì)于“+”運(yùn)算符,雖然可以進(jìn)行字符串連接運(yùn)算,但卻不能將非數(shù)字字符型常量“"正弦值:"”和單精度變量“a”連接起來,如果必須要連接,可以改寫成“"正弦值:"+Str(a)”,即先將單精度變量“a”轉(zhuǎn)換成字符型,再將二者相連。當(dāng)然,對(duì)于這種連接其實(shí)不必這么麻煩,可以直接將“+”改為“&”即可,但要注意,在“&”兩側(cè)必須有一個(gè)以上的空格。

(3)布爾表達(dá)式的書寫問題。

運(yùn)算符“Not”、“And”、“Or”和與之相連的操作數(shù)之間必須要用空格隔開,如“a<0Anda+c>0”這種寫法VB就不能識(shí)別了,正確寫法應(yīng)該是“a<0Anda+c>0”。

實(shí)驗(yàn)3常用基本控件應(yīng)用

3.1實(shí)驗(yàn)?zāi)康?/p>

(1)熟練掌握VB語(yǔ)句書寫規(guī)則。

(2)熟練掌握窗體的主要屬性及Load事件的應(yīng)用。

(3)掌握Print方法的輸出格式控制。

(4)掌握命令按鈕和標(biāo)簽的主要屬性應(yīng)用。

(5)掌握文本框的主要屬性和事件應(yīng)用。

(6)熟悉VB程序獲得數(shù)據(jù)及輸出結(jié)果的基本方法。

(7)了解工程管理概念。

(8)掌握添加/刪除窗體文件、設(shè)置啟動(dòng)窗體、編譯生成EXE文件、運(yùn)行EXE文件的方法。3.2實(shí)驗(yàn)內(nèi)容

(1)認(rèn)真閱讀本章內(nèi)容,驗(yàn)證本章所有例題,將這些例題保存在一個(gè)工程文件之中,工程文件名為ex03.vbp,每一個(gè)例題存一個(gè)窗體文件。調(diào)試程序時(shí)注意設(shè)置啟動(dòng)窗體。

(2)請(qǐng)按照如下步驟驗(yàn)證第3章中的一段話:

“文本框Text屬性的值為字符串,如果輸入的是數(shù)字字串,并要在程序中進(jìn)行數(shù)值加法運(yùn)算或數(shù)值比較時(shí),最好用Val函數(shù)將字符串轉(zhuǎn)化為數(shù)值類型”。

第一步,添加一個(gè)新窗體并設(shè)置成啟動(dòng)窗體。在窗體上添加3個(gè)文本框、4個(gè)命令按鈕,界面如實(shí)驗(yàn)圖3-1所示。實(shí)驗(yàn)圖3-1第二步,在窗體的Load事件中為各控件對(duì)象設(shè)置屬性。文本框Text為空,4個(gè)命令按鈕標(biāo)題分別為“相加”、“相乘”、“相減”、“相比較”。

第三步,完成按鈕代碼。各按鈕單擊事件代碼分別是:

Text3.Text=Text1.Text+Text2.Text'相加

Text3.Text=Text1.Text-Text2.Text'相減

Text3.Text=Text1.Text*Text2.Text'相乘

Text3.Text=Text1.Text>Text2.Text'相比較

第四步,運(yùn)行窗體。若在Text1中輸入12,Text2中輸入6,分別單擊4個(gè)按鈕,先分析可能出現(xiàn)的結(jié)果,再驗(yàn)證。

第五步,修改代碼。將Text1和Text2的值先用Val進(jìn)行類型轉(zhuǎn)換,再重做第四步,分析所得結(jié)果并驗(yàn)證。第六步,修改代碼。在Text1和Text2兩個(gè)值中,任意只對(duì)一個(gè)進(jìn)行類型轉(zhuǎn)換,再次進(jìn)行第四步,分析所得結(jié)果并驗(yàn)證。

對(duì)所得到的結(jié)果請(qǐng)從第2和第3章中找到理論依據(jù)并寫出實(shí)驗(yàn)小結(jié)。

(3)模仿例3-6,用文本框的KeyDown事件測(cè)出“A”、“a”、“End”、“5”(主鍵盤)、“5”(數(shù)字鍵盤)等鍵的KeyCode碼值。能否得出這樣的結(jié)論:“一個(gè)鍵的KeyAscii值與鍵本身字符有關(guān),如主鍵盤的5和數(shù)字鍵盤的5的KeyAscii值相同,而KeyCode值與鍵的位置有關(guān)。”*(4)自行設(shè)計(jì)實(shí)驗(yàn),檢測(cè)如果向一個(gè)文本框中輸入一個(gè)字符時(shí),KeyDown和KeyPress事件誰(shuí)先被觸發(fā)。寫出檢測(cè)方案、代碼及結(jié)果。

(5)在本實(shí)驗(yàn)內(nèi)容(1)的ex03工程中添加一個(gè)窗體,將該窗體設(shè)置為啟動(dòng)窗體,窗體上添加3個(gè)命令按鈕,其中分別寫入代碼“Form1.Show”、“Form2.Show”、“Form3.Show”。運(yùn)行窗體,單擊各命令按鈕,體會(huì)這個(gè)窗體的功能。試想一下,如果多增加一些按鈕,將該工程的所有窗體都放在一個(gè)按鈕下調(diào)用,那這個(gè)工程中的所有窗體都可以被這個(gè)窗體所聯(lián)系了。當(dāng)然,還可以用菜單代替按鈕,大家在學(xué)習(xí)過程中可以自行解決。

(6)編譯工程,生成EXE文件,并在Windows的資源管理器中運(yùn)行該EXE文件。3.3常見錯(cuò)誤分析

(1)注意運(yùn)算符的功能。

文本框和InputBox函數(shù)獲得的數(shù)字為字符串型,在使用這些數(shù)據(jù)時(shí)要注意參與的運(yùn)行符能否具有自動(dòng)轉(zhuǎn)換類型的功能。

(2)類型不匹配問題。

使用InputBox函數(shù)獲得數(shù)據(jù)時(shí),如果在出現(xiàn)的對(duì)話框中沒有輸入任何數(shù)據(jù)就按了“取消”按鈕,則變量獲得的是一個(gè)空字符串,空字符串參與數(shù)學(xué)運(yùn)算時(shí)會(huì)出現(xiàn)“類型不匹配”錯(cuò)誤,因?yàn)榭兆址荒茏詣?dòng)轉(zhuǎn)換為數(shù)值型。

(3)控件對(duì)象的相關(guān)屬性問題。

例如文本框的MultiLine和ScrollBars屬性就為相關(guān)屬性,要設(shè)置后者必須先對(duì)前者有正確的設(shè)置。命令按鈕的Style和Picture屬性也一樣。

(4)設(shè)置啟動(dòng)窗體問題。

初學(xué)者在編寫代碼時(shí),經(jīng)常由于忘記設(shè)置啟動(dòng)窗體,使得新添加的窗體沒法運(yùn)行。

(5)窗體文件與工程文件關(guān)系的問題。

一定要注意,一個(gè)工程文件可以包含多個(gè)窗體文件,但這些窗體文件的“名稱”屬性不能相同。一個(gè)窗體文件可以被多個(gè)工程所包含。

實(shí)驗(yàn)4基本控制結(jié)構(gòu)應(yīng)用

一、順序結(jié)構(gòu)實(shí)驗(yàn)

4.1.1實(shí)驗(yàn)?zāi)康?/p>

(1)熟悉簡(jiǎn)單VB程序的功能組成和每部分功能實(shí)現(xiàn)的具體方法。

(2)掌握提供數(shù)據(jù)的基本方法和應(yīng)用。

(3)掌握賦值語(yǔ)句在數(shù)據(jù)運(yùn)算中的功能和使用方法。

(4)掌握輸出數(shù)據(jù)的基本方法和應(yīng)用。

(5)學(xué)習(xí)順序結(jié)構(gòu)程序設(shè)計(jì)方法。4.1.2實(shí)驗(yàn)內(nèi)容

(1)調(diào)試順序結(jié)構(gòu)有關(guān)例題,掌握數(shù)據(jù)輸入、輸出的方法,熟悉順序結(jié)構(gòu)程序設(shè)計(jì)方法。

(2)編程實(shí)現(xiàn)兩個(gè)數(shù)的和、差、積、商的運(yùn)算。

(3)完成第4章習(xí)題中有關(guān)順序結(jié)構(gòu)的編程題。

4.1.3常見錯(cuò)誤分析

(1)算術(shù)表達(dá)式書寫引起的語(yǔ)法錯(cuò)誤及邏輯錯(cuò)誤。

如在雞兔同籠問題中,書寫賦值語(yǔ)句時(shí),初學(xué)者常會(huì)按數(shù)學(xué)上的習(xí)慣寫成:

x?=?(4h-f)/2

y?=?(f-2h)/2這種錯(cuò)誤VB能在錄入代碼過程中檢查出來,并用紅色字體顯示,這種錯(cuò)誤稱為語(yǔ)法錯(cuò)誤。

有些錯(cuò)誤為邏輯錯(cuò)誤,程序運(yùn)行時(shí)一切正常,但輸出結(jié)果不對(duì)。由于VB無法報(bào)告出這種錯(cuò)誤,初學(xué)者一般不易發(fā)現(xiàn),這就要求在學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言時(shí)注意培養(yǎng)學(xué)習(xí)的嚴(yán)謹(jǐn)性。

(2)運(yùn)算符“&”用法。

“&”既可作為字符串連接運(yùn)算符,也可當(dāng)做長(zhǎng)整型數(shù)據(jù)的尾符,還可作為非十進(jìn)制數(shù)的前導(dǎo)符號(hào),因此“&”在用于連接字符串時(shí),左右兩邊必須要用一個(gè)以上的空格分隔。

例如,在變量引用時(shí)使用“ab&”,其中的“&”用于說明變量ab是長(zhǎng)整型數(shù);語(yǔ)句“a=&h10”中的“&”則為非十進(jìn)制數(shù)的前導(dǎo)符號(hào),表示將十六進(jìn)制數(shù)10賦給變量a(其實(shí)相當(dāng)于語(yǔ)句“a=16”);而對(duì)于語(yǔ)句“a=123&456”,由于VB系統(tǒng)不能判斷這個(gè)“&”到底是尾符,還是前導(dǎo)符,或是字符串連接運(yùn)算符,因此會(huì)出現(xiàn)錯(cuò)誤。

(3)交換兩個(gè)變量的值。

交換兩個(gè)變量的值是程序設(shè)計(jì)中常用到的操作。如要交換變量x、y的值,初學(xué)者會(huì)使用“x=y:y=x”,結(jié)果會(huì)造成了變量x值的丟失。正確的做法應(yīng)是引入中間變量,用語(yǔ)句組“t=x:x=y:y=t”實(shí)現(xiàn)。

(4)程序設(shè)計(jì)應(yīng)注意的問題。

設(shè)計(jì)程序時(shí),請(qǐng)按程序設(shè)計(jì)的一般方法步驟進(jìn)行:分析→設(shè)計(jì)算法→編寫代碼→調(diào)試運(yùn)行→驗(yàn)證,這樣有利于學(xué)習(xí)程序設(shè)計(jì)方法和編寫正確的程序。

注意程序結(jié)構(gòu)和語(yǔ)句的書寫順序,應(yīng)先提供數(shù)據(jù),再運(yùn)算,最后輸出,語(yǔ)句書寫順序不正確將會(huì)導(dǎo)致整個(gè)程序出錯(cuò)。二、選擇結(jié)構(gòu)實(shí)驗(yàn)

4.2.1實(shí)驗(yàn)?zāi)康?/p>

(1)通過實(shí)驗(yàn)掌握選擇結(jié)構(gòu)中每種結(jié)構(gòu)的語(yǔ)法格式及執(zhí)行過程。

(2)掌握條件函數(shù)的調(diào)用格式和返回值。

(3)學(xué)習(xí)順序結(jié)構(gòu)程序設(shè)計(jì)方法,培養(yǎng)使用選擇結(jié)構(gòu)解決實(shí)際問題的基本能力。

(4)掌握提高程序可讀性的基本方法(縮進(jìn)格式書寫程序代碼、注釋等)。4.2.2實(shí)驗(yàn)內(nèi)容

(1)調(diào)試第4章中的相關(guān)例題,學(xué)習(xí)If結(jié)構(gòu)的語(yǔ)法格式和執(zhí)行過程。注意提高程序可讀性的基本方法,如縮進(jìn)式書寫程序、在程序中增加注釋等。

(2)調(diào)試第4章中的相關(guān)例題,學(xué)習(xí)SelectCase結(jié)構(gòu)的語(yǔ)法格式、條件書寫方法和執(zhí)行過程。

(3)完成第4章習(xí)題中有關(guān)選擇結(jié)構(gòu)的編程題。4.2.3常見錯(cuò)誤分析

(1)選擇結(jié)構(gòu)格式錯(cuò)誤。

①在塊If結(jié)構(gòu)中缺少EndIf。

②行If結(jié)構(gòu)中多寫了EndIf。

③在多分支結(jié)構(gòu)中將“ElseIf”寫成“Else?If”。

(2)?SelectCase結(jié)構(gòu)中的條件書寫錯(cuò)誤。

SelectCase結(jié)構(gòu)中,Case子句中的測(cè)試表達(dá)式有多種格式,在應(yīng)用時(shí),必須嚴(yán)格遵照格式規(guī)定書寫。具體格式請(qǐng)查本書中相關(guān)內(nèi)容。下面列舉兩例常見錯(cuò)誤:

①若測(cè)試條件的格式為:

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

這里要求表達(dá)式1的值應(yīng)小于表達(dá)式2的值,當(dāng)大于時(shí)就不會(huì)得到結(jié)果。

②若測(cè)試條件的格式為:

is表達(dá)式

既不能寫成“xis>0”,也不能寫成邏輯表達(dá)式,如“xis>0Andxis<10”等。

(3)多分支條件書寫不當(dāng)引起邏輯錯(cuò)誤。

例如,根據(jù)輸入的100分制成績(jī)(cj),顯示對(duì)應(yīng)五級(jí)的評(píng)定結(jié)構(gòu)。條件如下:

以下幾種表示方法在語(yǔ)法上均沒有錯(cuò),但執(zhí)行結(jié)果有所不同,請(qǐng)分析哪些是正確的?哪些是錯(cuò)誤的?三、循環(huán)結(jié)構(gòu)實(shí)驗(yàn)

4.3.1實(shí)驗(yàn)?zāi)康?/p>

(1)通過實(shí)驗(yàn)掌握循環(huán)結(jié)構(gòu)的語(yǔ)法結(jié)構(gòu)及執(zhí)行過程。

(2)培養(yǎng)閱讀程序的能力,掌握使用循環(huán)結(jié)構(gòu)編寫簡(jiǎn)單程序的方法。

(3)掌握循環(huán)嵌套的語(yǔ)法結(jié)構(gòu)及執(zhí)行過程。

(4)學(xué)習(xí)使用循環(huán)嵌套分析問題的思路和算法設(shè)計(jì)的方法,培養(yǎng)用其解決復(fù)雜問題的能力。4.3.2實(shí)驗(yàn)內(nèi)容

(1)閱讀和調(diào)試第4章中的相關(guān)例題,理解程序的執(zhí)行過程,體會(huì)用循環(huán)結(jié)構(gòu)編程的思路。

(2)理解For…Next結(jié)構(gòu)及執(zhí)行過程,并將用For結(jié)構(gòu)完成的例題試著改寫成Do結(jié)構(gòu)。

(3)理解循環(huán)嵌套的結(jié)構(gòu)及執(zhí)行過程,掌握循環(huán)嵌套的執(zhí)行過程及注意事項(xiàng),培養(yǎng)用循環(huán)嵌套解決復(fù)雜問題的能力。

(4)閱讀和調(diào)試4.5節(jié)“應(yīng)用舉例”部分有關(guān)程序,學(xué)習(xí)其算法設(shè)計(jì)和實(shí)現(xiàn)方法。

(5)完成第4章習(xí)題中有關(guān)循環(huán)結(jié)構(gòu)的編程題。4.3.3常見錯(cuò)誤分析

(1)累加(積)器與計(jì)數(shù)器變量賦初值的問題。

在循環(huán)中,常用到累加(積)與計(jì)數(shù),對(duì)累加(積)器與計(jì)數(shù)器變量賦初值和書寫位置,往往是初學(xué)者容易搞錯(cuò)的。

例如,求1!?+?2!?+?3!?+?4!?+?5!。如果將程序代碼寫為:

(2)?For循環(huán)體中改變了循環(huán)變量的值。

在For循環(huán)體中改變了循環(huán)變量的值,從而改變了循環(huán)次數(shù),如下述代碼中的語(yǔ)句造成了循環(huán)次數(shù)的減少。

Fori=1To15

i=i+1

printi

Nexti

循環(huán)次數(shù)為8次,而不是15次。所以在For循環(huán)中最好不要采用這種格式。

(3)循環(huán)體不執(zhí)行。

For循環(huán)中,當(dāng)步長(zhǎng)大于0且循環(huán)變量的終值小于初值時(shí),或當(dāng)步長(zhǎng)小于0且循環(huán)變量的終值大于初值時(shí),循環(huán)體均不會(huì)執(zhí)行。

(4)死循環(huán)問題。

引起死循環(huán)的原因較多,可用Ctrl?+?Break鍵強(qiáng)行退出循環(huán)。下面列舉幾個(gè)常見的引起死循環(huán)的實(shí)例。

①Do循環(huán)中缺少改變循環(huán)控制變量值的語(yǔ)句。

例如,例4-13計(jì)算1?+?2?+?3?+?…?+?10的值,其程序代碼為:如果將循環(huán)體中的語(yǔ)句i=i+1去掉,即循環(huán)變量i的值保持初值不變,循環(huán)條件永遠(yuǎn)成立,程序運(yùn)行將會(huì)出現(xiàn)死循環(huán)。

②循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長(zhǎng)設(shè)置存在問題,循環(huán)將永遠(yuǎn)不能正常結(jié)束。例如,在求s=1+3+5+7+9時(shí),若用如下代碼實(shí)現(xiàn):

n=1:s=0

DoUntiln=10

s=s+n

n=n+2

Loop

MsgBoxs則程序運(yùn)行進(jìn)入死循環(huán)。其原因是n初值為1,每次循環(huán)都加2,則n的變化規(guī)律是1、3、5、7、9、11,不可能出現(xiàn)等于10的情況,所以“n=10”的條件永遠(yuǎn)不可能滿足,循環(huán)就不能正常結(jié)束。若將條件改為“n>=10”,就可以避免死循環(huán)現(xiàn)象。

為了及時(shí)跟蹤循環(huán)變量的變化情況,可以在循環(huán)中加入MsgBox函數(shù)顯示循環(huán)變量的值。對(duì)于以上循環(huán),在Loop之前加上“MsgBoxn”,則每執(zhí)行一次循環(huán)都會(huì)出現(xiàn)一個(gè)對(duì)話框,顯示變量n的值。實(shí)驗(yàn)圖4-1可以看到,對(duì)于程序控制結(jié)構(gòu),VB采用后進(jìn)先出的原則。所謂后進(jìn)先出,就是按程序代碼的先后順序,后出現(xiàn)的控制結(jié)構(gòu)應(yīng)先結(jié)束。由于If結(jié)構(gòu)出現(xiàn)在For結(jié)構(gòu)之后,所以應(yīng)先有EndIf,才能有Nexti,在沒有遇到EndIf之前的所有語(yǔ)句都被認(rèn)為是屬于If結(jié)構(gòu)的(除非在If結(jié)構(gòu)中又有新的結(jié)構(gòu)出現(xiàn))。所以本程序中的Nexti被認(rèn)為是屬于If結(jié)構(gòu)中的循環(huán)結(jié)束語(yǔ)句,但在這個(gè)If結(jié)構(gòu)中又沒有For語(yǔ)句,因此會(huì)出現(xiàn)如實(shí)驗(yàn)圖4-1所示對(duì)話框。

要解決這個(gè)問題,一個(gè)比較好的方法是嚴(yán)格按照程序的縮進(jìn)規(guī)范書寫程序,以避免漏掉語(yǔ)句,造成結(jié)構(gòu)不完整的錯(cuò)誤。實(shí)驗(yàn)圖4-2

實(shí)驗(yàn)5數(shù)組與自定義數(shù)據(jù)類型

5.1實(shí)驗(yàn)?zāi)康?/p>

(1)通過實(shí)驗(yàn)理解數(shù)組的概念與作用。

(2)掌握靜態(tài)數(shù)組與動(dòng)態(tài)數(shù)組的定義方法和使用方法。

(3)掌握為數(shù)組賦值的幾種方法及各自特點(diǎn)。

(4)掌握一維數(shù)組和二維數(shù)組的輸出方法。

(5)掌握與數(shù)組有關(guān)的算法,包括排序、求極值、統(tǒng)計(jì)、查詢等。5.2實(shí)驗(yàn)內(nèi)容

(1)閱讀和調(diào)試?yán)?-1~例5-3,體會(huì)靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組的區(qū)別,理解使用數(shù)組編程的步驟和方法。

(2)閱讀和調(diào)試?yán)?-11,體會(huì)使用二維數(shù)組編程的步驟,以及對(duì)二維數(shù)組元素提供數(shù)據(jù)、輸出數(shù)據(jù)的方法和程序結(jié)構(gòu)。

(3)閱讀和調(diào)試?yán)?-13,掌握自定義數(shù)據(jù)類型的定義格式、聲明自定義數(shù)據(jù)類型變量的語(yǔ)法格式、自定義數(shù)據(jù)類型字段的引用格式。

(4)完成習(xí)題中的編程題。實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)備:

在利用數(shù)組處理問題的練習(xí)中,經(jīng)常會(huì)用到大量的數(shù)據(jù),如果這些數(shù)據(jù)都從鍵盤上錄入會(huì)非常麻煩,我們可以利用Excel來生成大量的實(shí)驗(yàn)數(shù)據(jù)。下面以為例5-13生成實(shí)驗(yàn)數(shù)據(jù)為例介紹具體方法。

(1)啟動(dòng)Excel,新建一個(gè)工作簿,留下第A列作為姓名列,將光標(biāo)定位于B1單元格,輸入公式“=int(rand()*51)+50”,可以生成[50,100]范圍內(nèi)的隨機(jī)數(shù),向下拖動(dòng)B1單元格的填充柄,即可生成一列數(shù)據(jù),如實(shí)驗(yàn)圖5-1所示。實(shí)驗(yàn)圖5-1

(2)選中B1:D10單元格區(qū)域,用Ctrl?+?R實(shí)現(xiàn)向右填充,即可生成需要的數(shù)據(jù),如實(shí)驗(yàn)圖5-2所示。實(shí)驗(yàn)圖5-2

(3)選中A1:D10單元格區(qū)域,復(fù)制后粘貼到Word中一個(gè)空白文檔中,如實(shí)驗(yàn)圖5-3所示??梢缘玫揭粋€(gè)表格,選中表格,在系統(tǒng)菜單中選擇“表格”→“轉(zhuǎn)換”→“表格轉(zhuǎn)換成文本”。

再將轉(zhuǎn)換后的內(nèi)容另存為“純文本(*.txt)”文件類型即可。實(shí)驗(yàn)圖5-35.3常見錯(cuò)誤分析

(1)數(shù)組未定義直接使用。

可能由于受到使用簡(jiǎn)單變量的影響,不少讀者經(jīng)常會(huì)犯不定義數(shù)組而直接引用數(shù)組元素的錯(cuò)誤。例如,下述代碼想實(shí)現(xiàn)為數(shù)組a中的元素賦值(此時(shí)a為未定義數(shù)組):

Fori=1To10

a(i)=2*i-1

Nexti

運(yùn)行該程序,出現(xiàn)實(shí)驗(yàn)圖5-4所示的對(duì)話框。對(duì)話框提示信息表明,對(duì)于未定義而直接使用的數(shù)組a,VB系統(tǒng)把a(bǔ)(i)當(dāng)做子程序或函數(shù)調(diào)用處理,而不是作為數(shù)組元素對(duì)待。實(shí)驗(yàn)圖5-4

(2)?Dim語(yǔ)句聲明靜態(tài)數(shù)組出錯(cuò)。

例如程序段:

n=InputBox("請(qǐng)輸入待處理的數(shù)據(jù)個(gè)數(shù)")

Dima(n)

程序運(yùn)行時(shí)出現(xiàn)中斷,將在Dim語(yǔ)句處顯示“要求常數(shù)表達(dá)式”對(duì)話框,即Dim語(yǔ)句中聲明的靜態(tài)數(shù)組上、下界必須是常數(shù)或常數(shù)表達(dá)式,不能是變量或含變量的表達(dá)式。若使用動(dòng)態(tài)數(shù)組,應(yīng)將以上程序段改為:

Dima()

n=InputBox("請(qǐng)輸入待處理的數(shù)據(jù)個(gè)數(shù)")

ReDima(n)

(3)使用OptionBase語(yǔ)句位置錯(cuò)誤。

使用OptionBase語(yǔ)句可改變數(shù)組元素下標(biāo)的最小值。若將OptionBase放在事件過程中,將會(huì)出現(xiàn)“無效內(nèi)部過程”錯(cuò)誤。通常是將OptionBase語(yǔ)句放在程序的聲明段中。

(4)使用數(shù)組時(shí)下標(biāo)越界。

使用數(shù)組時(shí)引用了不存在的數(shù)組元素,即使用時(shí)的下標(biāo)在數(shù)組聲明時(shí)的下標(biāo)范圍之外。這是初學(xué)者常犯的錯(cuò)誤。比如,在求斐波那契數(shù)列前20項(xiàng)時(shí),正確的程序如下:

Dima(1To20)AsLong,i%

a(1)=1

a(2)=1

Fori=3To20

a(i)=a(i-1)+a(i-2)

Nexti

如果將“Fori=3To20”改成“Fori=1To20”,程序運(yùn)行時(shí)會(huì)顯示如實(shí)驗(yàn)圖5-5所示信息。這是因?yàn)楫?dāng)?shù)谝淮窝h(huán)時(shí),i=1,a(i-1)和a(i-2)分別指的是a(0)和a(-1),而定義數(shù)組時(shí)的下標(biāo)范圍為1~20,所以下標(biāo)越界。實(shí)驗(yàn)圖5-5

(5)數(shù)組維數(shù)錯(cuò)誤。

如果數(shù)組聲明時(shí)的維數(shù)與引用數(shù)組元素時(shí)的維數(shù)不一致,會(huì)出現(xiàn)這種錯(cuò)誤。如下面程序段:

Dima%(4,4)

Fori=1To4

Forj=1To4

a(i)=i*j

Nextj

Nexti程序運(yùn)行到“a(i)=i*j”時(shí)出現(xiàn)“維數(shù)錯(cuò)誤”,這是因?yàn)槎xa時(shí)是二維數(shù)組,而引用時(shí)卻是一維的。

(6)?Array和Split函數(shù)使用問題。

Array和Split函數(shù)能夠很方便地為數(shù)組賦值,但要注意二者的區(qū)別。

實(shí)驗(yàn)6過程

6.1實(shí)驗(yàn)?zāi)康?/p>

(1)通過實(shí)驗(yàn)理解過程的基本概念。

(2)創(chuàng)建過程的作用、方法和過程調(diào)用方法。

(3)理解Sub過程和Function過程的異同。

(4)掌握過程調(diào)用時(shí)參數(shù)傳遞的兩種方式及特點(diǎn)。

(5)理解過程、變量的作用域。

(6)具備使用過程編寫簡(jiǎn)單程序的能力。

(7)理解遞歸的概念及編程方法和特點(diǎn)。6.2實(shí)驗(yàn)內(nèi)容

(1)驗(yàn)證第6章中的所有例題,理解過程中形參的類型、作用,并將例6-1、例6-3、例6-5、例6-6、例6-10~例6-14題中涉及到的過程,仿照下面給出的示例寫出相關(guān)信息。

示例:下面給出求N!?的Function過程和Sub過程,過程名分別為funfact和subfact。

Function過程代碼為:相關(guān)信息描述如下:

過程名:funfact

類型:Function過程

參數(shù)說明:參數(shù)n為傳值方式,類型為整型,因?yàn)橹荒転檎蛿?shù)求階乘

傳出結(jié)果:通過函數(shù)名funfact返回結(jié)果

結(jié)果類型:雙精度型,因?yàn)殡p精度型表示的數(shù)的范圍最大

Sub過程代碼為:相關(guān)信息描述如下:

過程名:subfact

類型:Sub過程

參數(shù)說明:參數(shù)n為傳值方式,類型為整型,因?yàn)橹荒転檎蛿?shù)求階乘

傳出結(jié)果:通過形參f傳出計(jì)算結(jié)果,調(diào)用時(shí),與之對(duì)應(yīng)的實(shí)參應(yīng)為同類型的變量

結(jié)果類型:雙精度型,因?yàn)殡p精度型表示的數(shù)的范圍最大

(2)完成第6章習(xí)題中編程題的4、5、7題。6.3常見錯(cuò)誤分析

本章是教學(xué)中的難點(diǎn),教與學(xué)兩方面均存在一定的困難。下面所分析的問題,有的是編程中遇到的,有的是上機(jī)實(shí)習(xí)中遇到的。

(1)使用Function過程還是Sub過程。

過程是一個(gè)具有某種功能的獨(dú)立程序段,可供程序多次調(diào)用。對(duì)于一個(gè)具體問題,既可以使用Function過程,也可以使用Sub過程。但Sub過程與Function過程還是有區(qū)別的,Sub過程的過程名僅標(biāo)識(shí)過程本身;Function過程的過程名除了標(biāo)識(shí)過程本身以外,還有返回值的作用。因此,若過程有一個(gè)返回值時(shí),則習(xí)慣使用Function過程,并通過函數(shù)名返回函數(shù)值;若過程不需要返回值或返回多個(gè)值時(shí),則使用Sub過程。返回值通過實(shí)參與形參的結(jié)合帶回,當(dāng)然也可通過Function過程名帶回一個(gè)結(jié)果,其余通過實(shí)參與形參的結(jié)合帶回。

(2)過程中形參的個(gè)數(shù)和傳遞方式的確定。

對(duì)初學(xué)者,若定義過程時(shí)在確定形參的個(gè)數(shù)和傳遞方式時(shí)存在問題,可從如下方面考慮問題:

首先,理解形參和實(shí)參的作用。一方面,調(diào)用程序?yàn)镾ub過程或Function過程通過實(shí)參傳遞實(shí)際處理對(duì)象;另一方面,Sub過程通過地址傳遞方式將結(jié)果傳遞給調(diào)用程序,F(xiàn)unction過程通過地址傳遞方式或函數(shù)名將結(jié)果傳遞給調(diào)用程序。形參的個(gè)數(shù)和類型就是由上述兩方面決定的。對(duì)初學(xué)者,往往喜歡把過程體中用到的所有變量全作為形參,這樣就增加了調(diào)用者的負(fù)擔(dān)和出錯(cuò)概率;也有的初學(xué)者全部省略了形參,則無法實(shí)現(xiàn)數(shù)據(jù)的傳遞,既不能從調(diào)用者得到初值,也無法將計(jì)算結(jié)果傳遞給調(diào)用者。

其次,理解參數(shù)傳遞的方式和特點(diǎn)。VB中形參與實(shí)參的結(jié)合有傳值和傳地址兩種方式。傳值方式只能從調(diào)用程序向過程傳入初值,但不能將結(jié)果傳出;而地址傳遞既可傳入,又可傳出。

最后,注意實(shí)現(xiàn)傳值和傳地址對(duì)形參和實(shí)參的要求。在定義過程時(shí),在形參前加ByVal關(guān)鍵字或過程調(diào)用時(shí)變量加圓括號(hào),數(shù)據(jù)傳遞按照傳值方式;如果在形參前加ByRef關(guān)鍵字或省略(默認(rèn))或?qū)崊⑹菙?shù)組、自定義類型、對(duì)象變量等,參數(shù)傳遞只能是地址傳遞。

(3)實(shí)參和形參類型對(duì)應(yīng)問題。

第一,在地址傳遞方式時(shí),調(diào)用過程的實(shí)參與形參類型要一致。例如:

函數(shù)過程定義如下:

PublicFunctionf!(x!)

f=x+x

EndFunction

主調(diào)用程序如下:

PrivateSubCommand1_Click()

Dimy%

y=3

Printf(y)

EndSub上例形參x是單精度型,實(shí)參y是整型,程序運(yùn)行時(shí)會(huì)顯示“ByRef參數(shù)類型不符”的編譯出錯(cuò)信息。

第二,在值傳遞時(shí),若是數(shù)值型,則實(shí)參按形參的類型將值傳遞給形參。例如,

函數(shù)過程定義如下:

PublicFunctionf!(ByValx%)

f=x+x

EndFunction主調(diào)用程序如下:

PrivateSubCommand1_Click()

Dimy!

y=3.4

Printf(y)

EndSub

程序運(yùn)行后顯示的結(jié)果是6。因?yàn)檎{(diào)用程序聲明y的類型為單精度類型,對(duì)應(yīng)位置上的形參x的類型為整型數(shù)據(jù)類型,實(shí)參y和形參x按照值傳遞方式,因此實(shí)參按形參的類型將值傳遞給形參,即y的值3.4傳給x時(shí),x接收的值為3。

(4)變量的生命周期。

過程級(jí)動(dòng)態(tài)變量是在過程調(diào)用時(shí)分配變量的存儲(chǔ)空間,當(dāng)過程調(diào)用結(jié)束,回收分配的存儲(chǔ)空間,也就是調(diào)用一次,初始化一次,變量不保存值;過程級(jí)靜態(tài)變量是當(dāng)過程調(diào)用結(jié)束后,其值還保留。

示例:一個(gè)窗體上有一個(gè)文本框和一個(gè)命令按鈕,向文本框中每輸入一個(gè)數(shù)據(jù),再單擊命令按鈕后可將這些數(shù)累加起來。如果代碼如下:

PrivateSubCommand1_Click()

Dims!,x!

x=Text1.Text

s=s+x

MsgBox"目前累加的結(jié)果是:"&s

EndSub

則每次運(yùn)行后得到的結(jié)果都只能是最后一次錄入的那個(gè)數(shù)。將程序中“Dims!,x!”改為“Statics!,x!”,即可達(dá)到要求的結(jié)果。

窗體級(jí)變量的特點(diǎn)是:當(dāng)窗體裝入,分配該變量的存儲(chǔ)空間,直到該窗體從內(nèi)存卸掉,才回收該變量分配的存儲(chǔ)空間。

實(shí)驗(yàn)7數(shù)據(jù)文件

7.1實(shí)驗(yàn)?zāi)康?/p>

(1)通過實(shí)驗(yàn)掌握數(shù)據(jù)文件的概念。

(2)理解順序文件、隨機(jī)文件和二進(jìn)制文件的存取特點(diǎn)。

(3)掌握建立、讀取、修改順序文件的方法與步驟。

(4)掌握建立、讀取、修改隨機(jī)文件的方法與步驟。

(5)了解VB中常用的文件操作語(yǔ)句和函數(shù)。

7.2實(shí)驗(yàn)內(nèi)容

(1)完成本章涉及到的所有例題,注意,為了便于說明,本書中將所生成的數(shù)據(jù)文件均寫在了“C:\”下,實(shí)驗(yàn)時(shí)最好與讀者的程序文件放在同一文件夾中。

(2)完成習(xí)題中編程題的2、3、4、5題。7.3常見錯(cuò)誤分析

(1)順序文件打開方式錯(cuò)誤。

Open語(yǔ)句中的打開文件的方式不同,其作用也是不同的,不得隨意相互替代。如果打開方式為“ForOutput”方式,表示建立新文件;如果為“ForInput”方式,表示讀取已經(jīng)存在的文件。例如,在讀取一個(gè)文件時(shí)使用了“ForOutput”方式,則會(huì)覆蓋原來的全部數(shù)據(jù)。

(2)建立和訪問文件時(shí)使用相對(duì)路徑,以避免找不到文件的錯(cuò)誤。

如果在建立文件時(shí)不帶路徑,VB會(huì)將文件建立在默認(rèn)文件夾下,此時(shí)如果應(yīng)用程序和文件不在同一文件夾下,或訪問文件時(shí)忘記指明路徑,就會(huì)出現(xiàn)找不到文件的錯(cuò)誤。解決此問題的方法是使用相對(duì)路徑,在建立和使用數(shù)據(jù)文件時(shí),文件路徑都用“App.Path”,則數(shù)據(jù)文件就會(huì)與應(yīng)用程序在同一個(gè)文件夾下,也就避免出現(xiàn)“文件找不到”的錯(cuò)誤。例如,

OpenApp.Path&"\testfile.dat"ForOutputAs#1

建立了一個(gè)名為testfile.dat的數(shù)據(jù)文件,文件與應(yīng)用程序同在一個(gè)文件夾下。

(3)文件使用完畢應(yīng)及時(shí)關(guān)閉,避免不必要的錯(cuò)誤。

使用數(shù)據(jù)文件有一個(gè)基本要求是:使用時(shí)應(yīng)打開,使用完畢應(yīng)及時(shí)關(guān)閉。如果不及時(shí)關(guān)閉文件會(huì)產(chǎn)生以下問題:

第一,不能及時(shí)釋放內(nèi)存空間,占用大量資源。

第二,只有關(guān)閉文件才能斷開數(shù)據(jù)文件與內(nèi)存緩沖區(qū)的聯(lián)系,也才能保證文件完整地保存到磁盤上;否則容易造成數(shù)據(jù)丟失。

第三,在下一次打開這個(gè)文件時(shí),會(huì)出現(xiàn)“文件已打開”的錯(cuò)誤信息,也就會(huì)影響程序的運(yùn)行。

第四,在刪除或修改時(shí)會(huì)出現(xiàn)錯(cuò)誤。

實(shí)驗(yàn)8常用控件

8.1實(shí)驗(yàn)?zāi)康?/p>

(1)熟練掌握計(jì)時(shí)控件、選擇性控件(單選按鈕和復(fù)選框)、列表框和組合框的常用屬性、方法和事件。

(2)掌握框架控件、文件系統(tǒng)控件和滾動(dòng)條控件的常用屬性、方法和事件。

(3)掌握ActiveX控件的使用方法。

(4)了解常用ActiveX控件的使用:ProgressBar控件、Slider控件、ListView控件、TreeView控件及SSTab控件。8.2實(shí)驗(yàn)內(nèi)容

(1)完成本章例8-2~例8-5、例8-7、例8-9和例8-10,掌握常用內(nèi)部控

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論