![VB第一部分實驗指導書_第1頁](http://file4.renrendoc.com/view/d9ef25363ccd157dd5d80ac7095abe4b/d9ef25363ccd157dd5d80ac7095abe4b1.gif)
![VB第一部分實驗指導書_第2頁](http://file4.renrendoc.com/view/d9ef25363ccd157dd5d80ac7095abe4b/d9ef25363ccd157dd5d80ac7095abe4b2.gif)
![VB第一部分實驗指導書_第3頁](http://file4.renrendoc.com/view/d9ef25363ccd157dd5d80ac7095abe4b/d9ef25363ccd157dd5d80ac7095abe4b3.gif)
![VB第一部分實驗指導書_第4頁](http://file4.renrendoc.com/view/d9ef25363ccd157dd5d80ac7095abe4b/d9ef25363ccd157dd5d80ac7095abe4b4.gif)
![VB第一部分實驗指導書_第5頁](http://file4.renrendoc.com/view/d9ef25363ccd157dd5d80ac7095abe4b/d9ef25363ccd157dd5d80ac7095abe4b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
年4月19日VB第一部分實驗指導書文檔僅供參考實驗一VisualBasic集成開發(fā)環(huán)境和程序設(shè)計初步實驗目的:了解VisualBasic系統(tǒng)對計算機軟、硬件的要求。掌握啟動與退出VisualBasic的方法。了解VisualBasic集成環(huán)境的組成,各部分的作用。掌握建立、編輯和運行一個簡單的VisualBasic應用程序的全過程。掌握常見控件(文本框、標簽、命令按鈕)的應用。感性認識控件(對象)、過程、事件、屬性等的概念,初步認識窗體、控件、屬性、過程在程序設(shè)計中的作用和關(guān)系。實驗內(nèi)容:建立一個“標準exe”類型的應用程序,要求單擊“確定”按鈕,在屏幕上顯示“您好,世界!”,單擊“退出”按鈕,退出應用程序。界面如圖1-1所示,以sy1.frm、sy1.vbp和sy1.exe文件保存到自己的軟盤上。圖1-1實驗準備:復習相關(guān)知識:1)VB集成化開發(fā)環(huán)境2)建立VB應用程序2.準確寫出兩事件代碼,列出各控件所需屬性(屬性項目和屬性值)。實驗步驟:1.VisualBasic6.0中文版的啟動與退出。啟動:1)單擊“開始”按鈕,然后選擇“程序”中“MicrosoftVisualBasic6.0中文版”,單擊即可。或:單擊桌面上“MicrosoftVisualBasic6.0中文版”圖標,2)新建工程對話框,單擊打開“標準exe”按鈕,進入環(huán)境。退出:1)單擊集成環(huán)境窗口右上角的關(guān)閉按鈕。2)單擊“文件”下拉菜單中的“退出”選項。2.界面設(shè)計:(1)添加標簽Label1。(2)添加命令按鈕Command1。(3)添加命令按鈕Command2。(4)使用格式菜單,使用兩命令按鈕尺寸完全一樣,并恰好處在窗體的中間位置。3.設(shè)置界面對象屬性:能夠經(jīng)過用鼠標右鍵單擊某一窗體或控件,在彈出的菜單中為其設(shè)置屬性,也能夠從屬性窗口的對象列表框中選擇要設(shè)置屬性的對象。1)設(shè)置Form窗體Caption屬性為“Hello,World!”2)設(shè)置Command1按鈕Caption屬性為“確定”,名稱屬性為“OK”.3)設(shè)置Command2按鈕Caption屬性為“退出”,名稱屬性為“Cancel”。4)設(shè)置Label1標簽Caption屬性為空,F(xiàn)ont屬性對話框中字體為隸書,字體式樣為粗體,大小為二號。4.編寫代碼:在Form(窗體)窗口中雙擊鼠標左鍵或單擊視圖菜單中的代碼窗口菜單項,進入代碼窗口。用鼠標單擊第一個列表框右邊的下拉箭頭,從彈出的下拉列表框中選擇OK,然后在第二個列表框中選擇Click事件,這時代碼窗口出現(xiàn)了程序代碼的過程頭與過程尾。1)在OK_Click事件中輸入下面代碼:Label1.Caption=“您好,世界”2)在Cancel_Click事件中輸入下面代碼:UnloadMe5.保存文件:1)選擇文件菜單中工程另存為保存工程文件SY1.vbp2)選擇文件菜單中Form另存為保存窗體文件SY1.frm6.程序運行:1)在運行菜單中選擇啟動菜單項?;颍簡螕艄ぞ邫谥械膯影粹o。2)單擊確定按鈕。3)單擊退出按鈕。若程序不能正常運行,應用運行菜單中的結(jié)束菜單項,終止程序運行,然后檢查屬性設(shè)置和程序代碼是否有誤,直到正常運行為止。程序正常運行后,應再一次存盤保存工程文件。編譯應用程序:選擇文件菜單中生成firstapp.exe菜單項,出現(xiàn)生成工程對話框輸入文件名SY.exe,單擊確定按鈕,生成應用程序。實驗二順序程序設(shè)計實驗目的:掌握表示式,賦值語句的正確書寫規(guī)則。掌握常見函數(shù)的使用。掌握InputBox與MsgBox的使用。實驗內(nèi)容:1.編一個華氏溫度與攝氏溫度之間轉(zhuǎn)換的程序,運行界面如圖2-1所示。要使用轉(zhuǎn)換的公式是:F=9C/5+32‘攝氏溫度轉(zhuǎn)化為華氏溫度,F(xiàn)為華氏C=(F-32)5/9‘華氏溫度轉(zhuǎn)化為攝氏溫度,C為攝氏要求用按鈕實現(xiàn)轉(zhuǎn)換。即單擊“華氏轉(zhuǎn)”按鈕,則將攝氏溫度轉(zhuǎn)化為華氏溫度。同樣,單擊“攝氏轉(zhuǎn)”按鈕,則將華氏溫度轉(zhuǎn)化為攝氏溫度。圖2-1[實驗目的]掌握簡單程序的編寫、輸入數(shù)據(jù)的方法、不同數(shù)據(jù)類型的轉(zhuǎn)換。[提示與分析]1)上述公式中右邊的變量F、C應該是有值的,該值可經(jīng)過Text1、Text2分別賦值獲得,然后經(jīng)過公式計算得到轉(zhuǎn)換的結(jié)果。也能夠不使用變量F、C,直接使用Text1、Text2進行計算。2)Text文本框存放的String類型,為了程序正常運行,應經(jīng)過Val()函數(shù)將字符串轉(zhuǎn)換為數(shù)值類型。3)本題關(guān)鍵是將文本框的內(nèi)容如何代到轉(zhuǎn)換公式中。2.使用Move方法移動標簽,參見圖2-2所示。3.使用Print方法,輸出如圖2-3所示圖形。圖2-24.輸入半徑,計算圓周長和圓面積。進一步要求,為了保證程序運行的正確,對輸入的半徑要進行合法性檢查,若發(fā)現(xiàn)輸入的數(shù)中有非法數(shù)字,利用MsgBox顯示出錯信息,利用SetFocus方法定位于出錯的文本框處,重新輸入。圖2-35.利用計算機解決古代數(shù)學問題“雞兔同籠問題”。即已知在同一籠子里有總數(shù)為m只雞和兔,雞和兔的總腳數(shù)為n只,求雞和兔各有多少只?[實驗目的]掌握InputBox函數(shù)、MsgBox過程的使用;利用計算機解初等數(shù)學題;為了保證有正確的解,提前使用If語句。[提示與分析]1)m,n經(jīng)過InputBox()函數(shù)獲得;雞、兔的只數(shù)經(jīng)過已知m,n列出方程可解,但不要求出荒唐的解(例如3.5只雞、4.5只兔,或者求得的只數(shù)為負數(shù)),若出現(xiàn)荒唐的解,要求顯示有關(guān)信息,并重新輸入。2)設(shè)x為雞的只數(shù),y為兔子的只數(shù);已知總頭數(shù)m和腳數(shù)n,則x+y=m2x+4y=n得y=n/2–mx=m–y從公式推得:當總腳數(shù)是偶數(shù)而且腳數(shù)在二至四倍的頭數(shù)之間(2m<n<4m)時,才可有正確的解。判斷一個數(shù)是否是偶數(shù),只要經(jīng)過判斷Mod2是否為0即可。二條件在程序中表示為:nmod2=0和n>2*mandn<4*m.3)算例:頭數(shù)取1、1、2、20時腳數(shù)對應取4、2、6、100實驗三選擇結(jié)構(gòu)程序設(shè)計實驗目的:掌握邏輯表示式的正確書寫形式。掌握單分支與雙分支條件語句的使用。掌握多分支條件語句的使用。掌握情況語句的使用及與多分支語句的區(qū)別。實驗內(nèi)容:1.在購買某物品時,若所花的錢x在下述范圍內(nèi),所付錢y按對應折扣支付:xx<10000.9x1000≤x<y=0.8x≤x<30000.7xx≥3000[提示與分析]1)此例用多分支if語句實現(xiàn),注意計算公式和條件表示式的正確書寫。2)多個條件,可有兩種表示,方法一:從小到大或從大到小依次一一表示;方法二:不論次序,將條件區(qū)間列出。2.某市公用電話收費標準如下:通話時間在3分鐘以下,收費0.50元;3分鐘以上,則每超過1分鐘加收0.15元;在7:00—19:00之間通話者,按上述收費標準全價收費;在其它時間通話者,一律按收費標準的半價收費。試計算某人在T時間通話S分鐘,應繳多少電話費。運行界面如圖3-1所示。圖3-1[實驗目的]1)利用前面學過的選擇結(jié)構(gòu),學會用計算機解決時間問題的能力。2)時間函數(shù)、子字符串函數(shù)、格式函數(shù)的綜合使用。[提示]1)時間能夠經(jīng)過文本框輸入;也能夠經(jīng)過Time時間函數(shù)求得當時通話的時間。但要經(jīng)過Cdate函數(shù)將字符串類型轉(zhuǎn)換成日期類型,為(2)中計算通話時間做準備。例如:date1=CDate(Text1.Text):date2=CDate(Text2.Text)2)通話時間能夠經(jīng)過DateDiff()函數(shù)將兩個時間以秒為間隔形式相減。也能夠利用Hour、Minute和Second分別取小時、分和秒,然后化成以秒為單位再相減。例如:st=DateDiff("s",date1,date2)/603)為了簡化程序,以開始通話的時間為是否享受半價收費的記費方法。實驗四循環(huán)結(jié)構(gòu)程序設(shè)計實驗目的:掌握For語句的使用。掌握Do語句的各種形式的使用。掌握如何控制循環(huán)條件,防止死循環(huán)或不循環(huán)。實驗內(nèi)容:編一個程序,顯示出所有的水仙花數(shù)。所謂水仙花數(shù),是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)字本身。例如,153是水仙花數(shù),因為153=13+53+33。[提示與分析]解該題的方法有兩種:1)利用三重循環(huán),將三個數(shù)連接成一個3位數(shù)進行判斷。例如,將1—9連接成一個的9位數(shù),程序段如下:s=0Fori=1To9s=s*10+iNextI2)利用單循環(huán)將一個3位數(shù)逐位分離后進行判斷。例如,將的一個9位數(shù),從右邊開始逐位分離,程序段如下:s=DoWhiles>0s1=sMod10s=s\10Prints1;‘從右邊開始顯示分離出每一位Loop遞推法:猴子吃桃子。猴子在一天摘了若干個桃子,當天吃掉一半多一個;第二天的接著吃剩下的桃子的一半多一個;以后每天都吃尚存桃子的一半另一個,到第七天早上要吃時只剩下一個了,問猴子那天共摘了多少個桃子?[分析]這是一個“遞推”問題,先從最后一天推出倒數(shù)第二天的桃子,再從倒數(shù)第二天的桃子推出倒數(shù)第三天的桃子……設(shè)第n天的桃子為Xn,那么它是前一天的桃子數(shù)Xn-1的二分之一減一。即:Xn=0.5Xn-1–1也就是:Xn-1=(Xn+1)×2已知:當n=7第7天的桃子數(shù)為1,則第6天的桃子數(shù)由公式得4個,依次類推,可求得第一天的桃子數(shù)。有一根長度為321m的鋼材料,要將它截取成兩種規(guī)格的短料,規(guī)格a、b的長度分別為17m和27m,每種至少1段,分割成a、b各多少段后,剩余的殘料r最少?[分析]該題利用二重循環(huán)求殘料r的最小值正數(shù),因為殘料不可能是負數(shù),否則與實際情況不符。實驗五數(shù)據(jù)結(jié)構(gòu)數(shù)組實驗目的掌握數(shù)組的聲明、數(shù)組元素的引用。掌握靜態(tài)數(shù)組和動態(tài)數(shù)組的使用差別。應用數(shù)組解決與數(shù)組有關(guān)的常見算法。實驗內(nèi)容1.輸入一串字符,統(tǒng)計各字母出現(xiàn)的次數(shù)(大小寫字母不區(qū)分),并對出現(xiàn)的字母顯示其出現(xiàn)的個數(shù),效果如圖5-1所示。圖5-1[分析]1)統(tǒng)計26個字母出現(xiàn)的個數(shù),必須聲明一個具有26個元素的數(shù)組,每個元素的下標表示對應的字母,元素的值表示對應字母出現(xiàn)的次數(shù)。2)從輸入的字符串中逐一取出字符,轉(zhuǎn)換成大寫字符(使得大小寫不區(qū)分),進行判斷。例如:c=UCase(Mid(Text1,I,1))2.要求輸入若干同學的成績,計算平均分和高于平均分的人數(shù),并將這兩項放在該數(shù)組的最后。參見圖5-2所示。圖5-2實驗六常見控件實驗目的:掌握常見控件的重要屬性、事件和方法。掌握常見ActiveX控件的特性,熟練應用這些高級控件進行編程。初步掌握創(chuàng)立基于圖形用戶界面應用程序的過程。熟練掌握鍵盤事件、鼠標事件及其事件過程的編寫技藝。掌握普通拖放和OLE拖放的原理,掌握實現(xiàn)拖放的方法。實驗內(nèi)容:1.編寫一個運行界面如圖6-1所示的程序。用戶能從“飯店菜單”把選定的“菜”添加到下面的列表框中。要求:“飯店菜單”列表框支持多項選擇[提示]圖6-1假定“飯店菜單”和“我點的菜”列表框的名稱分別為List1和List2。因為需要在List1中能夠進行多項選擇,因此MultiSelect屬性應設(shè)為1或2,而且在“添加”事件過程中不能簡單地用List2.AddItemList1.Text語句添加項目。應編寫如下的程序:SubCommand1_Click()Fori=0ToList1.ListCount-1IfList1.Selected(i)ThenList2.AddltemList1.List(i)EndIfNextEndSub2.設(shè)計一個運行界面如圖6-2所示的字幕滾動程序。要求用時鐘控件和滾動條調(diào)節(jié)和控制字幕滾動速度,文字的大小及距離窗體頂端的距離是隨機的,從右向左連續(xù)滾動。[實驗目的]圖6-2掌握滾動條、時鐘的使用原理。[提示與分析]1)FontSize屬性不能為0,因此用Int(1+Rnd*30)產(chǎn)生一個1—30的數(shù)作為字體的2)字幕“WindowsXP的中文世界……”是標簽(Label1)的標題,用Move方法實現(xiàn)滾動,經(jīng)過改變移動的步長控制移動的速度。每次移動的高度是隨機的,用Int(Rnd*ScaleHeight)表示式?jīng)Q定;字體大小也是隨機的,由Int(1+Rnd*30)決定。3.編寫一個運行界面如圖6-3所示的點菜程序。用戶能從“飲料”和“主食”列表框中選擇食品,然后拖動到“我的中飯”列表框中。要求;用拖動的方式實現(xiàn)。圖6-3[提示與分析]1)當源對象被拖動時,源對象作為Source參數(shù)傳入事件過程中,Source代表源對象,經(jīng)過Source.Name屬性能夠確定被拖動的是哪個列表框。在目標列表框的DragDrop事件過程中,將源列表框中選定的項目添加到目標列表框中,然后刪除。2)“飲料”和“主食”列表框只能用Drag方法手工啟動拖操作,不能使用自動拖放模式。因為如果設(shè)置自動拖放模式,拖動的對象是整個列表框,無法選定其中的項目。在“我的中飯”列表框的DragDrop過程中經(jīng)過Source參數(shù)可能知道源控件是哪一個列表框,Source.Name屬性指示源控件的名稱。實驗七界面設(shè)計實驗目的:學會使用對話框進行編程。掌握窗口菜單、彈出式菜單和實時菜單的設(shè)計方法。掌握工具欄、圖象列表框控件的使用。掌握狀態(tài)欄控件的使用。掌握RichTextBox控件的使用。綜合應用所學的知識,編制具有可視化界面的應用程序。實驗內(nèi)容:1.設(shè)計一個運行界面如圖7-1所示的應用程序。當選擇“改變標簽標題顏色”按紐后,彈出顏色對話框,為標簽標題選擇一個顏色;當選擇“編輯文本文件”按鈕后,彈出打開文件對話框,選擇一個文本文件后調(diào)用記事本程序編輯該文件。圖7-1[實驗目的]掌握通用對話框的使用方法和使用Shell函數(shù)運行程序的方法[提示與分析]1)盡管程序中用到了顏色和打開文件兩個對話框,可是實際上只需一個通用對話框控件CommonDialog。2)能夠使用Shell函數(shù)運行記事本程序。注意在記事本程序名與所選的一個文件名之間要有一個空格符。3)需要經(jīng)過“工程1部件”命令選擇MicrosoftCommonDialogControl6.0選項,將CommonDialog控件添加到工具箱。4)要使通用對話框能彈出顏色對話框,使用ShowColor方法,例如:CommonDialog1.ShowColor.顏色對話框經(jīng)過Color屬性返回所選擇的顏色,將其值賦予標簽的ForeColor屬性即可改變標簽的前景顏色。例如:Label1.ForeColor=CommonDialog1.ShowColor5)對于同一通用對話框,要使其能顯示成文件打開對話框形式,可在另一事件中使用ShowOpen方法。通用對話框的FileName屬性提供所選擇的文件名,將記事本程序名(包括目錄路徑名)和所選擇的文件名構(gòu)成一個字符串,作為Shell函數(shù)的參數(shù)即可經(jīng)過記事本程序打開所選擇的文件。在構(gòu)造字符串時記事本程序名notepad.exe與所選擇一個文本文件名之間必須要有一個空格符。例如:i=Shell(“C:\Winnt\notepad.exe”&CommonDialog1.FileName,1)2.在窗體上放置一個文本框,設(shè)置它的Multiline屬性為True.設(shè)計一個含有2個主菜單項的菜單系統(tǒng),分別為“菜單1”和“菜單2”。其中,“菜單1”包括“清除”、“結(jié)束”兩個菜單命令?!安藛?”包括“12號字體”、“16號字體”、“粗體”、“斜體”4個菜單命令,如圖7-2和圖7-3所示。為菜單項編寫有關(guān)的程序代碼:圖7-2圖7-3“清除”命令:清除文本框中所顯示的內(nèi)容。“12號字體”或“16號字體”命令:把文本框中文本字體的大小設(shè)置為12或6磅。“粗體”或“斜體”命令:在菜單項左邊加上或取消標記“√”,控制文本框中的文本字型變化。窗體上“菜單2”的顯示與否與文本框中有元內(nèi)容有關(guān),當清除文本框中的內(nèi)容時,隱藏“菜單2”,當文本框中輸入信息后,顯示“菜單2”。另外可經(jīng)過鼠標右鍵彈出“菜單2”。[實驗目的]掌握窗體菜單的制作;掌握在程序中改變窗體菜單的屬性的方法;掌握動態(tài)改變菜單項的方法和掌握彈出菜單的制作和顯示方法。[提示與分析]1)在菜單項左邊加上或取消標記“√”可使用代碼:菜單項名.Checked=Not菜單項名.Checked2)文本框內(nèi)的文本粗體字控制可使用代碼:Text1.FontBold=菜單項名.Checked或Text1.FontBold=NotText1.FontBold斜體字控制可類似地使用FontItalic屬性。3)利用菜單2的Visible屬性控制菜單的顯示與隱藏。在文本框的Chang事件進行設(shè)置。4)建立一個有菜單功能的文本編輯器大致可分成以下三個步驟.步驟一:建立控件本例中只要在窗體上放置一個文本框(設(shè)置滾動、多行屬性)和一個通用對話框.步驟二:設(shè)計菜單打開菜單編輯器,按要求對每一個菜單項輸入標題、名稱和選擇相應快捷鍵.步驟三:對菜單建立好以后,對相應的Click事件編程.5)在程序中改變菜單項的Checked、Enabled屬性的常見方法;菜單項名.Checked=Not菜單項名.Checked菜單項名.Enabled=Not菜單項名.Enabled6)動態(tài)改變菜單項的最簡便方法是改變菜單項Visible屬性.當Text1的內(nèi)容發(fā)生變化時觸發(fā)Text1_Change事件。7)彈出菜單的制作與普通菜單相同,程序運行時使用Popupmenu方法顯示彈出菜單。3.在實驗2“菜單1”的子菜單“清除”前添加一個“查找”菜單命令。并與“清除”菜單命令之間有一條分隔線,單擊“查找”菜單命令,顯示圖7-4所示的查找對話框,當在文本框內(nèi)輸入內(nèi)容時,可在主窗體的文本框內(nèi)查找指定的內(nèi)容。圖7-4[實驗目的]掌握窗體菜單的編輯修改;掌握創(chuàng)立自定義對話框的方法;掌握多沖窗體的使用,窗體間數(shù)據(jù)的傳遞方法。[提示與分析]1)創(chuàng)立自定義對話框能夠從新窗體著手,一般來說,用戶一般不需要對它進行移動、改變尺寸、最大化或最小化等操作。經(jīng)過設(shè)置BorderStyle、ControlBox、MaxButton和MinButton屬性,可使對話框的大小固定,刪除窗體的“控件”菜單框、“最大化”按鈕以及“最小化”按鈕這些項目。2)窗體之間的數(shù)據(jù)傳遞可經(jīng)過在類模塊文件中聲明的全局變量完成,也能夠直接使用控件。若使用控件前加窗體名前綴。本例經(jīng)過控件傳遞數(shù)據(jù)。3)使用InStr函數(shù)能夠判定字符串1是否包含字符串2的內(nèi)容,及所在位置。經(jīng)過文本框的SelLength屬性可用負像顯示查到的字符。為了能查找出多個相同的字符,在InStr函數(shù)中使用參數(shù)指示查找起始位置。由于該參數(shù)受到上次搜索的影響,需要將其聲明為靜態(tài)類型的變量。4.在實驗3的基礎(chǔ)上按菜單的功能添加工具欄,在窗體下方加入有2個窗格的狀態(tài)欄,第1個窗格在按下Shift、Ctrl和Alt鍵時顯示相應的鍵名,第2個窗格顯示時鐘。[實驗目的]掌握窗體菜單工具攔的制作;掌握響應ToolBar控件事件的方法;掌握狀態(tài)欄的制作和程序運行時的控件方法。[提示與分析]1)建立窗體工具欄和狀態(tài)欄,必須要經(jīng)過MicrosoftWindowsCommonControls6.0選項將控件添加到工具箱。在建立窗體工具欄和狀態(tài)欄,必須要經(jīng)過MicrosoftWindowsCommonControl6.0選項將控件添加到工具欄。在ImageList控鍵圖象,建立ToolBar控件與IMageList控件的連接,在ToolBar控件中添加按鈕。2)“菜單1”所提供的功能各自獨立,按鈕樣式采用普通按鈕?!安藛?”中的字號大小設(shè)置只允許選擇其中的一項,故按鈕樣式需采用編組按鈕或菜單按鈕。本例采用菜單按鈕設(shè)置字號。字體形式在選擇后能保持按鈕按下狀態(tài),可采用開關(guān)按鈕樣式。為便于編程,對每個按鈕設(shè)置標識名。3)對菜單按鈕在Toolbar_ButtonMenuClick事件使用“SelectCaseButtonMenu.Key”調(diào)用相應的菜單事件過程,響應所做的選擇。其它類型的按鈕在Toolbar1_ButtonClick事件中使用“SelectCaseButton.Key”語句響應所做的選擇。4)使用KeyDown或KeyUp事件判斷對鍵盤的操作。KeyDown事件提供keycode和shift兩個參數(shù),keycode參數(shù)為所按鍵的鍵代碼,shift參數(shù)是響應Shift鍵、Ctrl鍵和Alt鍵的狀態(tài)的一個整數(shù),分別對應于值1、2和4。當這些鍵組合在一起時,shift返回它們的組合值。例如,同時按下Ctrl和Alt這兩個鍵,則shift的值為6。5)StatusBar控件是由Panels集合構(gòu)成的。能夠把Panels集合看做數(shù)組,每個窗格的Panels對象是Panels的一個元素。能夠經(jīng)過Text、Picture和Width屬性改變?nèi)魏蜳anels對象的文本、圖象或?qū)挾?。要在窗格?nèi)顯示所按的鍵名,使用StatusBar1.Panels(1).Text屬性。實驗八文件實驗目的:文件系統(tǒng)控件的使用。文件和目錄操作語句和函數(shù)的使用。掌握順序文件、隨機文件及二進制文件的特點和使用。掌握文件的打開、關(guān)閉和讀寫操作。學會文件在應用程序的使用。實驗內(nèi)容:1.建立一個文本瀏覽器。窗體上放置驅(qū)動器列表框、目錄框、文件列表框和兩個文本框,如圖8-1所示。要求:(1)文件列表框能過濾文本文件。(2)當單擊某文本文件名后,在Text1顯示文件名(包括路徑),在Text2顯示該文件內(nèi)容;(3)當雙擊某文件名后,調(diào)用記事本程序?qū)ξ谋疚募M行編輯。圖8-1[實驗目的]掌握文件系統(tǒng)控件的使用、文本文件內(nèi)容的讀取與顯示、應用程序的調(diào)用和對應文檔的讀取。[提示與分析]1)第(2)小題利用順序文件的讀寫語句,將磁盤上的文件讀入,并在文本框顯示。2)第(3)小題調(diào)用Shell函數(shù),執(zhí)行記事本可執(zhí)行程序,并帶有文本文件為參數(shù)。3)文件系統(tǒng)控件關(guān)聯(lián)只要兩個事件;文本文件一般經(jīng)過LineInput語句讀取較安全、方便,但顯示時要加入回車、換行符;應用程序的調(diào)用利用Shell函數(shù),同時要將相應的文檔打開,兩者之間必須加空格。2.建立一個具有3個學生三項內(nèi)容的文本文件,內(nèi)容中分別為姓名、專業(yè)、年齡,前二項字符串,后一項整形。單擊“建立”按鈕,分別利用:Print#文件號,[輸出列表]Write#文件號,[輸出列表]兩種格式同時建立兩個文件,文件名分別為c:\t1。txt和c:\t2.。txt(打開兩個文件,以不同文件號區(qū)分)。單擊“顯示”按鈕,從磁盤以行讀方式分別讀人剛建立的兩個文件,并分別在兩個文本框顯示,比較之間的區(qū)別。運行結(jié)果如圖8-2所示。[實驗目的]圖8-2掌握順序文件的建立,讀取,Print、Write語句的使用和區(qū)別。3.Print方法與Print語句比較。在窗體上顯示如圖8-3所示的圖形,并將該圖形同時以文本文件A:\Tu.Txt寫到磁盤上,經(jīng)過文本編輯器顯示建立的文件。[實驗目的]掌握Print方法和Print語句的使用和區(qū)別,掌握有規(guī)律字母的生成。[分析]圖8-3該題較簡單,Print方法在循環(huán)控制結(jié)構(gòu)中已介紹,作用結(jié)果顯示在窗體或圖形框上;Print語句處理相似,僅輸出到磁盤上。實驗九圖形技術(shù)實驗目的:1、了解VisuslBasic的圖形功能。2、掌握建立圖形坐標系的方法。3、掌握VisuslBasic的圖形控件和圖形方法。4、掌握常見幾何圖形繪制。5、掌握簡單動畫設(shè)計的方法。6、掌握實現(xiàn)圖形漫游的方法。實驗內(nèi)容:1.繪制如圖9-1所示圖形(不包括尺寸)。圖9-12.在Form1建立一個坐標系。X軸的正向向右,Y軸的正向向上,原點在窗體中央。在坐標系上用Line方法繪制-2π—2π之間的正弦曲線,如圖9-2所示。圖9-2[實驗目的]掌握坐標系的定義方法;掌握使用Line方法繪制圖形;了解CurrentX、CurrentY屬性的功能。[提示與分析]坐標系定義可Scale方法。由于要求坐標系原點在窗體中央,而要繪制的正弦曲線在(-2π,2π)之間,考慮到四周的空隙,故X軸的范圍可定義在(-8,8),Y軸的范圍可定義在(-2,2)之間??刹捎肧cale(-8,2)-(8,-2)定義坐標系。坐標軸用Line方法畫出。X軸上坐標刻度線兩端點的坐標滿足(i,0)-(i,y0)。其中y0為一定值??捎醚h(huán)語句,變化i的值來標記X軸上的坐標刻度。類似地可處理Y軸上標記坐標刻度。坐標軸上刻度線的數(shù)字標識,可經(jīng)過CurrentX、CurrentY屬性設(shè)定當前位置,然后用Print輸出對應的數(shù)字。標識數(shù)字可結(jié)合在分析(3)的循環(huán)上一起完成。正弦曲線可用Line方法或Pest方法畫出,為使曲線光滑,相鄰兩點的間距應適當小。本題用Line方法繪制正弦曲線,相鄰兩個x點的間距取0.01。3.設(shè)計一個如圖9-3所示的指針式時鐘。[實驗目的]掌握簡單動畫設(shè)計的方法。圖9-3[提示]VisuslBasic坐標系中,采用逆時針繪圓,而時鐘指針的移動按順時針方向,故指針與坐標軸的夾角α必須乘以-1。另外,時鐘指針與參照點的夾角需調(diào)整π/2。鐘指針經(jīng)過圓心,故指針另一端點與原點的連線與坐標軸夾角還需調(diào)整π。ss=Second(Time)為當前秒數(shù),秒針要指在相應的刻度線上,則α=-(ss×2π/60)+π/2,設(shè)mm=Minute(Time)為當前分數(shù),分針與坐標軸的夾角α=-(mm×2π/60)+π/2,hh=Hour(Time)為當前時數(shù),時針與坐標軸的夾角α=-(hh×2π/12+mm×π/360)+π/2.鐘指針兩端點的坐標:x1=R1cosα,y1=R1sinα;x2=R2cos(α+π),y2=R2sin(α+π)針的移動由時鐘控件的Timer事件觸發(fā)。實驗十程序調(diào)試與錯誤處理實驗目的:1、掌握VB中常見程序調(diào)試的方法與工具。2、熟悉VB中程序調(diào)試環(huán)境。3、掌握VB中常見程序錯誤的捕捉與處理。實驗步驟:按下面步驟建立這個程序:運行VisualBasic6.0并建立標準工程。單擊工具欄中的Label控件,在Form1窗體上繪制一個標簽,并將其Caption屬性設(shè)為“請輸入(0—20)之間整數(shù)”。單擊工具欄中的Text控件,并在Form1窗體上繪制一個文本框,然后將其Text屬性設(shè)置為空。單擊工具欄中的CommandButton控件,并放置在窗體中,將其Caption屬性設(shè)為“計算階乘”。最后再放置兩個標簽到窗體Form1中,屬性采用缺省值。圖11-1顯示了設(shè)計好的界面。在這個程序中需要處理的事件過程只有Command1_Click。在該過程中,需要進行參數(shù)檢查和階乘計算。這里編寫了兩個程序段來完成這兩個功能。1)檢查參數(shù)程序段用來檢查用戶輸入的參數(shù)。返回值是檢查過的合法參數(shù)。2)利用循環(huán)計算一個數(shù)的階乘值。它返回計算結(jié)果。圖11-1程序代碼如下:‘將用戶輸入轉(zhuǎn)化為數(shù)值參數(shù)DimnAsInteger,JieChengAsIntegern=Val(Text1.Text)‘檢查用戶輸入是否有效‘如果輸入錯誤,則提示用戶重新輸入‘輸入正確,就把檢查過的參數(shù)作為結(jié)果返回Ifn>20Andn<0ThenLabel2.Caption=“輸入錯誤!請重新輸入!”‘清除標簽上以前顯示的結(jié)果Label3.Caption=“”ElseLabel2.Caption=“結(jié)果是:”Label3.Caption=""‘清除標簽上以前顯示的結(jié)果Ifn=0orn=1ThenJieCheng=1Else‘否則,循環(huán)求解JieCheng=1‘變量付初值Fori=1TonJieheng=JieCheng*iNextiEndIfLabel3.Caption=JieChengEndIf到此,完成了這個程序的編寫.下面測試程序的運行.(1)按F5鍵運行程序,并在文本框中輸入0,單擊[計算階乘]按鈕,得到圖11-2所示的結(jié)果.這個結(jié)果示正確的.圖11-2圖11-3(2)測試計算-1的階乘,正常情況下程序應顯示輸入錯誤等提示.在文本框中輸入”-1”,單擊[計算階乘]按鈕,這時看到圖11-3所示結(jié)果.顯然這個結(jié)果與預期的不符,是錯誤的.下面就來查找該錯誤.由于輸入無效參數(shù)-1時程序并沒有顯示出錯提示,因此推測在檢查參數(shù)的代碼中出現(xiàn)了問題.(3)打開代碼窗口,在檢查參數(shù)處設(shè)置斷點,以便程序在檢查參數(shù)之前中斷運行,這樣能夠查看程序狀態(tài)和中間結(jié)果.加入斷點的操作可按下面步驟進行:1).在代碼窗口中,把光標移動到要加斷點的一行.(Ifn>20Andn<0Then)2)打開調(diào)試菜單,單擊[切換斷點]菜單項或按F9鍵,這時所選的語句出現(xiàn)一條紅色亮條,標志所設(shè)斷點處.圖11-4顯示了加入斷點處的情況.圖11-4圖11-53)如果要去除斷點,能夠打開[調(diào)試]菜單,單擊[切換斷點]菜單或按F9鍵,也能夠打開[調(diào)試]菜單,單擊[清除所有斷點]菜單項以清除所有斷點(4)按F5鍵運行程序.在文本框中輸入“-1”,單擊[計算階乘]按鈕,這時程序在斷點處中斷,如圖11-5所示.(5)在執(zhí)行到if語句處時,打開[視圖]菜單,單擊[立即窗口]菜單項,這時桌面上出現(xiàn)了[立即]窗口.在[立即]窗口中輸入“?n”,觀察程序接收到的參數(shù)植.圖11-6顯示了[立即]窗口的使用效果.[立即]窗口中顯示的n值為-1,說明程序接受到的參數(shù)是正確的,錯誤可能在后面.下面單步執(zhí)行,以跟蹤檢查參數(shù)這部分代碼的運行.圖11-6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文學社組社方案及招生簡章范文
- 現(xiàn)代企業(yè)財務管理的全球化視角
- 全鋼爬架施工方案
- 汽車行業(yè)的品牌競爭戰(zhàn)略分析
- 國慶節(jié)小吃店鋪活動方案
- 國慶節(jié)手工干貨活動方案
- 12《富起來到強起來》第一課時說課稿-2023-2024學年道德與法治五年級下冊統(tǒng)編版001
- 2023六年級英語上冊 Unit 3 Winter in canada Lesson 14 Snow!It's Winter說課稿 冀教版(三起)
- 2024-2025學年新教材高中物理 第三章 恒定電流 第3節(jié) 測量金屬絲的電阻率說課稿 粵教版必修3
- 2024秋七年級數(shù)學上冊 第3章 一次方程與方程組3.4 二元一次方程組的應用 2列二元一次方程組解實際應用(一)說課稿(新版)滬科版
- 2025-2030年中國電動高爾夫球車市場運行狀況及未來發(fā)展趨勢分析報告
- 河南省濮陽市2024-2025學年高一上學期1月期末考試語文試題(含答案)
- 2024年湖南高速鐵路職業(yè)技術(shù)學院單招職業(yè)適應性測試題庫及答案解析
- 安全事故案例圖片(76張)課件
- 預應力錨索施工方案
- 豇豆生產(chǎn)技術(shù)規(guī)程
- 奢侈品管理概論完整版教學課件全書電子講義(最新)
- 文藝美學課件
- 中藥炮制學教材
- 常見腫瘤AJCC分期手冊第八版(中文版)
- 電氣第一種第二種工作票講解pptx課件
評論
0/150
提交評論