版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1,Visual Basic 程序設計簡明教程 第一章 Visual Basic程序設計概述(2) 第二章 VB簡單的程序設計(6) 第三章 VB語言基礎(4) 第四章 基本的控制結構(8) 第五章 數(shù)組(5) 第六章 過程(4) 第七章 常用控件(2) 第八章 界面設計(2) 第九章 文件(2) 第十章 圖形(1) 第十一章 數(shù)據(jù)庫技術(自學) 第十二章 系統(tǒng)開發(fā)案例 (自學),2,第一章 Visual Basic概述,1.1 程序設計基本概念 1.2 VB的發(fā)展和特點 1.3 VB的安裝和啟動 1.4 VB集成開發(fā)環(huán)境,本書目錄,3,1.1程序設計基本概念,1.1.1程序和程序設計,下一頁
2、,1.程序 人們想用計算機解決一個問題,必須事先設計好計算機處理信息的步驟,把這些步驟用計算機能夠識別的指令編寫出來并送入計算機執(zhí)行,計算機才能按照人的意圖完成指定的工作。我們把計算機能執(zhí)行的指令序列稱為程序,而編寫程序的過程稱為程序設計。 例如,下面是某一個學校頒獎大會的程序: 宣布大會開始 介紹出席大會的領導 校長講話 宣布獲獎名單 頒獎 獲獎代表發(fā)言 宣布大會結束,程序主要用于描述完成某項功能所涉及的對象和動作規(guī)則 領導、校長、名單、代表、話、獎等都是對象; 而宣布、介紹、講、頒等都是動作,本章目錄,上一頁,4,上一頁,下一頁,Visual Basic編寫的程序,顯示教齡30年的教職工姓
3、名 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,本章目錄,5,上一頁,下一頁,1.1.2程序設計語言,人與計算機交流使用的是“程序設計語言”。同人類語言一樣,程序設計語言也是由字、詞和語法規(guī)則構成的一個系統(tǒng)。 程序設計語言發(fā)展的過程,分為三類: 1.機器語言 2.匯編語言 3.高級語言,本章目錄,6,要介紹Visual Basic,不能不提到BASIC語言。BASIC
4、是英文Beginners All-purpose Symbolic Instruction Code(初學者通用符號指令代碼)的縮寫,它是專門為初學者設計的高級語言。,1.2 Visual Basic的發(fā)展和特點,7,Visual Basic是Microsoft公司于1991年推出的基于窗口的可視化程序設計語言?!癡isual”是“可視化的”、“形象化的”的意思。Visual Basic的語法與BASIC語言的語法基本相同,因此Visual Basic也具有易學易用的特點,此外它還提供了一套可視化設計工具,大大簡化了Windows程序界面的設計工作,同時其編程系統(tǒng)采用了面向?qū)ο?、事件?qū)動機制,
5、與傳統(tǒng)BASIC有很大的不同。目前Visual Basic的最新版本是Visual Basic 6.0(簡稱VB 6.0),其功能十分強大,應用Visual Basic可以方便地完成從小的應用程序,到大型的數(shù)據(jù)庫管理系統(tǒng)、多媒體信息處理、功能強大的Internet應用程序等各項任務。,8, 學習版:使用一組工具來創(chuàng)建功能完備的Windows應用程序,(它包括所有的內(nèi)部控件連同網(wǎng)絡、數(shù)據(jù)綁定等控件)適用于初學者 專業(yè)版:在學習版的基礎上添加了一些專門的工具和一個報表編制工具。它主要針對計算機專業(yè)開發(fā)人員,(除了具有學習版的全部功能外,還包括ActiveX和Internet控件開發(fā)工具之類的高級特
6、性) 企業(yè)版:包括了用于客戶/服務器應用程序的工具。(除了具有專業(yè)版的全部功能外,還包括了一些特殊的工具) VB 6.0安裝完成后,“Microsoft Visual Basic 6.0中文版”菜單選項即加入到“開始”菜單的“程序”組中。單擊其中的“Microsoft Visual Basic 6.0中文版”即可啟動VB 6.0。,9,上一頁,下一頁,1.2.2 Visual Basic功能特點,1 引例 例1.1簡單的動畫演示。 一行文字“歡迎使用Visual Basic”在具有背景圖案的窗體中上、下移動(稍改動也可左、右移動)。 移動方法有兩種:單擊手動按鈕,移動50單位;單擊自動按鈕,按
7、時鐘觸發(fā)頻率連續(xù)移動;當內(nèi)容超出窗體范圍時,進行反彈。,本章目錄,10,上一頁,下一頁,2 功能特點 1) 具有面向?qū)ο蟮目梢暬O計工具 2) 事件驅(qū)動的編程機制 3) 提供了易學易用的應用程序集成開發(fā)環(huán)境 4) 結構化的程序設計語言 5) 強大的數(shù)據(jù)庫功能 6) Active技術 7) 網(wǎng)絡功能 8) 多個應用程序向?qū)?9) 完備的Help聯(lián)機幫助功能,本章目錄,VB功能特點,11,上一頁,下一頁,1.3 VB的安裝和啟動,1.3.1 安裝 VB6.0是Windows下的一個應用程序,有學習版、專業(yè)版和企業(yè)版三種版本形式。 VB6.0系統(tǒng)可以在一張CD盤上,也可以在Visual Studio
8、產(chǎn)品的第一張CD盤上。一般都有一個VB自動安裝程序,也可以執(zhí)行VB6.0子目錄下的Setup.exe,在安裝程序的提示下進行,對初學者可采用典型安裝方式。 VB6.0聯(lián)機幫助文件都使用MSDN文檔的幫助方式,聯(lián)機幫助文件不在VB6.0系統(tǒng)盤上,而與Visual Studio產(chǎn)品的幫助集合在兩張CD盤上,在安裝過程中,系統(tǒng)會提示插入MSDN盤。,本章目錄,12,上一頁,下一頁,1.3.2 啟動,選擇程序菜單中的Microsoft Visual Basic 6.0中文版程序,就可啟動VB 6.0。 在VB 6.0窗口列出了VB能夠建立的應用程序類型,初學者只要選擇默認標準.EXE。 在該窗口中有三
9、個按鈕: 新建:建立新工程 現(xiàn)存:選擇和打開現(xiàn)有的工程 最新:列出最近使用過的工程 單擊新建按鈕,就可創(chuàng)建該 類型的應用程序。,本章目錄,13,上一頁,下一頁,1.4 集成開發(fā)環(huán)境,本章目錄,14,上一頁,下一頁,1.主窗口 應用程序窗口由標題欄、菜單欄和工具欄組成 2.窗體(form)窗口 設計vb程序的 界面 3.代碼(code)窗口 編輯窗體、標準模塊中的代碼 4.屬性(properties)窗口 所有窗體或控件的屬性設置 5.工程資源管理器(project expror)窗口 保存一個應用程序所有的文件 6. 工具箱(toolbox)窗口 顯示各種控件的制作工具,供用戶在窗體上設計,本
10、章目錄,15,上一頁,下一頁,1.4.1 窗體窗口,窗體是建立VB應用程序的主要部分,用戶通過與窗體上的控制部件交互可得到結果。每個窗體窗口必須有一個惟一的窗體名字,建立窗體時默認名為Form1、Form2 在設計狀態(tài)的窗體由網(wǎng)格點構成,方便用戶對控件的定位,網(wǎng)格點間距可以通過工具|選項命令,在通用標簽的窗體設置網(wǎng)格中輸入寬度和高度來改變; 運行時可通過屬性控制窗體的可見性(窗體的網(wǎng)格始終不顯示)。 一個應用程序至少有一個窗體窗口,用戶可在應用程序中擁有多個窗體窗口。,本章目錄,16,上一頁,下一頁,1.4.2 屬性窗口,所有窗體或控件的屬性,如顏色、字體、大小等,可以通過屬性窗口來修改。,本
11、章目錄,17,上一頁,下一頁,1.4.3 工程資源管理器窗口,工程資源管理器窗口保存一個應用程序所有屬性以及組成這個應用程序所有的文件。工程文件的擴展名為 .VBP。,本章目錄,18,上一頁,下一頁,1.4.4 代碼窗口,代碼窗口用來顯示和編輯程序代碼。打開代碼窗口方法: (1) 從工程窗口中選擇一個窗體或標準模塊,并選擇查看代碼按鈕; (2) 從窗體窗口中打開代碼窗口,可用鼠標雙擊一個控件或窗體本身; (3) 從視圖菜單中選擇代碼窗口命令。,本章目錄,19,上一頁,下一頁,1.4.5 工具箱窗口,工具箱窗口由21個被繪制成按鈕形式的圖標所構成,顯示了各種控件的制作工具,利用這些工具,用戶可以
12、在窗體上設計各種控件。其中20個控件稱為標準控件(注意,指針不是控件,僅用于移動窗體和控件,以及調(diào)整它們的大小)。 用戶也可通過工程|部件命令將來裝入Windows中注冊過的其他控件裝入到工具箱。,本章目錄,20,第二章 簡單的VB程序設計,2.1 VB對象的概念 2.2 建立簡單的應用程序 2.3 窗體和基本控件 2.4 工程的管理及環(huán)境的設置 2.5 使用幫助系統(tǒng) 2.6 程序調(diào)試,本書目錄,21,上一頁,下一頁,2.1 Visual Basic對象的概念,2.1.1 對象和類 1.對象 可以把對象想象成日常生活中的某個實在的物體。 例如,一個人、一輛汽車、一張桌子、一臺電腦等都是一個個對
13、象。 任何對象都具有各自的特征(屬性)、行為(方法)。 人有身高、體重、視力、聽力等特征;也具有起立、行走、說話、使用電腦、踢足球等行為。 在VB中,將反映對象的屬性和行為封裝在一起,是面向?qū)ο缶幊痰幕驹亍?本章目錄,22,上一頁,下一頁,2.類的概念,類是創(chuàng)建對象實例的模板,是同種對象的集合與抽象,它包含所創(chuàng)建對象的屬性描述和行為特征的定義。 例如,人類是人的抽象,一個個不同的人是人類的實例。各個人具有不同的身高、體重等屬性值和不同的行為。 在VB中,工具箱上的可視圖標是VB系統(tǒng)設計好的標準控件類。通過將控件類實例化,可以得到真正的控件對象,也就是當在窗體上畫一個控件時,就將類轉換為對象
14、,即創(chuàng)建了一個控件對象,簡稱為控件。,本章目錄,23,上一頁,下一頁,例:工具箱內(nèi)的TextBox是類,它確定了TextBox的屬性、方法和事件。窗體上顯示的是兩個Text對象 。,本章目錄,24,3.對象的建立和編輯,對象的建立 (1)在工具箱中單擊左鍵進行選擇 (2)在窗體上按下鼠標左鍵拖動到適當大小 對象的選定 單個對象:單擊對象 多個對象: (1)先選定一個對象,按CTRL鍵再單擊其他對象 (2)拖動鼠標,將欲選定的對象包圍在一個虛線框內(nèi) 對象的復制和刪除 復制:選中對象-單擊復制-單擊粘貼 -彈出的對話框中選“否” 刪除:選中對象,按DEL鍵,25,上一頁,下一頁,屬性、事件和方法構
15、成了對象的三要素。 1. 屬性 屬性保存對象中的數(shù)據(jù)。例如,控件名稱(Name)、標題(Caption)、顏色(Color)、字體(FontName)等屬性決定了對象展現(xiàn)給用戶的界面具有什么樣的外觀及功能。 可以通過以下兩種方法設置對象的屬性: 1) 在設計階段利用屬性窗口直接設置對象的屬性值 2) 在程序運行時間通過語句 對象名.屬性名=屬性值 實現(xiàn) 例如:Command1.Caption=確定 注意:有一些屬性只能在設計階段通過屬性窗口設置,在程序運行階段不可改變,稱為只讀屬性。,2.1.2 對象的屬性、事件和方法,本章目錄,26,上一頁,下一頁,2. 事件、事件過程和事件驅(qū)動 (1) 事
16、件 事件就是發(fā)生在對象上的事情。同一事件,作用于不同的對象,就會引發(fā)不同的反應,產(chǎn)生不同的結果。 例如,在學校,教室樓的鈴聲是一個事件,教師聽到鈴聲就要準備開始講課,向?qū)W生傳授知識;學生聽到鈴聲,就要準備聽教師上課,接受知識;而行政人員對鈴聲可不于響應。 在VB中,系統(tǒng)為每個對象預先定義好了一系列的事件。 例如,單擊(Click)、雙擊(DblClick)、改變(Change)、獲取焦點(GotFocus)、鍵盤按下(KeyPress)等。,事件,本章目錄,27,上一頁,下一頁,(2) 事件過程 應用程序處理事件的步驟就是事件過程。它是針對某一對象的過程,并與該對象的一個事件相聯(lián)系。 VB應用
17、程序設計的主要工作就是為對象編寫事件過程中的程序代碼。 事件過程的形式如下: Sub 對象名_事件 (參數(shù)列表) 事件過程代碼 End Sub 例如單擊命令按鈕Command1 ,使按鈕的字體大小改為20磅: Sub Command1_Click() Command1.FontSize=20 End Sub,本章目錄,事件過程,28,上一頁,下一頁,(3) 事件驅(qū)動程序設計 程序執(zhí)行的先后次序與程序設計者無關,取決于用戶的操作,這就是事件驅(qū)動程序設計方式。 VB程序的執(zhí)行步驟如下: 啟動應用程序,裝載和顯示窗體; 窗體(或窗體上的控件)等待事件的發(fā)生; 事件發(fā)生時,執(zhí)行對應的事件過程; 重復執(zhí)
18、行步驟和。,本章目錄,事件驅(qū)動,29,方法,上一頁,下一頁,3. 方法 面向?qū)ο蟮某绦蛟O計語言,為程序設計人員提供了一種特殊的過程和函數(shù)稱為方法。 因為方法是面向?qū)ο蟮?,所以在調(diào)用時一定要用對象。對象方法的調(diào)用格式為: 對象.方法 參數(shù)名表 若省略了對象,表示為當前對象,一般指窗體。 例如:Form1.Print 歡迎您使用Visual Basic 6.0! 使用Print方法在對象為Form1窗體中顯示“歡迎您使用Visual Basic 6.0!”的字符串。,本章目錄,30,2.2 建立簡單的應用程序,上一頁,下一頁,例2.1編寫一個人民幣與美圓兌換的程序。 建立一個應用程序分為以下幾步進
19、行: (1) 建立用戶界面的對象; (2) 對象屬性的設置; (3) 對象事件過程及編程; (4) 保存和運行程序。,本章目錄,測驗: 在屏幕上顯示“您好,朋友”,采用4個控件,文本控件用來顯示信息,3個命令按紐分別用來執(zhí)行顯示、清除、結束操作。,31,2.3 窗體和基本控件,上一頁,下一頁,2.3.1 基本屬性 (1)Name名稱屬性 所有對象都具有的屬性,是所創(chuàng)建的對象名稱。所有的控件在創(chuàng)建時由VB自動提供一個默認名稱。在程序中,對象名稱是作為對象的標識在程序中而引用。 (2)Caption標題屬性 該屬性決定了控件上顯示的內(nèi)容。 (3)Height、Width、Top和Left屬性 He
20、ight和Width屬性決定了控件的高 度和寬度,Top和Left屬性決定了控件在窗體中的位置。,本章目錄,32,2.3.1 基本屬性之二,上一頁,下一頁,(4) Enabled屬性 決定控件是否允許操作 True:允許用戶進行操作,并對操作作出響應 False:禁止用戶進行操作,呈暗淡色 (5) Visible屬性 決定控件是否可見 True:程序運行時控件可見 False:程序運行時控件隱含起來,但控件本身存在 (6) Font屬性組 改變文本的外觀,其中: FontName字體、FontSize字體大小、FontBold粗體、FontItalic斜體、FontStrikethru刪除線、
21、FontUnderline下劃線,本章目錄,例2.2 在窗體是建立兩個命令按鈕,33,基本屬性之三,上一頁,下一頁,(7) ForeColor屬性 設置或返回控件的前景顏色 (8) BackColor屬性 正文以外的顯示區(qū)域的顏色 (9) MousePointer鼠標指針類型屬性 當鼠標移動到對象的一個特定部分時,被顯示的鼠標指針的類型,設置值的范圍為015 。若值為99,由用戶提供的圖形文件定義鼠標指針形狀。 (10) MouseIcon屬性 設置自定義的鼠標圖標,文件類型為.ico或.cur,圖標庫在Graphics目錄下。該屬性必須在MousePointer屬性設為99時使用。,本章目錄
22、,34,基本屬性之四,上一頁,下一頁,(11) TabIndex屬性 TabIndex屬性決定了按Tab鍵時,焦點在各個控件移動的順序。 當對象具有焦點時,可接受用戶的輸入。Windows環(huán)境下,可同時運行多個應用程序,有多個窗口,但焦點只有一個。 當窗體上有多個控件時,對大部分控件系統(tǒng)會分配一個Tab順序。所謂Tab順序,就是按Tab鍵時焦點在各個控件上移動的順序。一般,其順序與控件建立的順序相同,若要改變順序,可以設置控件的TabIndex屬性,TabIndex屬性決定了它在Tab中的位置。按默認值規(guī)定,第一個建立的控件的TabIndex屬性值為0,第二個為1,依次類推。,本章目錄,35,
23、基本屬性之五,上一頁,下一頁,(12) 控件默認屬性 所謂默認屬性是程序運行時,可以改變某控件的值,而不必指定該控件的哪個屬性。,例如,下面兩條語句是等價的: Text1.Text=Visual BASIC Text1 =Visual BASIC,本章目錄,36,2.3.2 窗體,上一頁,下一頁,窗體是一塊畫布,是所有控件的容器,用戶可以根據(jù)自己的需要利用工具箱上的控件在畫布上畫界面。 1. 主要屬性 窗體屬性決定了窗體的外觀和操作。,本章目錄,37,窗體-屬性,上一頁,下一頁,(1) Caption屬性 決定窗體標題欄顯示的內(nèi)容 (2) MaxButton和MinButton屬性 控制窗體右
24、上角有最大化按鈕和最小化按鈕的顯示 (3) ControlBox屬性 控制窗體左上角有控制菜單框是否出現(xiàn),當無控制菜單框,時,系統(tǒng)將MaxButton和MinButton自動設置為False。 (4) Icon屬性 設置窗體最小化時顯示圖標 (5) Picture屬性 設置窗體中要顯示的圖片 (6) BorderStyle屬性 此屬性決定窗體的邊框類型 (7) WindowsState屬性 窗體執(zhí)行時顯示狀態(tài),正常狀態(tài)、最小化狀態(tài)最大化狀態(tài),本章目錄,38,窗體-事件,上一頁,下一頁,最常用的事件有Click、DblClick和Load。 Load事件是在窗體被裝入工作區(qū)時觸發(fā)的事件。當應用程
25、序啟動,自動執(zhí)行該事件,該事件通常用來在啟動應用程序時對屬性和變量進行初始化。 例2.3使窗體無最大化按鈕和最小化按鈕,在窗體啟動時,在標題欄顯示“裝入窗體”,并在窗體上裝入一背景圖;當用戶單擊窗體,在標題蘭顯示“鼠標單擊”,在窗體中顯示“歡迎使用VB”,雙擊窗體,在標題蘭顯示“鼠標雙擊” ,并在窗體中顯示“結束使用VB” 。,本章目錄,39,2.3.3 標簽-屬性,上一頁,下一頁,除了Caption、Font、Left、Top等外,還有: (1) BackStyle屬性 控制控件是否透明(0透明, 1不透明) (2) BorderStyle屬性 控件周圍是否有邊框(0無, 1有) (3) A
26、lignment屬性 決定Caption屬性值內(nèi)容的對齊方式。 0-左對齊;1-右對齊;2-居中。 (4) AutoSize屬性 AutoSize屬性決定控件是否自動調(diào)整大小 WordWrap屬性決定標簽內(nèi)容超出標簽寬度時,是否自動換行。 例2.4標簽-屬性,本章目錄,40,例2.4 控件設置 效果,41,2.3.3 標簽-事件,上一頁,下一頁,標簽經(jīng)常接收的事件有:單擊(Click),雙擊(DblClick)和改變(Change)。但通常標簽僅起到在窗體上顯示文字作用,因此,一般不需編寫事件過程。 例2.5利用兩個標簽控件,顯示具有浮雕效果的文字 實現(xiàn)思路:浮雕效果可利用兩種顏色的文字錯位疊
27、加來實現(xiàn)。 為了實現(xiàn)錯位,可使兩個標簽的Left、Top屬性值有一點差距。為了避免疊加上去的標簽覆蓋原來標簽顯示的文字,要將標簽的BackStyle背景樣式屬性設置為0,即透明的。,本章目錄,42,2.3.4 文本框-屬性之一,上一頁,下一頁,文本框是一個文本編輯區(qū)域,用戶可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容。 1. 主要屬性 (1) Text文本屬性 文本框無Caption屬性,顯示的正文內(nèi)容存放在Text屬性中。當程序執(zhí)行時,用戶通過鍵盤輸入、編輯正文。 (2) Maxlength屬性 指明文本框中能夠輸入的正文內(nèi)容的最大長度。 0-任意長字符串;非零值-文本框中字符個數(shù)的最大值。
28、注意:在VB中字符長度以字為單位,也就是一個西文字符與一個漢字都是一個字,長度為1。,本章目錄,43,文本框?qū)傩灾?上一頁,下一頁,(3) MultiLine多行屬性 當MultiLine屬性為True時,文本框可以輸入或顯示多行正文,同時具有文字處理器的自動換行功能,即輸入的正文超出顯示框時,會自動換行。按Enter鍵可插入一空行。 (4) ScrollBars滾動條屬性 當MultiLine屬性為True時,ScrollBars屬性才有效。 0(vbNone)無滾動條; 1(vbHorizontal) 加水平滾動條; 2(vbVertical) 加垂直滾動條; 3(vbBoth) 同時加
29、水平和垂直滾動條。 注意:當加入了水平滾動條以后,文本框內(nèi)的自動換行功能會自動消失,只有按Enter鍵才能回車換行。,本章目錄,44,文本框?qū)傩灾?上一頁,下一頁,(5) Locked屬性 控制文本控件的內(nèi)容是否可被編輯,當設置為True時,文本控件相當于標簽的作用。 (6) SelStart、SelLength和SelText屬性 在程序運行中,用來標識用戶選中的正文。 SelStart 選定的正文的開始位置,第一個字符的位置是0。 SelLength 選定的正文長度。 SelText 選定的正文內(nèi)容。 設置了SelStart和SelLength屬性后,VB會自動將設定的正文存入SelTe
30、xt。 例2.6創(chuàng)建一個簡單的文本編輯器,本章目錄,45,2.3.4 文本框-事件,上一頁,下一頁,(1) Change事件 當Text屬性值發(fā)生改變時會引發(fā)該事件。用戶每輸入一個字符就會引發(fā)一次Change事件。 (2) KeyPress事件 當按下并且釋放鍵盤上的一個鍵時,就會引發(fā)焦點所在控件的KeyPress事件,參數(shù)KeyAscii指示按鍵的Ascii碼值。 事件中最常用于判斷是否輸入回車符(KeyAscii的值為13) (3) LostFocus事件 此事件是在一個對象失去焦點時發(fā)生。 (4) GotFocus事件 當一個對象獲得焦點時發(fā)生。,本章目錄,46,2.3.4 文本框-方法
31、,上一頁,下一頁,文本框最有用的方法是SetFocus,該方法是把光標移到指定的文本框中。當在窗體上建立了多個文本框后,可以用該方法把光標置于所需要的文本框上。其形式如下: 對象.SetFocus,本章目錄,47,例2.7 對輸入的數(shù)據(jù)進行合法性檢驗,過濾不合法的數(shù)據(jù)。 當輸入結束時,對于輸入正確的數(shù)據(jù),顯示正確信息;對輸入的非數(shù)字數(shù)據(jù)顯示錯誤信息、清除文本框中的內(nèi)容,并使焦點重新回到文本框。 分析:在文本框輸入數(shù)據(jù),可通過回車鍵或按Tab鍵表示輸入結束,當然引發(fā)的事件也不同。按回車鍵,焦點沒有離開,通過KeyPress事件來判斷;按Tab鍵,焦點離開該控件,通過LostFocus事件來判斷。
32、本例以按Tab鍵表示輸入結束。 Text2_ LostFocus 當輸入結束按Tab鍵時,該事件激發(fā) IsNumeric(Text2) : 判斷是否輸入非數(shù)字數(shù)據(jù). Text2.SetFocus : 使焦點重新回到文本框,文本框的應用 數(shù)據(jù)過濾,48,2.3.5 命令按鈕,上一頁,下一頁,在程序運行時,當用戶選中某個命令按扭時就會執(zhí)行相應的事件過程。常用以下方法可以選中命令按鈕: (1) 用鼠標單擊。 (2) 按Tab鍵將焦點移到相應按鈕上,再按回車鍵。 (3) 快捷鍵(Alt+有下劃線的字母)。 1. 主要屬性 (1) Caption 屬性 如果某個字母前加入 String(6 - I, )
33、; Spc(6); String(I, ) Next i End Sub 考慮:若把Spc(6)換成Tab(6),效果如何?,54,常用方法,上一頁,下一頁,1)Cls方法 形式 : 對象.Cls 作用 : 清除運行時在窗體或圖形框中顯示的文本或圖形。 注意 : 不清除在設計時的文本和圖形。 2) Move方法 形式 : 對象.Move 左邊距離,上邊距離,寬度,高度 作用 : 移動窗體或控件,并可改變其大小。 對象:可以是窗體及除時鐘、菜單外的所有控件 例2.10移動圖形示例,程序運行時在圖像框裝入一幅圖,單擊窗體使圖像框移到窗體的中心,本章目錄,55,2.4 工程的管理及環(huán)境的設置,一.工
34、程的組成 一個工程包括各種類型的文件: 工程文件(.Vbp):與該工程有關的全部文件和對象的清單 窗體文件(.frm):控件及屬性、事件過程和自定義過程 窗體的二進制數(shù)據(jù)文件(.frx):當窗體上控件的數(shù)據(jù)屬性含有二進制值時(如圖片),將窗體保存時,系統(tǒng)自動產(chǎn)生同名.frx文件。 標準模塊文件(.bas):包含模塊級的變量和外部過程的聲明 二.創(chuàng)建、打開和保存工程(略),本章目錄,56,注意: 1.窗體名和窗體文件名概念, 窗體名:窗體的Name屬性,在代碼中用來引用該窗體,同一工程不能有相同的窗體名; 窗體文件名:窗體存放在磁盤上的文件名,該文件包含了該窗體的所有控件屬性和代碼,同一文件夾不
35、能有相同的文件名。 2. 在工程中添加現(xiàn)存的窗體時,只是將對該窗體文件的引用納入工程,而不是添加該文件的復制件。因此,如果更改窗體并保存它,會影響包含此窗體文件的任何工程。 3. 在工程中刪除窗體時,僅將此窗體從工程里刪除掉,但是窗體文件仍存在于磁盤上。但是,如果在VB之外刪除一個窗體文件,VB不能更新此工程文件,當打開此工程時,將顯示一個文件丟失的錯誤信息。 4.對窗體文件改名(P43),三.添加、刪除和保存文件,57,2.5 使用幫助系統(tǒng),上一頁,下一頁,使用MSDN Library查閱器 通過VB的幫助菜單,選擇內(nèi)容、索引或搜索菜單項,本章目錄,58,2.6 程序調(diào)試,.錯誤類型 (1)
36、編輯錯誤 在編輯代碼時,VB會對鍵入的代碼直接進行語法檢查。當發(fā)現(xiàn)代碼存在打字錯誤,遺漏關鍵字或標點符等語法錯誤,VB在Form窗口中彈出一個子窗口,提示出錯信息,出錯的那一行變成紅色。這時,用戶必須單擊“確定”按鈕,關閉出錯提示窗,然后對出錯行進行修改。,本章目錄,59,(2)編譯錯誤 編譯錯誤指按了“啟動”按鈕,VB開始運行程序前,先編譯執(zhí)行的程序段時,產(chǎn)生的錯誤。此類錯誤由于用戶未定義變量、遺漏關鍵字等原因產(chǎn)生。這時,Visual Basic也彈出一個子窗口,提示出錯信息,出錯的那一行被高亮度顯示。,60,(3) 運行錯誤 運行時錯誤指VB在編譯通過后,運行代碼時發(fā)生的錯誤。這類錯誤往往
37、是指令代碼執(zhí)行了一非法操作引起的。例如類型不匹配、試圖打開一個不存在的文件等。,61,(4) 邏輯錯誤 程序運行后,得不到所期望的結果,這說明程序存在邏輯錯誤。這類錯誤往往是程序存在邏輯上的缺陷所引起。例如,運算符使用不正確、語句的次序不對、循環(huán)語句的起始、終值不正確等。通常,邏輯錯誤不會產(chǎn)生錯誤提示信息,故錯誤較難排除,需要程序員仔細地閱讀分析程序以及調(diào)試。,62,2 調(diào)試錯誤 (1) VB的三種模式 設計模式設計 進行程序的界面設計、屬性設置、代碼編寫等。 運行模式運行 執(zhí)行“運行/啟動”命令,可以查看程序代碼,但不能修改。 中斷模式中斷 當在運行模式,按了“中斷”命令或當程序出現(xiàn)運行時錯
38、誤時進入中斷模式。可以查看代碼、修改代碼、檢查數(shù)據(jù)。,63,2 設置斷點和逐語句跟蹤 斷點是告訴VB掛起程序執(zhí)行的一個標記,當程序執(zhí)行到斷點處即暫停程序的運行,進入中斷模式。設置或刪除斷點的步驟: 中斷模式下,直接查看某個變量的值,只要把鼠標指向所關心的變量處,稍停一下,就在鼠標下方顯示該變量的值。,斷點標記,當前行,64,1. 使用中文標點符號 系統(tǒng)產(chǎn)生“無效字符”,以紅色顯示 2. 字母和數(shù)字形狀相似 小寫字母“l(fā)”和數(shù)字“1”形式相同、小寫字母“o”與數(shù)字“0”。 3. 對象名稱(Name) 寫錯 Text1、Text2、Command1 txtInput、txtOutput、cmdOk
39、 4.對象的屬性名、方法名、標準函數(shù)名寫錯 盡量使用自動列出成員功能。正確的系統(tǒng)按規(guī)定的大小寫表示。 5. 無意形成控件數(shù)組 建立控件時小心使用“復制”、“粘貼”按鈕 6. 打開工程時找不到對應的文件 保存文件時先保存窗體.frm文件、再保存.vbp文件,注意路徑。,2.7 常見錯誤,65,第三章 Visual Basic語言基礎,3.1 數(shù)據(jù)類型 3.2 變量與常量 3.3 運算符和表達式 3.4 常用內(nèi)部函數(shù) 3.5 編碼規(guī)則,本書目錄,66,3.1 數(shù)據(jù)類型,上一頁,下一頁,本章目錄,67,3.1 VB中的數(shù)據(jù)類型,一 數(shù)據(jù)類型 在為計算機編程時,會使用各種各樣的數(shù)據(jù)。因此,我們在編寫程
40、序代碼時就必須事先說明所使用的數(shù)據(jù)類型,以便計算機能夠正確識別.VB中提供了:數(shù)值型、字符型、布爾型 、日期型、對象型、變體型等數(shù)據(jù)類型 . 1 數(shù)值(Numeric) 數(shù)值型包括:整型Integer(%)、長整型Long( 若密碼錯,顯示有關信息,選擇“重試”按鈕,清除原內(nèi)容再輸入,選擇“取消”按鈕,停止運行。密碼3次有錯,退出! 分析: 帳號6位,MaxLength為6 , LostFocus判斷數(shù)字IsNumeric函數(shù) 密碼PassWordChar為“*”,MsgBox函數(shù)設置密碼錯對話框.,117,課堂作業(yè),從鍵盤上輸入4個數(shù),編寫程序,計算并輸出這4個數(shù)的和及平均值。 要求: (1
41、)單擊窗體,通過Inputbox函數(shù)輸入數(shù)據(jù)。 (2)在窗體上顯示這4個數(shù)及數(shù)的和、平均值。程序運行界面如下圖所示,118,上一頁,下一頁,4.2 選擇結構,計算機要處理的問題往往是復雜多變的,僅采用順序結構是不夠的。必須利用選擇結構等來解決實際應用中的各種問題。VB中提供了多種形式的條件語句來實現(xiàn)選擇結構,有If條件語句和Select情況語句等。它們都是對條件進行判斷,根據(jù)判斷結果,選擇執(zhí)行不同的分支。,本章目錄,119,上一頁,下一頁,4.2.1 If條件語句,1. IfThen語句(單分支結構) If Then 語句塊(可以是一句或多句語句) End If 或 If Then 表達式:關
42、系表達式、邏輯表達式,算術表達式。表達式值按非零為True,零為False進行判斷。 該語句的作用是當表達式的值為True,執(zhí)行Then后面的語句塊,否則不做任何操作。,本章目錄,120,上一頁,下一頁,單分支結構,例:已知兩個數(shù)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,只能是一句語句或語句間用冒號分隔,而且必須在一行上書寫。 重要的是學會兩個數(shù)的交換,若上述語句次序變一下,結果如何?,本章目錄,121,雙分支結構,上一頁,下一頁,2. IfThenEls
43、e語句 If 表達式 Then 語句塊1 Else 語句塊2 End If 或 If 表達式 Then 語句1 Else 語句2 當表達式的值為True時,執(zhí)行Then后面的語句塊1,否則執(zhí)行Else后面的語句塊2,本章目錄,122,雙分支結構例,上一頁,下一頁,計算分段函數(shù),單分支結構實現(xiàn): y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr (x*x+1),雙分支結構實現(xiàn): If x0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)x3+3*x End If,本章目錄,123,例題,例1:由鍵盤輸入一個數(shù),該數(shù)大于等于0,則求該數(shù)的
44、平方根,否則,輸出錯誤信息。 例2:文本框Tex1作為數(shù)字輸入框,當輸入的為數(shù)字,則將其在Tex2中輸出。否則清除Tex1中的內(nèi)容,并將焦點定位在Tex1中,124,上一頁,下一頁,多分支結構,3. IfThenElseIf語句 If 表達式1 Then 語句塊1 ElseIf 表達式2 Then 語句塊2 Else 語句塊 n+1 End If,該語句的作用是根據(jù)不同的表達式值確定執(zhí)行哪個語句塊,本章目錄,125,上一頁,下一頁,例4.5已知變量strC中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。 If Ucase(strC) =A And Ucase (strC) =0
45、And strC =9 Then Print strC + 是數(shù)字字符 Else Print strC + 其他字符 End If,不管有幾個分支,依次判斷,當某條件滿足,執(zhí)行相應的語句,其余分支不再執(zhí)行;若條件都不滿足,且有Else子句,則執(zhí)行該語句塊,否則什么也不執(zhí)行。. ElseIf不能寫成 Else If。,多分支結構例,本章目錄,126,例 已知百分制成績mark,顯示對應的五級制成績 哪些正確,哪些錯誤?,返回,127,上一頁,下一頁,If語句的嵌套是指If或Else后面的語句塊中又包含If語句 If 表達式1 Then If 表達式11 Then End If End If,If
46、 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三個數(shù),使得xyz 用一個IF語句和一個嵌套的IF語句實現(xiàn),本章目錄,128,上一頁,下一頁,4.2.2 Select Case語句,Select Case 變量或表達式 Case 表達式列表1 語句塊1 Case 表達式列表2 語句塊2 Case Else 語句塊n+1 End Select,表達式列表與變量或表達式的類型必須相同,是下面4種形式之一 : 表達式 例: A 一組用逗號分隔的
47、枚舉值 2,4,6,8 表達式1 To 表達式2 60 To 100 Is 關系運算符表達式 Is 60,本章目錄,129,上一頁,下一頁,Select Case語句例,將例4.5改成Select Case語句實現(xiàn)如下: Select Case strC Case a To z,A To Z Print strC + 是字母字符 Case 0 To 9 Print strC +是數(shù)字字符 Case Else Print strC + 是其他字符 End Select 對于多分支結構,用Select Case語句比用IfThenElseIf語句直觀,程序可讀性強。但不是所有的多分支結構均可用Se
48、lect Case語句代替IfThenElseIf語句。,本章目錄,130,上一頁,下一頁,Select Case語句例,例4.6 已知坐標點(x,y),判斷其落在哪個象限。,代碼一 If x 0 And y 0 Then Print 在第一象限 ElseIf 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 Se
49、lect,代碼二錯誤: 1. Select Case 后不能出現(xiàn)多個變量; 2. Case后不能出現(xiàn)邏輯表達式。,本章目錄,131,例 輸入百分制成績mark,顯示對應的五級制成績,哪些能實現(xiàn),哪些不能實現(xiàn)?,返回,132,例4.7由計算機來當一年級的算術老師,要求給出一系列的110的操作數(shù)和運算符,學生輸入該題的答案,計算機根據(jù)學生的答案判斷正確與否,當結束時給出成績。 分析:產(chǎn)生110操作數(shù),可通過Int(10 * Rnd + 1) 實現(xiàn),Command1,Picture1,Text1,label1,133,上一頁,下一頁,4.2.3 條件函數(shù),1)IIf 函數(shù) IIf(表達式,當表達式為
50、True時的值,當表達式為False時的值) 例如,求x,y中大的數(shù),放入Tmax變量中,語句如下: Tmax=IIf(x y,x,y) 2)Choose函數(shù) Choose(數(shù)字型變量,值為1的返回值,值為2的返回值) 例如,Nop是14的值,轉換成 + 、-、運算符的語句如下: Op= Choose(Nop,+,-,) 當值為1,返回字符串“+”,然后放入Op變量中,值為2,返回字符串“-”,依次類推;當Nop是14的非整數(shù),系統(tǒng)自動取整再判斷;若Nop不在14之間,函數(shù)返回Null值。,本章目錄,134,常見錯誤 1在選擇結構中缺少配對的結束語句 2. 多分支選擇ElseIf關鍵字的書寫
51、ElseIf 不要寫成Else If; 3.條件表達式的表示 多個條件表達式次序問題,見例 3. Select Case語句的使用 Select Case 后不能出現(xiàn)多個變量;Case子句后不能出現(xiàn)變量見例,135,課堂作業(yè),某航空公司規(guī)定:在旅游旺季79月份,如果訂票超過20張,優(yōu)惠票價的15%;20張以下的優(yōu)惠5%;在旅游淡季15月份、10、11月份,訂票超過20張,優(yōu)惠票價的30%;20張以下的優(yōu)惠20%;其它時間訂票的一律優(yōu)惠2%。(要求要對輸入的數(shù)據(jù)進行判斷),136,上一頁,下一頁,4.3 循環(huán)結構,我們已經(jīng)學習了順序結構和分支結構,這種結構的特點是任何一條語句至多只執(zhí)行一次,但是
52、在處理實際問題的過程中,用這種結構來編寫程序就長得不能忍受。,本章目錄,引例:求1+2+3+100的和? S=0 S=S+1 S=S+2 S=S+3 共101條語句,實際上這就是一種重復循環(huán)操作, VB中提供了兩種類型的循環(huán)語句:一種是計數(shù)循環(huán)語句;另一種是條件型循環(huán)語句。,137,上一頁,下一頁,4.3.1 For循環(huán)語句,For循環(huán)語句用于控制循環(huán)次數(shù)預知的循環(huán)結構。 For 循環(huán)變量 初值 To 終值 Step 步長 語句塊 Exit For 語句塊 Next 循環(huán)變量 循環(huán)變量必須為數(shù)值型。 循環(huán)次數(shù),0 初值終值 =0 死循環(huán),步長,本章目錄,138,上一頁,下一頁,For循環(huán)語句,
53、循環(huán)流程: (1) 循環(huán)變量被賦初值,它僅被賦值一次。 (2) 判斷循環(huán)變量是否在終值內(nèi),如果是,執(zhí)行循環(huán)體;如果否,結束循環(huán),執(zhí)行Next的下一語句。 (3) 循環(huán)變量加步長,轉(2),繼續(xù)循環(huán),本章目錄,139,循環(huán)執(zhí)行次數(shù) 輸出I的值分別為: 2 5 8 11 出了循環(huán)輸出為: I=14,例: For I=2 To 13 Step 3 Print I , Next I Print Print “I=“, I,例4.8 計算1100的累加和 問題:求1100中偶數(shù)和、奇數(shù)和,如何修改上例程序。,140,例題,例4.9求自然數(shù)15的階乘,用圖形框輸出 例4.10:利用隨機數(shù)函數(shù)(RND)產(chǎn)生
54、200個200600之間的整數(shù),每行輸出10個數(shù),找出這些整數(shù)中最大數(shù)和最小數(shù)。 P90 例4.10(自學),141,上一頁,下一頁,4.3.2 DoLoop循環(huán)語句,Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結構。 形式1: Do While|Until 語句塊 Exit Do 語句塊 Loop 形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行; 形式2為先執(zhí)行后判斷,至少執(zhí)行一次。,形式2: Do 語句塊 Exit Do 語句塊 Loop While|Until ,本章目錄,142,描述,1、在DO循環(huán)中都可以使用EXIT DO退出循環(huán)。 2、DO WHILE 循環(huán)是首先判斷條件是否為真(滿足),為真執(zhí)行
55、循環(huán)體,執(zhí)行完循環(huán)體再判斷條件是否為真,為真重復執(zhí)行,直至條件為假(不滿足)時退出循環(huán)。先判斷、后執(zhí)行。 3、DO UNTIL循環(huán)是首先判斷條件是否為真(滿足),若條件為真則退出循環(huán),只有為假(條件不滿足)時才執(zhí)行循環(huán)。先判斷、后執(zhí)行。 4、DO LOOP WHILE 循環(huán)是首先執(zhí)行循環(huán)體,再判斷條件是否為真,若為真繼續(xù)循環(huán),條件為假(不滿足)退出該循環(huán),它是先執(zhí)行、后判斷。 5、DO LOOP UNTIL 循環(huán)是首先執(zhí)行循環(huán)體,然后再判斷條件,若條件為真(滿足),則退出循環(huán),若條件不滿足,繼續(xù)循環(huán)。直到條件滿足(為真)才退出該循環(huán),它是先執(zhí)行、后判斷。,143,上一頁,下一頁,DoLoop流
56、程,本章目錄,144,例題,Do While Loop s = 0: c = 0 Do While c Loop s = 1: c = 2 Do Until c 5 s = s * c Print c, s c = c + 2 Loop,145,測試,分別用DO循環(huán)的5種形式編寫求自然數(shù)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
57、: sum = 0 Do sum = sum + i i = i + 1 If i 100 Then Exit Do Loop Print sum,146,上一頁,下一頁,循環(huán)例題,例4.11 我國有13億人口,按人口年增長0.8%計算,多少年后我國人口超過26億。,本章目錄,x = 13 n = 0 Do While x 26 x = x * 1.008 n = n + 1 Loop Print n, x,147,上一頁,下一頁,循環(huán)例題,例4.12 用輾轉相除法求兩自然數(shù)的最大公約數(shù)和最小公倍數(shù)。 求最大公約數(shù)的算法思想: (1)對于已知兩數(shù)m,n,使得mn (2) m除以n得余數(shù)r (3
58、)若r=0,則n為最大公約數(shù),結束;否則執(zhí)行(4) (4)mn,nr,再重復執(zhí)行(2) 最小公倍數(shù):兩數(shù)相乘除以最大公約數(shù),例 m=14 n=6 的最大公約數(shù) m=14, n= 6 r=2 M=6, n=2 r=0 最大公約數(shù)為 :2 最小公倍數(shù)為:42,本章目錄,Do r = m Mod n If r = 0 Then Exit Do Else m = n: n = r End If Loop While r 0,148,輾轉相減法,Do If m n Then r = m - n Else r = n - m End If If r = 0 Then Exit Do m = IIf(m n, m, n): n = r Loop,m-n mn n-m nm 0 m=n,1.對于已知m,n,計算,2.若r=0 ,則m或n為最大公約數(shù),結束,否則,轉3 3.m=min(m,n),n=r,再重復執(zhí)行1,149,4.3.3 循環(huán)的嵌套,例4.13:二重循環(huán)。 Private Sub Command1_Click() Dim m%, n% For m = 1 To 3 For n = 1 To
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代網(wǎng)絡教育技術的優(yōu)勢與挑戰(zhàn)
- 環(huán)境保護技術的創(chuàng)新及其商業(yè)模式研究
- 深化綠色能源技術教育的重要性
- 國慶節(jié)洋酒活動方案設計
- 充電樁設備安裝施工方案
- 15 可親可敬的家鄉(xiāng)人1(說課稿)2024-2025學年統(tǒng)編版道德與法治二年級上冊
- many、much、a lot of(說課稿)-2023-2024學年譯林版(三起)英語六年級下冊
- 11屹立在世界的東方 自力更生 揚眉吐氣 說課稿-2023-2024學年道德與法治五年級下冊統(tǒng)編版
- 2024-2025學年高中歷史 專題六 穆罕默德 阿里改革 一 亟待拯救的文明古國(1)教學說課稿 人民版選修1001
- 2023九年級數(shù)學上冊 第二十一章 一元二次方程21.3 實際問題與一元二次方程第3課時 實際問題與一元二次方程(3)說課稿(新版)新人教版
- GB/T 16659-2024煤中汞的測定方法
- 閃蒸罐計算完整版本
- (高清版)DZT 0073-2016 電阻率剖面法技術規(guī)程
- 完整2024年開工第一課課件
- 貨運車輛駕駛員安全培訓內(nèi)容資料完整
- 高一學期述職報告
- 風神汽車4S店安全生產(chǎn)培訓課件
- ICU患者的體位轉換與床旁運動訓練
- 人教版四年級上冊豎式計算200題及答案
- 建設工程工作總結報告
- 脾破裂術后健康宣教課件
評論
0/150
提交評論