![VB程序設計課件(全套)57922[深度特制]_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/6d637b4c-26d9-46ae-9625-194263e7f447/6d637b4c-26d9-46ae-9625-194263e7f4471.gif)
![VB程序設計課件(全套)57922[深度特制]_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/6d637b4c-26d9-46ae-9625-194263e7f447/6d637b4c-26d9-46ae-9625-194263e7f4472.gif)
![VB程序設計課件(全套)57922[深度特制]_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/6d637b4c-26d9-46ae-9625-194263e7f447/6d637b4c-26d9-46ae-9625-194263e7f4473.gif)
![VB程序設計課件(全套)57922[深度特制]_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/6d637b4c-26d9-46ae-9625-194263e7f447/6d637b4c-26d9-46ae-9625-194263e7f4474.gif)
![VB程序設計課件(全套)57922[深度特制]_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/12/6d637b4c-26d9-46ae-9625-194263e7f447/6d637b4c-26d9-46ae-9625-194263e7f4475.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程說明教材與課時安排,教材 理論教材:VB程序設計簡明教材(第二版) 龔沛曾、陸慰民等編著 高等教育出版社 實驗教材: VB程序設計實驗指導教程 劉光萍等編著 冶金工業出版社 課時安排 理論授課 :36學時 VB上機訓練:18學時,1,特制分析,上機安排: 上機地點:機房(?樓) 上機時間:另見上機課表 上機內容: 隨教學進度的基礎訓練(上機調試每次作業) 第310周共18學時:VB程序設計實驗教程 要求: 所有作業必須獨立完成 上機作業必須經上機調試通過(抽查) 上機考勤3次缺席,按平時成績不及格處理 發現上機時間上網,按缺席一次處理 做完上機作業后,上交實驗報告(學習委員收齊),2,特制
2、分析,Visual Basic 程序設計簡明教程 第一章 Visual Basic程序設計概述(2) 第二章 VB簡單的程序設計(6) 第三章 VB語言基礎(4) 第四章 基本的控制結構(8) 第五章 數組(5) 第六章 過程(4) 第七章 常用控件(2) 第八章 界面設計(2) 第九章 文件(2) 第十章 圖形(1) 第十一章 數據庫技術(自學) 第十二章 系統開發案例 (自學),3,特制分析,第一章 Visual Basic概述,1.1 程序設計基本概念 1.2 VB的發展和特點 1.3 VB的安裝和啟動 1.4 VB集成開發環境,本書目錄,4,特制分析,1.1程序設計基本概念,1.1.1
3、程序和程序設計,下一頁,1.程序 人們想用計算機解決一個問題,必須事先設計好計算機處理信息的步驟,把這些步驟用計算機能夠識別的指令編寫出來并送入計算機執行,計算機才能按照人的意圖完成指定的工作。我們把計算機能執行的指令序列稱為程序,而編寫程序的過程稱為程序設計。 例如,下面是某一個學校頒獎大會的程序: 宣布大會開始 介紹出席大會的領導 校長講話 宣布獲獎名單 頒獎 獲獎代表發言 宣布大會結束,程序主要用于描述完成某項功能所涉及的對象和動作規則 領導、校長、名單、代表、話、獎等都是對象; 而宣布、介紹、講、頒等都是動作,本章目錄,上一頁,5,特制分析,上一頁,下一頁,Visual Basic編寫
4、的程序,顯示教齡30年的教職工姓名 Sub Form_Click() Open zg.dat For Input As #1 Do While Not EOF(1) Input #1, 姓名, 部門, 教齡 If 教齡 = 30 Then Print 姓名, 部門 Loop Close #1 End Sub,本章目錄,6,特制分析,上一頁,下一頁,1.1.2程序設計語言,人與計算機交流使用的是“程序設計語言”。同人類語言一樣,程序設計語言也是由字、詞和語法規則構成的一個系統。 程序設計語言發展的過程,分為三類: 1.機器語言 2.匯編語言 3.高級語言,本章目錄,7,特制分析,要介紹Visua
5、l Basic,不能不提到BASIC語言。BASIC是英文Beginners All-purpose Symbolic Instruction Code(初學者通用符號指令代碼)的縮寫,它是專門為初學者設計的高級語言。,1.2 Visual Basic的發展和特點,8,特制分析,Visual Basic是Microsoft公司于1991年推出的基于窗口的可視化程序設計語言。“Visual”是“可視化的”、“形象化的”的意思。Visual Basic的語法與BASIC語言的語法基本相同,因此Visual Basic也具有易學易用的特點,此外它還提供了一套可視化設計工具,大大簡化了Windows程
6、序界面的設計工作,同時其編程系統采用了面向對象、事件驅動機制,與傳統BASIC有很大的不同。目前Visual Basic的最新版本是Visual Basic 6.0(簡稱VB 6.0),其功能十分強大,應用Visual Basic可以方便地完成從小的應用程序,到大型的數據庫管理系統、多媒體信息處理、功能強大的Internet應用程序等各項任務。,9,特制分析, 學習版:使用一組工具來創建功能完備的Windows應用程序,(它包括所有的內部控件連同網絡、數據綁定等控件)適用于初學者 專業版:在學習版的基礎上添加了一些專門的工具和一個報表編制工具。它主要針對計算機專業開發人員,(除了具有學習版的全
7、部功能外,還包括ActiveX和Internet控件開發工具之類的高級特性) 企業版:包括了用于客戶/服務器應用程序的工具。(除了具有專業版的全部功能外,還包括了一些特殊的工具) VB 6.0安裝完成后,“Microsoft Visual Basic 6.0中文版”菜單選項即加入到“開始”菜單的“程序”組中。單擊其中的“Microsoft Visual Basic 6.0中文版”即可啟動VB 6.0。,10,特制分析,上一頁,下一頁,1.2.2 Visual Basic功能特點,1 引例 例1.1簡單的動畫演示。 一行文字“歡迎使用Visual Basic”在具有背景圖案的窗體中上、下移動(稍
8、改動也可左、右移動)。 移動方法有兩種:單擊手動按鈕,移動50單位;單擊自動按鈕,按時鐘觸發頻率連續移動;當內容超出窗體范圍時,進行反彈。,本章目錄,11,特制分析,上一頁,下一頁,2 功能特點 1) 具有面向對象的可視化設計工具 2) 事件驅動的編程機制 3) 提供了易學易用的應用程序集成開發環境 4) 結構化的程序設計語言 5) 強大的數據庫功能 6) Active技術 7) 網絡功能 8) 多個應用程序向導 9) 完備的Help聯機幫助功能,本章目錄,VB功能特點,12,特制分析,上一頁,下一頁,1.3 VB的安裝和啟動,1.3.1 安裝 VB6.0是Windows下的一個應用程序,有學
9、習版、專業版和企業版三種版本形式。 VB6.0系統可以在一張CD盤上,也可以在Visual Studio產品的第一張CD盤上。一般都有一個VB自動安裝程序,也可以執行VB6.0子目錄下的Setup.exe,在安裝程序的提示下進行,對初學者可采用典型安裝方式。 VB6.0聯機幫助文件都使用MSDN文檔的幫助方式,聯機幫助文件不在VB6.0系統盤上,而與Visual Studio產品的幫助集合在兩張CD盤上,在安裝過程中,系統會提示插入MSDN盤。,本章目錄,13,特制分析,上一頁,下一頁,1.3.2 啟動,選擇程序菜單中的Microsoft Visual Basic 6.0中文版程序,就可啟動V
10、B 6.0。 在VB 6.0窗口列出了VB能夠建立的應用程序類型,初學者只要選擇默認標準.EXE。 在該窗口中有三個按鈕: 新建:建立新工程 現存:選擇和打開現有的工程 最新:列出最近使用過的工程 單擊新建按鈕,就可創建該 類型的應用程序。,本章目錄,14,特制分析,上一頁,下一頁,1.4 集成開發環境,本章目錄,15,特制分析,上一頁,下一頁,1.主窗口 應用程序窗口由標題欄、菜單欄和工具欄組成 2.窗體(form)窗口 設計vb程序的 界面 3.代碼(code)窗口 編輯窗體、標準模塊中的代碼 4.屬性(properties)窗口 所有窗體或控件的屬性設置 5.工程資源管理器(projec
11、t expror)窗口 保存一個應用程序所有的文件 6. 工具箱(toolbox)窗口 顯示各種控件的制作工具,供用戶在窗體上設計,本章目錄,16,特制分析,上一頁,下一頁,1.4.1 窗體窗口,窗體是建立VB應用程序的主要部分,用戶通過與窗體上的控制部件交互可得到結果。每個窗體窗口必須有一個惟一的窗體名字,建立窗體時默認名為Form1、Form2 在設計狀態的窗體由網格點構成,方便用戶對控件的定位,網格點間距可以通過工具|選項命令,在通用標簽的窗體設置網格中輸入寬度和高度來改變; 運行時可通過屬性控制窗體的可見性(窗體的網格始終不顯示)。 一個應用程序至少有一個窗體窗口,用戶可在應用程序中擁
12、有多個窗體窗口。,本章目錄,17,特制分析,上一頁,下一頁,1.4.2 屬性窗口,所有窗體或控件的屬性,如顏色、字體、大小等,可以通過屬性窗口來修改。,本章目錄,18,特制分析,上一頁,下一頁,1.4.3 工程資源管理器窗口,工程資源管理器窗口保存一個應用程序所有屬性以及組成這個應用程序所有的文件。工程文件的擴展名為 .VBP。,本章目錄,19,特制分析,上一頁,下一頁,1.4.4 代碼窗口,代碼窗口用來顯示和編輯程序代碼。打開代碼窗口方法: (1) 從工程窗口中選擇一個窗體或標準模塊,并選擇查看代碼按鈕; (2) 從窗體窗口中打開代碼窗口,可用鼠標雙擊一個控件或窗體本身; (3) 從視圖菜單
13、中選擇代碼窗口命令。,本章目錄,20,特制分析,上一頁,下一頁,1.4.5 工具箱窗口,工具箱窗口由21個被繪制成按鈕形式的圖標所構成,顯示了各種控件的制作工具,利用這些工具,用戶可以在窗體上設計各種控件。其中20個控件稱為標準控件(注意,指針不是控件,僅用于移動窗體和控件,以及調整它們的大小)。 用戶也可通過工程|部件命令將來裝入Windows中注冊過的其他控件裝入到工具箱。,本章目錄,21,特制分析,第二章 簡單的VB程序設計,2.1 VB對象的概念 2.2 建立簡單的應用程序 2.3 窗體和基本控件 2.4 工程的管理及環境的設置 2.5 使用幫助系統 2.6 程序調試,本書目錄,22,
14、特制分析,上一頁,下一頁,2.1 Visual Basic對象的概念,2.1.1 對象和類 1.對象 可以把對象想象成日常生活中的某個實在的物體。 例如,一個人、一輛汽車、一張桌子、一臺電腦等都是一個個對象。 任何對象都具有各自的特征(屬性)、行為(方法)。 人有身高、體重、視力、聽力等特征;也具有起立、行走、說話、使用電腦、踢足球等行為。 在VB中,將反映對象的屬性和行為封裝在一起,是面向對象編程的基本元素。,本章目錄,23,特制分析,上一頁,下一頁,2.類的概念,類是創建對象實例的模板,是同種對象的集合與抽象,它包含所創建對象的屬性描述和行為特征的定義。 例如,人類是人的抽象,一個個不同的
15、人是人類的實例。各個人具有不同的身高、體重等屬性值和不同的行為。 在VB中,工具箱上的可視圖標是VB系統設計好的標準控件類。通過將控件類實例化,可以得到真正的控件對象,也就是當在窗體上畫一個控件時,就將類轉換為對象,即創建了一個控件對象,簡稱為控件。,本章目錄,24,特制分析,上一頁,下一頁,例:工具箱內的TextBox是類,它確定了TextBox的屬性、方法和事件。窗體上顯示的是兩個Text對象 。,本章目錄,25,特制分析,3.對象的建立和編輯,對象的建立 (1)在工具箱中單擊左鍵進行選擇 (2)在窗體上按下鼠標左鍵拖動到適當大小 對象的選定 單個對象:單擊對象 多個對象: (1)先選定一
16、個對象,按CTRL鍵再單擊其他對象 (2)拖動鼠標,將欲選定的對象包圍在一個虛線框內 對象的復制和刪除 復制:選中對象-單擊復制-單擊粘貼 -彈出的對話框中選“否” 刪除:選中對象,按DEL鍵,26,特制分析,上一頁,下一頁,屬性、事件和方法構成了對象的三要素。 1. 屬性 屬性保存對象中的數據。例如,控件名稱(Name)、標題(Caption)、顏色(Color)、字體(FontName)等屬性決定了對象展現給用戶的界面具有什么樣的外觀及功能。 可以通過以下兩種方法設置對象的屬性: 1) 在設計階段利用屬性窗口直接設置對象的屬性值 2) 在程序運行時間通過語句 對象名.屬性名=屬性值 實現
17、例如:Command1.Caption=確定 注意:有一些屬性只能在設計階段通過屬性窗口設置,在程序運行階段不可改變,稱為只讀屬性。,2.1.2 對象的屬性、事件和方法,本章目錄,27,特制分析,上一頁,下一頁,2. 事件、事件過程和事件驅動 (1) 事件 事件就是發生在對象上的事情。同一事件,作用于不同的對象,就會引發不同的反應,產生不同的結果。 例如,在學校,教室樓的鈴聲是一個事件,教師聽到鈴聲就要準備開始講課,向學生傳授知識;學生聽到鈴聲,就要準備聽教師上課,接受知識;而行政人員對鈴聲可不于響應。 在VB中,系統為每個對象預先定義好了一系列的事件。 例如,單擊(Click)、雙擊(Dbl
18、Click)、改變(Change)、獲取焦點(GotFocus)、鍵盤按下(KeyPress)等。,事件,本章目錄,28,特制分析,上一頁,下一頁,(2) 事件過程 應用程序處理事件的步驟就是事件過程。它是針對某一對象的過程,并與該對象的一個事件相聯系。 VB應用程序設計的主要工作就是為對象編寫事件過程中的程序代碼。 事件過程的形式如下: Sub 對象名_事件 (參數列表) 事件過程代碼 End Sub 例如單擊命令按鈕Command1 ,使按鈕的字體大小改為20磅: Sub Command1_Click() Command1.FontSize=20 End Sub,本章目錄,事件過程,29,
19、特制分析,上一頁,下一頁,(3) 事件驅動程序設計 程序執行的先后次序與程序設計者無關,取決于用戶的操作,這就是事件驅動程序設計方式。 VB程序的執行步驟如下: 啟動應用程序,裝載和顯示窗體; 窗體(或窗體上的控件)等待事件的發生; 事件發生時,執行對應的事件過程; 重復執行步驟和。,本章目錄,事件驅動,30,特制分析,方法,上一頁,下一頁,3. 方法 面向對象的程序設計語言,為程序設計人員提供了一種特殊的過程和函數稱為方法。 因為方法是面向對象的,所以在調用時一定要用對象。對象方法的調用格式為: 對象.方法 參數名表 若省略了對象,表示為當前對象,一般指窗體。 例如:Form1.Print
20、歡迎您使用Visual Basic 6.0! 使用Print方法在對象為Form1窗體中顯示“歡迎您使用Visual Basic 6.0!”的字符串。,本章目錄,31,特制分析,2.2 建立簡單的應用程序,上一頁,下一頁,例2.1編寫一個人民幣與美圓兌換的程序。 建立一個應用程序分為以下幾步進行: (1) 建立用戶界面的對象; (2) 對象屬性的設置; (3) 對象事件過程及編程; (4) 保存和運行程序。,本章目錄,測驗: 在屏幕上顯示“您好,朋友”,采用4個控件,文本控件用來顯示信息,3個命令按紐分別用來執行顯示、清除、結束操作。,32,特制分析,2.3 窗體和基本控件,上一頁,下一頁,2
21、.3.1 基本屬性 (1)Name名稱屬性 所有對象都具有的屬性,是所創建的對象名稱。所有的控件在創建時由VB自動提供一個默認名稱。在程序中,對象名稱是作為對象的標識在程序中而引用。 (2)Caption標題屬性 該屬性決定了控件上顯示的內容。 (3)Height、Width、Top和Left屬性 Height和Width屬性決定了控件的高 度和寬度,Top和Left屬性決定了控件在窗體中的位置。,本章目錄,33,特制分析,2.3.1 基本屬性之二,上一頁,下一頁,(4) Enabled屬性 決定控件是否允許操作 True:允許用戶進行操作,并對操作作出響應 False:禁止用戶進行操作,呈暗
22、淡色 (5) Visible屬性 決定控件是否可見 True:程序運行時控件可見 False:程序運行時控件隱含起來,但控件本身存在 (6) Font屬性組 改變文本的外觀,其中: FontName字體、FontSize字體大小、FontBold粗體、FontItalic斜體、FontStrikethru刪除線、FontUnderline下劃線,本章目錄,例2.2 在窗體是建立兩個命令按鈕,34,特制分析,基本屬性之三,上一頁,下一頁,(7) ForeColor屬性 設置或返回控件的前景顏色 (8) BackColor屬性 正文以外的顯示區域的顏色 (9) MousePointer鼠標指針類型
23、屬性 當鼠標移動到對象的一個特定部分時,被顯示的鼠標指針的類型,設置值的范圍為015 。若值為99,由用戶提供的圖形文件定義鼠標指針形狀。 (10) MouseIcon屬性 設置自定義的鼠標圖標,文件類型為.ico或.cur,圖標庫在Graphics目錄下。該屬性必須在MousePointer屬性設為99時使用。,本章目錄,35,特制分析,基本屬性之四,上一頁,下一頁,(11) TabIndex屬性 TabIndex屬性決定了按Tab鍵時,焦點在各個控件移動的順序。 當對象具有焦點時,可接受用戶的輸入。Windows環境下,可同時運行多個應用程序,有多個窗口,但焦點只有一個。 當窗體上有多個控
24、件時,對大部分控件系統會分配一個Tab順序。所謂Tab順序,就是按Tab鍵時焦點在各個控件上移動的順序。一般,其順序與控件建立的順序相同,若要改變順序,可以設置控件的TabIndex屬性,TabIndex屬性決定了它在Tab中的位置。按默認值規定,第一個建立的控件的TabIndex屬性值為0,第二個為1,依次類推。,本章目錄,36,特制分析,基本屬性之五,上一頁,下一頁,(12) 控件默認屬性 所謂默認屬性是程序運行時,可以改變某控件的值,而不必指定該控件的哪個屬性。,例如,下面兩條語句是等價的: Text1.Text=Visual BASIC Text1 =Visual BASIC,本章目錄
25、,37,特制分析,2.3.2 窗體,上一頁,下一頁,窗體是一塊畫布,是所有控件的容器,用戶可以根據自己的需要利用工具箱上的控件在畫布上畫界面。 1. 主要屬性 窗體屬性決定了窗體的外觀和操作。,本章目錄,38,特制分析,窗體-屬性,上一頁,下一頁,(1) Caption屬性 決定窗體標題欄顯示的內容 (2) MaxButton和MinButton屬性 控制窗體右上角有最大化按鈕和最小化按鈕的顯示 (3) ControlBox屬性 控制窗體左上角有控制菜單框是否出現,當無控制菜單框,時,系統將MaxButton和MinButton自動設置為False。 (4) Icon屬性 設置窗體最小化時顯示
26、圖標 (5) Picture屬性 設置窗體中要顯示的圖片 (6) BorderStyle屬性 此屬性決定窗體的邊框類型 (7) WindowsState屬性 窗體執行時顯示狀態,正常狀態、最小化狀態最大化狀態,本章目錄,39,特制分析,窗體-事件,上一頁,下一頁,最常用的事件有Click、DblClick和Load。 Load事件是在窗體被裝入工作區時觸發的事件。當應用程序啟動,自動執行該事件,該事件通常用來在啟動應用程序時對屬性和變量進行初始化。 例2.3使窗體無最大化按鈕和最小化按鈕,在窗體啟動時,在標題欄顯示“裝入窗體”,并在窗體上裝入一背景圖;當用戶單擊窗體,在標題蘭顯示“鼠標單擊”,
27、在窗體中顯示“歡迎使用VB”,雙擊窗體,在標題蘭顯示“鼠標雙擊” ,并在窗體中顯示“結束使用VB” 。,本章目錄,40,特制分析,2.3.3 標簽-屬性,上一頁,下一頁,除了Caption、Font、Left、Top等外,還有: (1) BackStyle屬性 控制控件是否透明(0透明, 1不透明) (2) BorderStyle屬性 控件周圍是否有邊框(0無, 1有) (3) Alignment屬性 決定Caption屬性值內容的對齊方式。 0-左對齊;1-右對齊;2-居中。 (4) AutoSize屬性 AutoSize屬性決定控件是否自動調整大小 WordWrap屬性決定標簽內容超出標簽
28、寬度時,是否自動換行。 例2.4標簽-屬性,本章目錄,41,特制分析,例2.4 控件設置 效果,42,特制分析,2.3.3 標簽-事件,上一頁,下一頁,標簽經常接收的事件有:單擊(Click),雙擊(DblClick)和改變(Change)。但通常標簽僅起到在窗體上顯示文字作用,因此,一般不需編寫事件過程。 例2.5利用兩個標簽控件,顯示具有浮雕效果的文字 實現思路:浮雕效果可利用兩種顏色的文字錯位疊加來實現。 為了實現錯位,可使兩個標簽的Left、Top屬性值有一點差距。為了避免疊加上去的標簽覆蓋原來標簽顯示的文字,要將標簽的BackStyle背景樣式屬性設置為0,即透明的。,本章目錄,43
29、,特制分析,2.3.4 文本框-屬性之一,上一頁,下一頁,文本框是一個文本編輯區域,用戶可以在該區域輸入、編輯、修改和顯示正文內容。 1. 主要屬性 (1) Text文本屬性 文本框無Caption屬性,顯示的正文內容存放在Text屬性中。當程序執行時,用戶通過鍵盤輸入、編輯正文。 (2) Maxlength屬性 指明文本框中能夠輸入的正文內容的最大長度。 0-任意長字符串;非零值-文本框中字符個數的最大值。 注意:在VB中字符長度以字為單位,也就是一個西文字符與一個漢字都是一個字,長度為1。,本章目錄,44,特制分析,文本框屬性之二,上一頁,下一頁,(3) MultiLine多行屬性 當Mu
30、ltiLine屬性為True時,文本框可以輸入或顯示多行正文,同時具有文字處理器的自動換行功能,即輸入的正文超出顯示框時,會自動換行。按Enter鍵可插入一空行。 (4) ScrollBars滾動條屬性 當MultiLine屬性為True時,ScrollBars屬性才有效。 0(vbNone)無滾動條; 1(vbHorizontal) 加水平滾動條; 2(vbVertical) 加垂直滾動條; 3(vbBoth) 同時加水平和垂直滾動條。 注意:當加入了水平滾動條以后,文本框內的自動換行功能會自動消失,只有按Enter鍵才能回車換行。,本章目錄,45,特制分析,文本框屬性之三,上一頁,下一頁,
31、(5) Locked屬性 控制文本控件的內容是否可被編輯,當設置為True時,文本控件相當于標簽的作用。 (6) SelStart、SelLength和SelText屬性 在程序運行中,用來標識用戶選中的正文。 SelStart 選定的正文的開始位置,第一個字符的位置是0。 SelLength 選定的正文長度。 SelText 選定的正文內容。 設置了SelStart和SelLength屬性后,VB會自動將設定的正文存入SelText。 例2.6創建一個簡單的文本編輯器,本章目錄,46,特制分析,2.3.4 文本框-事件,上一頁,下一頁,(1) Change事件 當Text屬性值發生改變時會引
32、發該事件。用戶每輸入一個字符就會引發一次Change事件。 (2) KeyPress事件 當按下并且釋放鍵盤上的一個鍵時,就會引發焦點所在控件的KeyPress事件,參數KeyAscii指示按鍵的Ascii碼值。 事件中最常用于判斷是否輸入回車符(KeyAscii的值為13) (3) LostFocus事件 此事件是在一個對象失去焦點時發生。 (4) GotFocus事件 當一個對象獲得焦點時發生。,本章目錄,47,特制分析,2.3.4 文本框-方法,上一頁,下一頁,文本框最有用的方法是SetFocus,該方法是把光標移到指定的文本框中。當在窗體上建立了多個文本框后,可以用該方法把光標置于所需
33、要的文本框上。其形式如下: 對象.SetFocus,本章目錄,48,特制分析,例2.7 對輸入的數據進行合法性檢驗,過濾不合法的數據。 當輸入結束時,對于輸入正確的數據,顯示正確信息;對輸入的非數字數據顯示錯誤信息、清除文本框中的內容,并使焦點重新回到文本框。 分析:在文本框輸入數據,可通過回車鍵或按Tab鍵表示輸入結束,當然引發的事件也不同。按回車鍵,焦點沒有離開,通過KeyPress事件來判斷;按Tab鍵,焦點離開該控件,通過LostFocus事件來判斷。本例以按Tab鍵表示輸入結束。 Text2_ LostFocus 當輸入結束按Tab鍵時,該事件激發 IsNumeric(Text2)
34、: 判斷是否輸入非數字數據. Text2.SetFocus : 使焦點重新回到文本框,文本框的應用 數據過濾,49,特制分析,2.3.5 命令按鈕,上一頁,下一頁,在程序運行時,當用戶選中某個命令按扭時就會執行相應的事件過程。常用以下方法可以選中命令按鈕: (1) 用鼠標單擊。 (2) 按Tab鍵將焦點移到相應按鈕上,再按回車鍵。 (3) 快捷鍵(Alt+有下劃線的字母)。 1. 主要屬性 (1) Caption 屬性 如果某個字母前加入 String(6 - I, ); Spc(6); String(I, ) Next i End Sub 考慮:若把Spc(6)換成Tab(6),效果如何?,
35、55,特制分析,常用方法,上一頁,下一頁,1)Cls方法 形式 : 對象.Cls 作用 : 清除運行時在窗體或圖形框中顯示的文本或圖形。 注意 : 不清除在設計時的文本和圖形。 2) Move方法 形式 : 對象.Move 左邊距離,上邊距離,寬度,高度 作用 : 移動窗體或控件,并可改變其大小。 對象:可以是窗體及除時鐘、菜單外的所有控件 例2.10移動圖形示例,程序運行時在圖像框裝入一幅圖,單擊窗體使圖像框移到窗體的中心,本章目錄,56,特制分析,一.工程的組成 一個工程包括各種類型的文件: 工程文件(.Vbp):與該工程有關的全部文件和對象的清單 窗體文件(.frm):控件及屬性、事件過
36、程和自定義過程 窗體的二進制數據文件(.frx):當窗體上控件的數據屬性含有二進制值時(如圖片),將窗體保存時,系統自動產生同名.frx文件。 標準模塊文件(.bas):包含模塊級的變量和外部過程的聲明 二.創建、打開和保存工程(略),本章目錄,2.4工程的管理及環境的設置,57,特制分析,注意: 1.窗體名和窗體文件名概念, 窗體名:窗體的Name屬性,在代碼中用來引用該窗體,同一工程不能有相同的窗體名; 窗體文件名:窗體存放在磁盤上的文件名,該文件包含了該窗體的所有控件屬性和代碼,同一文件夾不能有相同的文件名。 2. 在工程中添加現存的窗體時,只是將對該窗體文件的引用納入工程,而不是添加該
37、文件的復制件。因此,如果更改窗體并保存它,會影響包含此窗體文件的任何工程。 3. 在工程中刪除窗體時,僅將此窗體從工程里刪除掉,但是窗體文件仍存在于磁盤上。但是,如果在VB之外刪除一個窗體文件,VB不能更新此工程文件,當打開此工程時,將顯示一個文件丟失的錯誤信息。 4.對窗體文件改名(P43),三.添加、刪除和保存文件,58,特制分析,2.5 使用幫助系統,上一頁,下一頁,使用MSDN Library查閱器 通過VB的幫助菜單,選擇內容、索引或搜索菜單項,本章目錄,59,特制分析,2.6 程序調試,.錯誤類型 (1)編輯錯誤 在編輯代碼時,VB會對鍵入的代碼直接進行語法檢查。當發現代碼存在打字
38、錯誤,遺漏關鍵字或標點符等語法錯誤,VB在Form窗口中彈出一個子窗口,提示出錯信息,出錯的那一行變成紅色。這時,用戶必須單擊“確定”按鈕,關閉出錯提示窗,然后對出錯行進行修改。,本章目錄,60,特制分析,(2)編譯錯誤 編譯錯誤指按了“啟動”按鈕,VB開始運行程序前,先編譯執行的程序段時,產生的錯誤。此類錯誤由于用戶未定義變量、遺漏關鍵字等原因產生。這時,Visual Basic也彈出一個子窗口,提示出錯信息,出錯的那一行被高亮度顯示。,61,特制分析,(3) 運行錯誤 運行時錯誤指VB在編譯通過后,運行代碼時發生的錯誤。這類錯誤往往是指令代碼執行了一非法操作引起的。例如類型不匹配、試圖打開
39、一個不存在的文件等。,62,特制分析,(4) 邏輯錯誤 程序運行后,得不到所期望的結果,這說明程序存在邏輯錯誤。這類錯誤往往是程序存在邏輯上的缺陷所引起。例如,運算符使用不正確、語句的次序不對、循環語句的起始、終值不正確等。通常,邏輯錯誤不會產生錯誤提示信息,故錯誤較難排除,需要程序員仔細地閱讀分析程序以及調試。,63,特制分析,2 調試錯誤 (1) VB的三種模式 設計模式設計 進行程序的界面設計、屬性設置、代碼編寫等。 運行模式運行 執行“運行/啟動”命令,可以查看程序代碼,但不能修改。 中斷模式中斷 當在運行模式,按了“中斷”命令或當程序出現運行時錯誤時進入中斷模式。可以查看代碼、修改代
40、碼、檢查數據。,64,特制分析,2 設置斷點和逐語句跟蹤 斷點是告訴VB掛起程序執行的一個標記,當程序執行到斷點處即暫停程序的運行,進入中斷模式。設置或刪除斷點的步驟: 中斷模式下,直接查看某個變量的值,只要把鼠標指向所關心的變量處,稍停一下,就在鼠標下方顯示該變量的值。,斷點標記,當前行,65,特制分析,1. 使用中文標點符號 系統產生“無效字符”,以紅色顯示 2. 字母和數字形狀相似 小寫字母“l”和數字“1”形式相同、小寫字母“o”與數字“0”。 3. 對象名稱(Name) 寫錯 Text1、Text2、Command1 txtInput、txtOutput、cmdOk 4.對象的屬性名
41、、方法名、標準函數名寫錯 盡量使用自動列出成員功能。正確的系統按規定的大小寫表示。 5. 無意形成控件數組 建立控件時小心使用“復制”、“粘貼”按鈕 6. 打開工程時找不到對應的文件 保存文件時先保存窗體.frm文件、再保存.vbp文件,注意路徑。,2.7 常見錯誤,66,特制分析,第三章 Visual Basic語言基礎,3.1 數據類型 3.2 變量與常量 3.3 運算符和表達式 3.4 常用內部函數 3.5 編碼規則,本書目錄,67,特制分析,3.1 數據類型,上一頁,下一頁,本章目錄,68,特制分析,3.1 VB中的數據類型,一 數據類型 在為計算機編程時,會使用各種各樣的數據。因此,
42、我們在編寫程序代碼時就必須事先說明所使用的數據類型,以便計算機能夠正確識別.VB中提供了:數值型、字符型、布爾型 、日期型、對象型、變體型等數據類型 . 1 數值(Numeric) 數值型包括:整型Integer(%)、長整型Long( 若密碼錯,顯示有關信息,選擇“重試”按鈕,清除原內容再輸入,選擇“取消”按鈕,停止運行。密碼3次有錯,退出! 分析: 帳號6位,MaxLength為6 , LostFocus判斷數字IsNumeric函數 密碼PassWordChar為“*”,MsgBox函數設置密碼錯對話框.,123,特制分析,課堂作業,從鍵盤上輸入4個數,編寫程序,計算并輸出這4個數的和及
43、平均值。 要求: (1)單擊窗體,通過Inputbox函數輸入數據。 (2)在窗體上顯示這4個數及數的和、平均值。程序運行界面如下圖所示,124,特制分析,上一頁,下一頁,4.2 選擇結構,計算機要處理的問題往往是復雜多變的,僅采用順序結構是不夠的。必須利用選擇結構等來解決實際應用中的各種問題。VB中提供了多種形式的條件語句來實現選擇結構,有If條件語句和Select情況語句等。它們都是對條件進行判斷,根據判斷結果,選擇執行不同的分支。,本章目錄,125,特制分析,上一頁,下一頁,4.2.1 If條件語句,1. IfThen語句(單分支結構) If Then 語句塊(可以是一句或多句語句) E
44、nd If 或 If Then 表達式:關系表達式、邏輯表達式,算術表達式。表達式值按非零為True,零為False進行判斷。 該語句的作用是當表達式的值為True,執行Then后面的語句塊,否則不做任何操作。,本章目錄,126,特制分析,上一頁,下一頁,單分支結構,例:已知兩個數x和y,比較它們的大小,使得x大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t 簡單If形式無End If,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。 重要的是學會兩個數的交換,若上述語句次序變一下,結果如何?,本章目錄,127,
45、特制分析,雙分支結構,上一頁,下一頁,2. IfThenElse語句 If 表達式 Then 語句塊1 Else 語句塊2 End If 或 If 表達式 Then 語句1 Else 語句2 當表達式的值為True時,執行Then后面的語句塊1,否則執行Else后面的語句塊2,本章目錄,128,特制分析,雙分支結構例,上一頁,下一頁,計算分段函數,單分支結構實現: y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr (x*x+1),雙分支結構實現: If x0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)x3+3*x End If,本
46、章目錄,129,特制分析,例題,例1:由鍵盤輸入一個數,該數大于等于0,則求該數的平方根,否則,輸出錯誤信息。 例2:文本框Tex1作為數字輸入框,當輸入的為數字,則將其在Tex2中輸出。否則清除Tex1中的內容,130,特制分析,上一頁,下一頁,多分支結構,3. IfThenElseIf語句 If 表達式1 Then 語句塊1 ElseIf 表達式2 Then 語句塊2 Else 語句塊 n+1 End If,該語句的作用是根據不同的表達式值確定執行哪個語句塊,本章目錄,131,特制分析,上一頁,下一頁,例4.5已知變量strC中存放了一個字符,判斷該字符是字母字符、數字字符還是其他字符。
47、If Ucase(strC) =A And Ucase (strC) =0 And strC =9 Then Print strC + 是數字字符 Else Print strC + 其他字符 End If,不管有幾個分支,依次判斷,當某條件滿足,執行相應的語句,其余分支不再執行;若條件都不滿足,且有Else子句,則執行該語句塊,否則什么也不執行。. ElseIf不能寫成 Else If。,多分支結構例,本章目錄,132,特制分析,例 已知百分制成績mark,顯示對應的五級制成績 哪些正確,哪些錯誤?,返回,133,特制分析,134,特制分析,135,特制分析,136,特制分析,上一頁,下一頁
48、,If語句的嵌套是指If或Else后面的語句塊中又包含If語句 If 表達式1 Then If 表達式11 Then End If End If,If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End If,If語句的嵌套,例已知x,y,z三個數,使得xyz 用一個IF語句和一個嵌套的IF語句實現,本章目錄,137,特制分析,輸入三個數,并求出它們的最大值。(分別用if-else語句及if嵌套語句來實現),Private Sub Command1_Click() Dim a, b
49、, c, max a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a b Then max = a Else max = b End If If max c Then max = c End If Text4.Text = max End Sub,If a b Then If a c Then max = a Else max = c End If Else If b c Then max = b Else max = c End If End If Text4.Text = max End Sub,138,特制分析
50、,上一頁,下一頁,4.2.2 Select Case語句,Select Case 變量或表達式 Case 表達式列表1 語句塊1 Case 表達式列表2 語句塊2 Case Else 語句塊n+1 End Select,表達式列表與變量或表達式的類型必須相同,是下面4種形式之一 : 表達式 例: A 一組用逗號分隔的枚舉值 2,4,6,8 表達式1 To 表達式2 60 To 100 Is 關系運算符表達式 Is 60,本章目錄,139,特制分析,上一頁,下一頁,Select Case語句例,將例4.5改成Select Case語句實現如下: Select Case strC Case a T
51、o z,A To Z Print strC + 是字母字符 Case 0 To 9 Print strC +是數字字符 Case Else Print strC + 是其他字符 End Select 對于多分支結構,用Select Case語句比用IfThenElseIf語句直觀,程序可讀性強。但不是所有的多分支結構均可用Select Case語句代替IfThenElseIf語句。,本章目錄,140,特制分析,上一頁,下一頁,Select Case語句例,例4.6 已知坐標點(x,y),判斷其落在哪個象限。,代碼一 If x 0 And y 0 Then Print 在第一象限 ElseIf
52、x 0 Then Print 在第二象限 ElseIf x 0 And y 0 Then Print 在第四象限 End If,代碼二 Select Case x,y Case x 0 And y 0 Print 在第一象限 Case x 0 Print 在第二象限 Case x 0 And y 0 Print 在第四象限 End Select,代碼二錯誤: 1. Select Case 后不能出現多個變量; 2. Case后不能出現邏輯表達式。,本章目錄,141,特制分析,例 輸入百分制成績mark,顯示對應的五級制成績,哪些能實現,哪些不能實現?,返回,142,特制分析,例4.7由計算機來
53、當一年級的算術老師,要求給出一系列的110的操作數和運算符,學生輸入該題的答案,計算機根據學生的答案判斷正確與否,當結束時給出成績。 分析:產生110操作數,可通過Int(10 * Rnd + 1) 實現,Command1,Picture1,Text1,label1,143,特制分析,上一頁,下一頁,4.2.3 條件函數,1)IIf 函數 IIf(表達式,當表達式為True時的值,當表達式為False時的值) 例如,求x,y中大的數,放入Tmax變量中,語句如下: Tmax=IIf(x y,x,y) 2)Choose函數 Choose(數字型變量,值為1的返回值,值為2的返回值) 例如,Nop
54、是14的值,轉換成 + 、-、運算符的語句如下: Op= Choose(Nop,+,-,) 當值為1,返回字符串“+”,然后放入Op變量中,值為2,返回字符串“-”,依次類推;當Nop是14的非整數,系統自動取整再判斷;若Nop不在14之間,函數返回Null值。,本章目錄,144,特制分析,常見錯誤 1在選擇結構中缺少配對的結束語句 2. 多分支選擇ElseIf關鍵字的書寫 ElseIf 不要寫成Else If; 3.條件表達式的表示 多個條件表達式次序問題,見例 3. Select Case語句的使用 Select Case 后不能出現多個變量;Case子句后不能出現變量見例,145,特制分
55、析,課堂作業,某航空公司規定:在旅游旺季79月份,如果訂票超過20張,優惠票價的15%;20張以下的優惠5%;在旅游淡季15月份、10、11月份,訂票超過20張,優惠票價的30%;20張以下的優惠20%;其它時間訂票的一律優惠2%。(要求要對輸入的數據進行判斷),146,特制分析,上一頁,下一頁,4.3 循環結構,我們已經學習了順序結構和分支結構,這種結構的特點是任何一條語句至多只執行一次,但是在處理實際問題的過程中,用這種結構來編寫程序就長得不能忍受。,本章目錄,引例:求1+2+3+100的和? S=0 S=S+1 S=S+2 S=S+3 共101條語句,實際上這就是一種重復循環操作, VB
56、中提供了兩種類型的循環語句:一種是計數循環語句;另一種是條件型循環語句。,147,特制分析,上一頁,下一頁,4.3.1 For循環語句,For循環語句用于控制循環次數預知的循環結構。 For 循環變量 初值 To 終值 Step 步長 語句塊 Exit For 語句塊 Next 循環變量 循環變量必須為數值型。 循環次數,0 初值終值 =0 死循環,步長,本章目錄,148,特制分析,上一頁,下一頁,For循環語句,循環流程: (1) 循環變量被賦初值,它僅被賦值一次。 (2) 判斷循環變量是否在終值內,如果是,執行循環體;如果否,結束循環,執行Next的下一語句。 (3) 循環變量加步長,轉(
57、2),繼續循環,本章目錄,149,特制分析,循環執行次數 輸出I的值分別為: 2 5 8 11 出了循環輸出為: I=14,例: For I=2 To 13 Step 3 Print I , Next I Print Print “I=“, I,例4.8 計算1100的累加和 問題:求1100中偶數和、奇數和,如何修改上例程序。,150,特制分析,例題,例4.9求自然數15的階乘,用圖形框輸出 例4.10:利用隨機數函數(RND)產生200個200600之間的整數,每行輸出10個數,找出這些整數中最大數和最小數。 P90 例4.10(自學),151,特制分析,上一頁,下一頁,4.3.2 DoL
58、oop循環語句,Do循環用于控制循環次數未知的循環結構。 形式1: Do While|Until 語句塊 Exit Do 語句塊 Loop 形式1為先判斷后執行,有可能一次也不執行; 形式2為先執行后判斷,至少執行一次。,形式2: Do 語句塊 Exit Do 語句塊 Loop While|Until ,本章目錄,152,特制分析,描述,1、在DO循環中都可以使用EXIT DO退出循環。 2、DO WHILE 循環是首先判斷條件是否為真(滿足),為真執行循環體,執行完循環體再判斷條件是否為真,為真重復執行,直至條件為假(不滿足)時退出循環。先判斷、后執行。 3、DO UNTIL循環是首先判斷條
59、件是否為真(滿足),若條件為真則退出循環,只有為假(條件不滿足)時才執行循環。先判斷、后執行。 4、DO LOOP WHILE 循環是首先執行循環體,再判斷條件是否為真,若為真繼續循環,條件為假(不滿足)退出該循環,它是先執行、后判斷。 5、DO LOOP UNTIL 循環是首先執行循環體,然后再判斷條件,若條件為真(滿足),則退出循環,若條件不滿足,繼續循環。直到條件滿足(為真)才退出該循環,它是先執行、后判斷。,153,特制分析,上一頁,下一頁,DoLoop流程,本章目錄,154,特制分析,例題,Do While Loop s = 0: c = 0 Do While c Loop s =
60、1: c = 2 Do Until c 5 s = s * c Print c, s c = c + 2 Loop,155,特制分析,測試,分別用DO循環的5種形式編寫求自然數11000和的程序。,i = 1: sum = 0 Do While i = 100 sum = sum + i i = i + 1 Loop Print sum,i = 1: sum = 0 Do Until i 100 sum = sum + i i = i + 1 Loop Print sum,i = 1: sum = 0 Do sum = sum + i i = i + 1 If i 100 Then Exit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心理學試題庫及答案
- 產品質量法課件1
- 預防火災的應急措施6篇
- 防系統規劃方案(3篇)
- 家庭護欄改造方案(3篇)
- 資料人員管理方案(3篇)
- 物業廣告拍攝方案(3篇)
- 火災應急預案的一般要求(3篇)
- 楚雄醫藥高等專科學校《教師職業道德與禮儀》2023-2024學年第二學期期末試卷
- 山西財經大學《心理與教育研究方法》2023-2024學年第二學期期末試卷
- 形象店加盟管理方案
- 1.《鄭人買履》課件PPT
- T∕ZS 0128-2020 既有建筑結構安全智慧監測技術規程
- 發電機定子繞組泄漏電流和直流耐壓試驗作業指導書
- 冀教版小學美術六年級下冊教案
- 甘肅省生態功能區劃
- DB22∕T 1073-2011 綠色淫羊藿生產技術規程
- 教練技術LP三階段教練手冊
- 國家開放大學《人文英語3》章節測試參考答案
- 小柳樹和小棗樹(1)
- 鉆孔灌注樁超灌混凝土管理辦法
評論
0/150
提交評論