㈠ VB語言程序設計的作品目錄
第1章認識VisualBasic
1.1VB概述
1.1.1VB的發展過程
1.1.2VB的特點
1.1.3VB的啟動和退出
1.2對VB應用程序設計的初步認識
1.2.1設計VB應用程序的步驟
1.2.2第一個簡單程序
1.2.3第二個簡單程序
1.3對象和事件的基本概念
1.3.1對象及其屬性、方法和類
1.3.2事件、事件過程及事件驅動
1.4VB的集成開發環境
1.4.1主窗口
1.4.2工具箱和控制項
1.4.3其他窗口
1.4.4使用幫助系統
1.5工程管理
1.5.1工程中的文件
1.5.2創建、打開和保存工程
1.5.3添加、刪除和保存文件
1.5.4程序的運行
習題1
編程及上機調試
第2章程序設計基礎
2.1數據類型
2.2常量與變數
2.2.1常量
2.2.2變數
2.3表達式
2.3.1算術表達式
2.3.2字元串表達式
2.3.3日期表達式
2.4常用內部函數
2.4.1數學函數
2.4.2字元串函數
2.4.3日期/時間函數
2.4.4類型轉換函數
2.5程序代碼編寫規則
2.5.1語句及語法
2.5.2代碼書寫規則
2.5.3結構化程序的基本結構
習題2
編程及上機調試
第3章順序結構程序設計
3.1賦值語句
3.2注釋、結束與暫停語句
3.3使用Print方法輸出數據
3.3.1Print方法
3.3.2特殊列印格式
3.4窗體
3.4.1窗體的基本屬性
3.4.2窗體的事件
3.4.3窗體的方法
3.4.4焦點與Tab鍵序
3.5基本控制項
3.5.1控制項的公共屬性
3.5.2命令按鈕
3.5.3標簽
3.5.4文本框
3.6使用對話框
3.6.1輸入對話框
3.6.2消息對話框
3.7程序舉例
習題3
編程及上機調試
第4章選擇結構程序設計
4.1條件表達式
4.1.1關系表達式
4.1.2邏輯表達式
4.2條件語句
4.2.1If...Then語句
4.2.2If...Then...Else語句
4.2.3IIf函數
4.2.4條件語句的嵌套
4.3多分支語句
4.4選擇性控制項
4.4.1單選按鈕
4.4.2復選框
4.5計時器控制項
4.6程序舉例
習題4
編程及上機調試
第5章循環結構程序設計
5.1循環語句
5.1.1For...Next循環語句
5.1.2Do...Loop循環語句
5.1.3While...Wend循環語句
5.1.4循環出口語句
5.2多重循環
5.3列表框與組合框
5.3.1列表框
5.3.2組合框
5.4常用演算法
5.5程序舉例
習題5
編程及上機調試
第6章數組
6.1數組的概念
6.1.1數組與數組元素
6.1.2下標和數組的維數
6.2數組的聲明和應用
6.2.1數組聲明語句
6.2.2Array函數
6.2.3數組的應用
6.3動態數組
6.3.1建立動態數組
6.3.2數組刷新語句
6.4ForEach...Next循環語句
6.5控制項數組
6.5.1控制項數組的概念
6.5.2控制項數組的建立
6.5.3控制項數組的使用
6.6程序舉例
習題6
編程及上機調試
第7章過程
7.1通用過程
7.1.1Sub過程
7.1.2Function過程
7.2參數傳遞
7.2.1形參與實參
7.2.2按地址傳遞和按值傳遞
7.3過程的嵌套調用
7.4變數的作用范圍
7.4.1代碼模塊的概念
7.4.2變數的作用域
7.4.3變數的生存期
7.5多窗體與SubMain過程
7.5.1多窗體處理
7.5.2SubMain過程
7.6程序舉例
習題7
編程及上機調試
第8章程序調試與錯誤處理
8.1VB程序中的錯誤類型
8.2程序工作模式
8.3程序調試
8.3.1靜態檢查與動態檢查
8.3.2使用VB調試工具
8.4錯誤處理
8.4.1錯誤處理的步驟
8.4.2Err對象
8.4.3捕獲錯誤語句
8.4.4退出錯誤處理語句
習題8
編程及上機調試
第9章數據文件與文件管理
9.1數據文件
9.1.1數據文件的基本概念
9.1.2順序文件
9.1.3隨機文件
9.1.4二進制文件
9.2文件基本操作
9.3文件系統控制項
習題9
編程及上機調試
第10章菜單及對話框
10.1鍵盤與滑鼠事件
10.1.1鍵盤事件
10.1.2滑鼠事件
10.1.3拖放操作
10.2菜單設計
10.2.1下拉式菜單
10.2.2菜單編輯器
10.2.3菜單的Click事件
10.2.4運行時改變菜單屬性
10.2.5彈出式菜單
10.3對話框
10.3.1通用對話框
10.3.2自定義對話框
習題10
編程及上機調試
第11章繪圖及其他常用控制項
11.1框架
11.2滾動條
11.3圖形方法和圖形控制項
11.3.1坐標系
11.3.2圖形方法
11.3.3圖片框
11.3.4圖像框
11.3.5Shape形狀控制項
11.3.6Line直線控制項
11.4GoTo語句和幾個定義語句
習題11
編程及上機調試
附錄A字元ASCII碼表
附錄B顏色代碼
附錄C習題參考答案
㈡ vb程序設計教程答案
Option Explicit
Private Sub Command1_Click()
Dim a() As Integer
Dim i, j, n
ReDim a(9, 9)
For i = 1 To 8
Print Tab(25 - i * 2);
For j = 1 To i
a(i, 1) = 1
a(i, i) = 1
a(i + 1, j + 1) = a(i, j) + a(i, j + 1)
Print a(i, j);
Next j
Print
Next i
End Sub
㈢ 計算機等級考試考點分析、題解與模擬二級VB(2012年專用)目錄
本文內容詳盡分析了計算機等級考試中關於二級Visual Basic部分的考點、題解與模擬題。全書分為11章,從Visual Basic程序開發環境到上機全真模擬試題,系統地介紹了Visual Basic的相關知識和實踐技能。
第一章「Visual Basic程序開發環境」詳細介紹了Visual Basic的特點、版本、啟動與退出方法,主窗口和其它窗口的使用,以及經典題解和同步練習。
第二章「對象及其操作」深入講解了對象、窗體和控制項的概念,控制項的畫法和基本操作,Visual Basic中的語句,編寫簡單應用程序,以及程序的保存、裝入和運行等。
第三章「程序設計基礎」涵蓋了數據類型、常量和變數、變數的作用域、內部函數、字元處理與字元串函數、運算符與表達式、數據輸出和輸入方法,以及MsgBox函數和字型、列印機輸出等內容。
第四章「常用標准控制項」對文本控制項、圖形控制項、按鈕控制項、選擇控制項(復選框、單選按鈕、列表框和組合框)、滾動條、計時器、框架、焦點與Tab順序進行了詳細描述。
第五章「控制結構與數組」從選擇控制結構、多分支控制結構、循環控制結構(For、當、Do循環)以及GoTo型控制結構、數組的概念、靜態與動態數組、數組操作等方面進行探討。
第六章「過程」詳細介紹了Sub過程與Function過程、參數傳遞、可選和可變參數、對象參數、局部內存分配和Shell函數。
第七章「菜單與對話框」涉及Visual Basic中的菜單、菜單編輯器、菜單項控制與增減、彈出式菜單、對話框概述、文件對話框和其他對話框。
第八章「鍵盤與滑鼠事件過程」介紹了KeyPress事件、KeyDown和KeyUp事件、滑鼠事件、滑鼠游標形狀、拖放等。
第九章「多重窗體與數據文件」講解了多重窗體應用程序的建立、執行與保護、工程結構、閑置循環與DoEvents語句、文件的打開與關閉、文件操作語句和函數、順序文件和隨機文件、文件系統控制項。
第十章「筆試全真模擬試卷」提供了三套全真模擬筆試試題,每套試題配有參考答案及解析。
第十一章「上機全真模擬試題」則包括考試紀律、操作步驟以及三套上機全真模擬試題,同樣提供了參考答案及解析。
附錄部分包括全國計算機等級考試二級Visual Basic考試大綱、2011年3月和9月的筆試試卷、參考答案及解析。
本文內容覆蓋了從理論知識到實踐操作的各個方面,旨在幫助考生全面掌握Visual Basic的基礎知識與技能,為計算機等級考試做好充分准備。
㈣ 《vb程序設計教程》 王賀明主編 課後習題答案,謝謝啦!
第一題:
這部分內容主要考察的是程序設計語言的知識點:
開發圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預先建立的對象add到屏幕上的一點即可。 「Basic」指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術發展歷史上應用得最為廣泛的語言。
VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接資料庫,或者輕松的創建ActiveX控制項,用於高效生成類型安全和面向對象的應用程序 。程序員可以輕松的使用VB提供的組件快速建立一個應用程序。
在使用傳統的程序設計語言編程時,一般需要通過編寫程序來設計應用程序的界面(如界面的外觀和位置等),在設計過程中看不見界面的實際效果。而在Visual Basic 6.0中,採用面向對象程序設計方法(Object-Oriented Programming),把程序和數據封裝起來作為一個對象,每個對象都是可視的。
開發人員在界面設計時,可以直接用Visual Basic 6.0的工具箱在屏幕上"畫"出窗口、菜單、命令按鍵等不同類型的對象,並為每個對象設置屬性。開發人員要做的僅僅是對要完成事件過程的對象進行編寫代碼,因而程序設計的效率可大大提高。
㈤ VB語言程序設計教程的目錄
第1章 Visual Basic概述 1
1.1 Visual Basic的發展歷程及特點 1
1.1.1 Visual Basic的發展歷程 1
1.1.2 Visual Basic語言的主要特點 2
1.2 Visual Basic 6.0的安裝與啟動 3
1.2.1 Visual Basic 6.0的安裝 3
1.2.2 Visual Basic 6.0的啟動與退出 4
1.3 Visual Basic 6.0的集成開發環境 6
1.3.1 主窗口 6
1.3.2 窗體設計器窗口 7
1.3.3 工程資源管理器窗口 8
1.3.4 屬性窗口 8
1.3.5 工具箱窗口 9
1.3.6 代碼窗口 10
1.3.7 立即窗口 10
1.3.8 調色板窗口 11
1.3.9 窗體布局窗口 11
1.3.10 對象瀏覽器窗口 11
習題 12
第2章 Visual Basic簡單程序設計 13
2.1 面向對象程序設計基本概念 13
2.1.1 對象 13
2.1.2 對象的三要素 13
2.2 窗體 15
2.2.1 窗體結構 15
2.2.2 窗體的屬性、方法和事件 15
2.3 基本控制項 18
2.3.1 標簽 20
2.3.2 文本框 21
2.3.3 命令按鈕 23
2.4 Visual Basic應用程序設計步驟 24
習題 30
第3章 Visual Basic程序設計基礎 33
3.1 命名規則和語法規則 33
3.1.1 命名規則 33
3.1.2 語句與語法規則 33
3.2 數據類型 34
3.2.1 基本數據類型 34
3.2.2 自定義數據類型 37
3.3 常量與變數 37
3.3.1 常量 37
3.3.2 變數 38
3.3.3 變數的作用域 39
3.3.4 默認聲明 41
3.4 運算符和表達式 42
3.4.1 算術運算符 42
3.4.2 關系運算符 43
3.4.3 邏輯運算符 44
3.4.4 字元串運算符 45
3.4.5 表達式 45
3.5 常用函數 46
3.5.1 數學函數 46
3.5.2 轉換函數 47
3.5.3 字元串函數 47
3.5.4 日期和時間函數 48
3.5.5 格式輸出函數 48
習題 49
第4章 Visual Basic程序控制結構 51
4.1 順序結構程序設計 51
4.1.1 演算法 51
4.1.2 順序結構中的常用語句 52
4.1.3 順序結構中的數據輸出 53
4.1.4 InputBox函數 56
4.1.5 MsgBox函數?56
4.2 選擇結構程序設計 59
4.2.1 if語句和iif函數 59
4.2.2 Select Case語句 63
4.3 循環結構程序設計 66
4.3.1 Do loop語句 66
4.3.2 While Wend語句 67
4.3.3 For…Next語句 67
4.3.4 循環嵌套語句 69
4.3.5 其他控制語句 71
習題 72
第5章 數組與過程 80
5.1 數組 80
5.1.1 一維數組 80
5.1.2 二維數組及多維數組 83
5.1.3 動態數組 85
5.1.4 For Each…Next語句 88
5.1.5 控制項數組 89
5.2 過程 91
5.2.1 過程的概念 91
5.2.2 子程序過程Sub 91
5.2.3 函數過程 Function 93
5.2.4 過程之間參數的傳遞 95
5.2.5 過程嵌套及遞歸 98
5.2.6 變數、過程的作用域 100
習題 101
第6章 Visual Basic常用控制項 106
6.1 單選控制項與復選控制項 106
6.1.1 單選控制項(OptionButton) 107
6.1.2 復選控制項(CheckBox) 107
6.2 列表框和組合框 109
6.2.1 列表框控制項(ListBox) 109
6.2.2 組合框控制項(ComboBox) 113
6.3 圖形框與圖像框控制項 115
6.3.1 圖形框控制項(PictureBox) 115
6.3.2 圖像框控制項(Image) 115
6.4 滾動條與計時器 116
6.4.1 滾動條(HscrollBar與VscrollBar) 116
6.4.2 時間(Timer)控制項 118
6.5 文件操作控制項 119
6.5.1 磁碟列表框(DriveListBox)控制項 119
6.5.2 DirListBox(文件夾列表框)控制項 120
6.5.3 文件列表框(FileListBox)控制項 120
6.5.4 3個控制項的連接 120
6.6 直線與形狀控制項 121
6.7 控制項布局 123
習題 124
第7章 Visual Basic高級控制項 128
7.1 高級控制項簡介 128
7.2 通用對話框(CommonDialog)控制項 129
7.2.1 ShowOpen方法 129
7.2.2 ShowSave方法 130
7.2.3 ShowColor方法 131
7.2.4 ShowFont方法 131
7.2.5 ShowPrint方法 133
7.2.6 ShowHelp方法 134
7.3 圖像列表(ImageList)控制項 135
7.4 工具欄控制項 138
7.4.1 ToolBar控制項概述 138
7.4.2 ToolBar控制項的屬性 138
7.4.3 用ToolBar與ImageList設計工具欄 139
7.5 狀態欄(StatusBar)控制項 142
7.5.1 StatusBar控制項概述 142
7.5.2 StatusBar控制項的屬性 142
7.5.3 StatusBar控制項中添加窗格 143
7.6 進度條(ProgressBar)控制項 145
7.6.1 進程條控制項的概? 145
7.6.2 進程條控制項ProgressBar的屬性 145
7.7 樹視圖(TreeView)控制項 147
7.7.1 TreeView控制項概述 147
7.7.2 TreeView控制項的屬性 147
7.7.3 TreeView控制項的方法 148
7.8 列表視圖(ListView)控制項 151
7.8.1 常用屬性 151
7.8.2 常用方法 152
7.9 選項卡(TabStrip)控制項 153
7.10 圖像組合(ImageCombo)控制項 155
7.11 滑塊(Slider)控制項 156
7.12 繪圖 158
7.12.1 繪圖基礎 158
7.12.2 繪圖方法 159
習題 162
第8章 菜單及MDI窗體設計 163
8.1 下拉?菜單設計 163
8.1.1 下拉式菜單的組成 163
8.1.2 菜單編輯器的啟動 164
8.1.3 菜單編輯器的使用方法 164
8.2 彈出式菜單設計 167
8.3 MDI多窗體程序設計 171
8.3.1 創建MDI主窗體 172
8.3.2 建立MDI子窗體 172
8.3.3 MDI窗口菜單設計 172
習題 173
第9章 文件操作 174
9.1 文件的基本概念 174
9.2 順序文件的存取 175
9.2.1 順序文件的打開與關閉 175
9.2.2 寫(存)順序文件 176
9.2.3 讀(取)順序文件 178
9.3 隨機文件的存取 179
9.3.1 隨機文件的打開與關閉 179
9.3.2 讀(取)隨機文件 179
9.3.3 寫(存)隨機文件 180
9.4 二進制文件的存取 182
9.4.1 隨機文件的打開與關閉 182
9.4.2 讀(取)/寫(存)二進制文件 182
9.5 文件中常用的操作語句和函數 183
9.5.1 常用的文件操作語句 183
9.5.2 常用的文件操作函數 184
習題 185
第10章 資料庫應用程序設計 187
10.1 資料庫的基本知識 187
10.1.1 資料庫的相關概念 187
10.1.2 資料庫的查詢 188
10.2 資料庫的創建和管理 189
10.3 通過Data控制項訪問資料庫 194
10.3.1 Data控制項常用屬性、方法、事件 195
10.3.2 Recordset對象 196
10.3.3 數據綁定控制項 198
10.3.4 資料庫應用程序的設計步驟 199
10.3.5 Data控制項用法示例 199
10.4 通過ADODC控制項訪問資料庫 206
10.4.1 ADODC控制項簡介 206
10.4.2 數據綁定控制項 208
10.4.3 ADODC控制項用法示例 208
10.5 通過ADO對象訪問資料庫 219
10.5.1 ADO對象簡介 219
10.5.2 Connection對象 220
10.5.3 Recordset對象 222
10.5.4 ADO對象用法示例 226
10.6 資料庫中圖片的存取 233
10.6.1 直接存取圖片 233
10.6.2 存取圖片地址 239
習題 242
第11章 多媒體應用程序設計 244
11.1 多媒體控制項 Multimedia MCI 244
11.1.1 常用命令、屬性和事件 245
11.1.2 製作多媒體播放器 247
11.2 動畫控制項Animation 250
11.2.1 常用屬性、事件和方法 250
11.2.2 播放AVI動畫 251
11.3 調用多媒體API函數開發多媒體應用程序 252
11.3.1 API函數簡介 252
11.3.2 API函數製作多媒體應用程序舉例 253
第12章 網路應用程序設計 255
12.1 網路基礎 255
12.1.1 IP地址 255
12.1.2 域名 255
12.1.3 埠 255
12.1.4 協議 256
12.2 Winsock控制項 256
12.2.1 Winsock控制項的常用屬性 257
12.2.2 Winsock控制項的常用方法 258
12.2.3 Winsock控制項的常用事件 259
12.2.4 Winsock編程模型 259
12.2.5 Winsock控制項用法示例——簡易聊天程序 260
12.3 WebBrowser控制項 270
12.4 Internet Transfer控制項 273
第13章 程序調試與錯誤處理 278
13.1 錯誤類型 278
13.2 代碼調試 279
13.2.1 Visual Basic3種模式 279
13.2.2 調試?具 280
13.2.3 調試窗口 281
13.2.4 調試方法 282
13.3 錯誤處理 283
附錄 常用字元與ASCII代碼對照表 285
參考文獻 286
VB語言的前景
在目前各種編程語言共存的時代,VB會不會落伍呢?當然不會了,在我寫這篇文章的同時,微軟已經透露了VB7.0將完全面向對象的消息,可以肯定下一代VB的功能一定會強大很多,我們這些所謂的 VB 程序員總算可以放心了,VB不會落後於時代,畢竟它是使用人數最多的優秀的開發工具。
好了,侃了這么多關於VB的台前幕後,總之是為想學編程的你樹立信心,編程一點都不難,只要你決定了開始,就讓我們一起踏上愉快的編程之旅吧。
接下來談談怎樣學習VB,先說說「看實例學VB6.0」系列教程,它是面向編程初學者的VB入門教程,這個教程的特點是拋開晦澀難懂的概念和語法,不做內容上的堆積和羅列,而是採用了每節一個生動有趣的小例子的形式,每個小例子中會涉及到一個或幾個VB編程的知識點(可能是控制項,也許會是某個函數或編程小技巧),使你快速入門。希望你學完此教程後能達到下述的效果:
從對編程一竅不通或從未接觸過編程的狀態,通過學習能夠對VB6.0的編程環境比較熟悉,掌握VB開發界面的使用方法;對VB語言的基本語法大致了解,知道常見的語句的意義;學習VB常用控制項的使用方法,並能將它們靈活運用到應用程序中;能開發簡單的VB程序。到那時你已經能夠繼續深入的學習VB編程,可以繼續參與到程序設計欄目其他版塊的學習中去,嘻嘻,目標就是這樣啦。
然後談談學習編程的方法,萬事開頭難,剛剛開始,遇到些困難沒關系,慢慢來。編程是一個不斷學習,不斷積累的過程,編程的樂趣也正是存在於學習的過程中。我們每學一點,就趕快把它用到實際的程序中去,自己多學多用多實踐,水平才能不斷提高,這就是「學以致用」。
另外,編程涉及到很多的知識,象操作系統的、軟體工程的、硬體系統的以及編程思想等各個方面,這就需要我們多看看這方面的資料,擴充自己的知識面。
㈥ 第三版VB程序設計教程課後習題答案 龔沛曾主編的
習題一
答案在教材上找。
習題二
1.對象指現實世界中的實體。每個對象有自己的特徵(屬性)、行為(方法)和發生在該對象上的活動(事件)。
類是對同一種對象的集合與抽象。類包含所創建對象的屬性數據,以及對這些數據進行操作的方法。封裝和隱藏是類的重要特性,將數據結構和對數據的操作封裝在一起,類的內部實現細節對用戶來說是透明的。
VB工具箱中的可視圖標是VB系統設計好的標准控制項類。通過將控制項類實例化,得到真正的控制項對象。在窗體上畫一個控制項,就將類轉換為對象,創建了一個控制項對象。
VB中常用的對象是控制項。此外,VB還提供了系統對象。窗體是個特例,它既是類也是對象。當向一個工程添加一個新窗體時,實質就由窗體類創建了一個窗體對象。
對象的三要素:屬性、事件和方法。
屬性:存放對象的數據(決定對象外觀及功能)對象屬性的設置方法:在設計階段,利用屬性窗口直接設置屬性值;程序運行時,通過語句[對象名.]屬性名=屬性值。若屬性只能在設計階段設置,在程序運行階段不可改變,稱為只讀屬性。
事件:發生在對象上的事情。同一事件,對不同的對象,會引發不同的反應。
事件過程:應用程序處理事件的步驟。應用程序設計的主要工作就是為對象編寫事件過程的代碼。
方法:面向對象的程序設計語言,為程序設計人員提供了一種特殊的過程和函數。方法是面向對象的,調用時一定要指明對象。
2.窗體和控制項具有的基本屬性「
(1) Name屬性:名稱
所創建的對象名稱,在程序中引用。
(2) Caption屬性:標題
該屬性決定了對象上顯示的內容。
(3) Height、Width、Top和Left屬性
決定對象的大小和位置。
(4) Enabled 屬性:對象是否允許操作
(5) Visible 屬性:對象是否可見
(6) Font 屬性組:文本的外觀
FontName字體、FontSize大小
FontBold粗體、FontItalic斜體
FontStrikethru 刪除線
FontUnderline 下劃線
(7) ForeColor屬性:前景顏色
(8) BackColor屬性:背景顏色
(9) MousePointer屬性:滑鼠指針類型, 設置值范圍0~15,由系統指定 。若為99,由用戶提供的圖形文件定義滑鼠指針形狀。
(10) MouseIcon屬性:在MousePointer屬性值為99時,存放自定義的滑鼠圖標文件(.ico或.cur)。圖標庫在Graphics目錄下。
3.窗體的事件:Load事件是在窗體被裝入工作區時觸發的事件。當應用程序啟動,自動執行該事件,該事件通常用來在啟動應用程序時對屬性和變數進行初始化。
窗體的方法:(1)Print方法
用來顯示文本內容,格式:[對象.]print 表達式
(2)Cls方法
清除運行時在窗體或圖形框中產生的文本或圖形, Cls方法不能清除窗體在設計時的文本和圖形。
格式:[對象.]cls
(3)Move方法
可移動窗體或控制項,並可改變其大小。
語法格式如下:
[對象.]Move 左邊距離[,上邊距離[,寬度[,高度]]]
4.標簽作用:用於顯示文本(輸出)信息,不能作為輸入信息的界面。其內容只能通過Caption屬性設置或修改,不能直接編輯。
5.文本框是一個文本編輯區域,可以在該區域輸入、編輯、修改和顯示正文內容。在VB中字元長度以字為單位,也就是一個西文字元與一個漢字都是一個字,長度為1。
重要屬性(1) Text 顯示或輸入的正文內容。
(2) Maxlength 設置文本框可輸入的文字最大長度。默認值為0,表示可以輸入任意長字元串。
(3) MultiLine 多行屬性
設置為True時,文本框可以輸入或顯示多行正文,同時具有文字處理器的自動換行功能,按Enter鍵可插入一空行。
(4) ScrollBars 滾動條屬性
0-None 無滾動條
1-Horizontal 水平滾動條
2-Vertical 垂直滾動條
3-Both 同時加水平和垂直滾動條
注意:當MultiLine為True時,ScrollBars才有效
(5) PasswordChar 設置顯示文本的替代符。例如,當設置為「*」,則在文本框輸入的內容均以「*」顯示,而存儲的值是用戶輸入的原文。一般用於設置口令的輸入。
當MultiLine為True時,該屬性不起作用,密碼不允許多行。
(6) Locked 指定文本控制項是否可被編輯,默認值為False(可編輯),當設置為True時,文本控制項相當於標簽控制項的作用。
注意:Locked與Enabled的區別。
(7)文本內容進行選擇操作的三個屬性
SelStart 選定的正文開始位置
SelLength 選定的正文長度
SelText 選定的正文內容
這3個屬性互相關聯,例如設置SelStart、SelLength後,SelText 自動存放指定的文本。
注意:屬性窗口中沒有這三個屬性,只能在程序代碼中使用。
6.文本框的事件:(1) Change事件:當Text屬性值發生改變時引發該事件
(2) KeyPress事件:按下並且釋放鍵盤上的一個鍵時,引發焦點所在控制項的KeyPress事件,所按鍵的值存放在參數KeyAscii中。對回車的判斷 KeyAscii=13
7.文本框最有用的方法是SetFocus,把游標移到指定的文本框中。
8.命令按鈕 Picture屬性:按鈕可顯示圖片文件(.bmp和.Ico),當Style為1時有效。
10. 啟動窗體時將命令按鈕定位在窗體中央的代碼
Private Sub Form_Load()
Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2
Command1.Top = Form1.ScaleHeight / 2 - Command1.Height / 2
End Sub
11.vb圖片文件在 C:\Program Files\Microsoft Visual Studio\Common\Graphics 文件夾。
安裝VB時可選擇是否安裝這些圖片文件。
習題三
1. 合法常量:
(1) Double
(2) 錯誤
(3) Double
(4) Double
(5) 錯誤
(6) Integer
(7) String
(8) String
(9) Date
(10) Double
(11) 錯誤(漢字字元)
(12)Integer(八進制)
(13) 錯誤(八進制無數碼8)
(14) Integer
(15) Boolean
(16) 錯誤
(17) 錯誤(十六進制無數碼g)
(18) Single
說明:浮點型變數默認為Double類型而非Single。
2. 合法變數名:
(1) √
(2) √
(3) 誤:數字開頭
(4) 誤:含空格
(5) 誤:關鍵字
(6) √
(7) 誤:關鍵字
(8) 誤:有括弧
(9) √
(10) √
(11) √
(12) √(漢字字元可作為變數名,但不常用,且此名稱易誤解)
變數命名規則見P.41-42。
字母(漢字)開頭,字母(漢字)、數字、下劃線組成,長度為1-255個字元;關鍵字不可作為變數名,但可在變數名中嵌入關鍵字;不區分大小寫。
常量、數組、類型、函數、過程、對象命名規則與此相同。常量名通常全用大寫。
3. 寫VB表達式
(1) Abs(x + y) + z ^ 5
(2) (1 + x * y) ^ 6
(3) (10 * x + Sqr(3 * y)) / (x * y)
(4) (-b + Sqr(b ^ 2 - 4 * a * c)) / (2 * a)
(5) 1 / (1 / r1 + 1 / r2 + 1 / r3)
(6) Sin(45 * 3.14159 / 180) + (Exp(10) + Log(10)) / Sqr(x + y + 1)
4. 根據條件寫表達式
(1) 隨機產生大寫字母 Chr(Int(Rnd * (Asc("L") - Asc("C") + 1) + Asc("C")))
(2) [100,200]內的隨機數 Int(Rnd * 101) + 100
(3) 點(x,y)位於第一或第三象限 x > 0 And y > 0 Or x < 0 And y < 0 或 x * y > 0
(4) x是5或7的整數倍 x Mod 5 = 0 Or Int(x / 7) = x / 7
(5) 將兩位整數x的個位與十位對換 x \ 10 + (x Mod 10) * 10
(6) 四捨五入取兩位小數 Round(x, 2)
(7) 字元變數C是字母字元(不區分大小寫)——准確地說是:字元變數C的第一個字元是字母
C >= "A" And C <= "Z" Or C >= "a" And C < "z"
或 UCase(C) >= "A" And UCase(C) <= "Z"
或 LCase(C) >= "a" And LCase(C) <= "z"
(8) 字元變數S第5個字元起取6個字元 Mid(S, 5, 6)
(9) 10≤x<20 10 <= x And x < 20
(10) x,y至少有一個小於z x < z Or y < z
(11)x,y都大於z x > z And y > z
5. 寫表達式的值
(1) 188 ——注意運算的優先順序順序,以及整除運算「\」的計算
(2) 200100 —— 計算100 + "100"時,由於兩個操作數類型不同,在可能的情況下自動採用精度較高的類型,即把字元型轉換為數值型,100 +100 得到200;然後進行字元串連接運算200 & 100 ,再自動將兩個數值轉換為字元串,得200100。
(3) 68.56 ——在四捨五入函數產生之前,這就是四捨五入的計算方法
(4) 876554 ——先進行字元串的「+」運算,再轉換成數值。在變數名和函數名後可加上類型符,以強調其類型,但不是必須的。
(5) 2000-2-29
(6) 6
6.Shell函數調用
i = Shell("mspaint.exe", 1) '啟動畫圖
i = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe", 1) '啟動Word
說明:「畫圖」是Windows本身提供的程序,可以省略路徑。
8. 答:單精度浮點型
第7,9題答案在教材中找。
習題四
第1,3,5,8題答案在教材中找。
2. 賦值語句的錯誤
(1)10x 不能做變數名。
上機驗證結果:VB將10識別為行號,x = Sin(x) + y是為變數x賦值。故無語法錯誤。
(2)Sqr函數的參數為負數。
上機驗證結果:「無效的過程調用或參數」
(3)賦值號左邊不是變數名。
上機驗證結果:「缺少子程序、函數或屬性」
(4)除數為0
上機驗證結果:「溢出」。
4. [答案略]
說明:小數位可以使用四捨五入函數Round或輸出格式函數Format。例如Round(x, 2)和Format(x, 「0.00」)均可使結果只保留兩位小數。但如果四捨五入後要進行數值運算,則使用Round函數,例如z=Round(x,2)+Round(y,2)。而Format函數通常只用於輸出格式設置。
6.指出錯誤
(1)「≥」應改為「>=」,前者是中文字元,不具有運算功能。
(2)「10<x<20」應改為「10<x And x<20」,否則運行結果錯誤。
7.寫條件語句
(1)
Dim c As String
c = InputBox("c=")
If Mid(c, 3, 1) = "C" Then
MsgBox "Yes"
Else
MsgBox "No"
End If
(2)
# 使用If語句
Dim x As Single, y As Single
x = Val(InputBox("x="))
If x > 20 Then
y = x ^ 2 + 3 * x + 2
ElseIf x >= 10 Then
y = Sqr(3 * x) - 2
ElseIf x > 0 Then
y = 1 / x + Abs(x)
End If
Print "y="; y
# 使用Select Case語句
Dim x As Single, y As Single
x = Val(InputBox("x="))
Select Case x
Case Is > 20
y = x ^ 2 + 3 * x + 2
Case Is >= 10
y = Sqr(3 * x) - 2
Case Is > 0
y = 1 / x + Abs(x)
End Select
Print "y="; y
(3)
# 使用If語句
Dim x As Single, y As Single, z As Single, Max As Single
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = x
If y > Max Then Max = y
If z > Max Then Max = z
Print "Max="; Max
# 使用IIF函數
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = IIf(x > y, x, y)
Max = IIf(z > Max, z, Max)
Print "Max="; Max
9. 計算循環次數
(1) 6
(2)19
(3)0
(4)死循環直至溢出
10. 40號語句執行 4次;第50 號語句執行12次;
執行第90號語句輸出的結果是: 13,0,2
說明:該程序為嵌套循環,其中外循環由j值變化(1,4,7,10)控制執行4次,當j值為13時結束循環;內循環由k值變化(6,4,2)控制執行3次,當k值為0時結束循環。第40 行是外循環的循環體,故執行4次;第50 行是內循環的循環體,故執行4*3=12次。
11. 可以定一個較大的循環次數,在循環體中根據條件用Exit For退出。
但這種情況通常用Do While循環控制。
12. 編程(並非唯一正確答案)
(1)
Dim i As Integer, s As Integer
For i = 1 To 10
s = s + (i + 1) * (2 * i + 1)
Next i
Print "s="; s
(2)
Dim i As Integer, n3 As Integer, n7 As Integer
For i = 1 To 100
If i Mod 3 = 0 Then n3 = n3 + 1
If Int(i / 7) = i / 7 Then n7 = n7 + 1
Next i
Print "1-100中3的倍數有"; n3; "個"
Print "1-100中7的倍數有"; n7; "個"
(3)
Dim s1 As String, s2 As String, i As Integer
s1 = InputBox("Input String")
s2 = ""
For i = 1 To Len(s1)
s2 = Mid(s1, i, 1) + s2
Next i
Print "原序:"; s1
Print "反序:"; s2
或
For i = Len(s1) To 1 Step -1
s2 = s2 + Mid(s1, i, 1)
Next i
13. 輸出字元串「10100」。該程序功能是將十進制數轉化為二進制。
說明:要理解該程序需要了解數制轉換的計算方法(有興趣者參看網路http://ke..com/view/1426817.htm)。48是字元"0"的ASCII碼。
14. 運行時輸出 22 484
該程序功能是求x和y最大公約數和最小公倍數。
說明:此演算法稱為「輾轉相減法」。可對照例4.17的輾轉相除(輾轉求余)法。
15.[50,100]間的20個隨機數,求最大值、最小值、平均值。
Dim x As Integer, sum As Integer, aver As Single
Dim n%, i%, max%, min%
Randomize
max = 50: min = 100: n = 20
For i = 1 To n
x = Int(Rnd * 51 + 50)
List1.AddItem x
sum = sum + x
If x > max Then max = x
If x < min Then min = x
Next i
aver = sum / n
Print "最大值:"; max, "最小值:"; min, "平均值:"; aver
習題五
1. 指定數組的默認下界 Option Base 1
2.合理的數組聲明
(1)錯。定義數組不可用變數(教材99頁)。
(2)正確。該數組下標為0-11。
(3)錯。VB中數組下標用圓括弧。
(4)正確。三維數組三個下標分別為0-1,0-1,0-2,共12個元素。
(5)錯誤。非動態數組,不可重定義。
(6)錯誤。動態數組重定義時不可改變數據類型。
(7)正確。二維數組兩個下標分別為0-2,0-3,共12個元素。
(8)語法錯誤,二維數組定義中漏寫逗號——可能是印刷錯誤,加上此逗號則正確。
3.當引用數組元素時下標值小於定義的最小下標,或大於最大下標時,會發生「下標越界」錯誤。
4.數組名:a ;數組類型:Single(單精度浮點型);維數:二維;
各維的上下界:第一維下界(最小下標)為 -1,上界(最大下標)為2,
第二維下界(最小下標)為 0,上界(最大下標)為3;
數組的大小:4行4列共16個元素
以矩陣的格式輸出二維數組:
For i = -1 To 2
For j = 0 To 3
Print a(i, j);
Next j
Print
Next i
或寫成更加通用的代碼形式:
For i = LBound(a, 1) To UBound(a, 1)
For j = LBound(a, 2) To UBound(a, 2)
Print Tab(j * 8); a(i, j);
Next j
Print
Next i
6.一維字元數組
Dim a(1 To 20) As String
Private Sub Command1_Click() '(1)隨機產生字元串
Dim i As Integer, j As Integer, n As Integer, c As String * 1
Randomize
For i = 1 To 20
a(i) = "" '將第i個元素清空
n = Int(Rnd * 10 + 1) '產生[1,10]的隨機數
For j = 1 To n 'a(i)中有n個字元
c = Chr(Int(Rnd * 26 + 97)) '隨機產生字母97是字母a的ASCII碼
a(i) = a(i) + c
Next j
Next i
End Sub
Private Sub Command2_Click() '(2)輸出字元串
Dim i As Integer
For i = 1 To 20
Print Tab(((i - 1) Mod 5) * 11); a(i);
If i Mod 5 = 0 Then Print
Next i
End Sub
Private Sub Command3_Click() '(3)最長的字元串
Dim i As Integer, imax As Integer
imax = 1
For i = 2 To 20
If Len(a(i)) > Len(a(imax)) Then
imax = i
End If
Next i
Print "最長的字元串:"; a(imax)
End Sub
第7,8題答案在教材中找。
第9題「自定義變數」含義不明,暫時無法回答。
第5,10 題 [暫略]
習題六
第1,2,6-8題答案可在教材中找到。
3.指出過程說明中的錯誤
(1)Sub子過程不應該定義類型
(2)函數與形式參數不應該同名
(3)數組作為形式參數時,應使用傳地址方式,不可使用傳值(ByVal)
(4)形式參數應該是變數或數組名,不可以是一個數組元素
4.指出調用過程語句的錯誤
(1)無語法錯誤,但因形參sum所對應的實參是常量3,故計算結果無法傳遞給主調程序。
(2)實參變數c與形參sum的類型不一致。
(3)類似於(1),形參sum所對應的實參是表達式a+b,故計算結果無法傳遞給主調程序。
(4)類似於(1)和(2),形參sum所對應的實參是表達式Sqr(c),故計算結果無法傳遞給主調程序。另外srq(a)存在語法錯誤(拼寫錯)。
(5)與(2)相同,實參c與形參sum的類型不一致。
5.迭代法求平方根
(1)自定義函數的定義及調用
Function FSqr1(a As Single) As Single
Dim x0 As Single, x As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
FSqr1 = x
End Function
Private Sub Command1_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
y = FSqr1(x)
Print y
End If
End Sub
(2)自定義子過程的定義及調用
Sub FSqr2(a As Single, x As Single)
Dim x0 As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
End Sub
Private Sub Command2_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
Call FSqr2(x, y)
Print y
End If
End Sub
(3)遞歸函數及調用 [略]
習題七
第1-9題,答案在教材上找;第10,12-14題,略。
11.檢測Ctrl和F3同時按下的代碼:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 114 Then MsgBox "HAHA"
End Sub
習題八
第1,2,6,7,9題答案可閱讀教材找到。
3.寫Open語句
(1) Open "Seqnew.dat" For Output As #1 '重寫
或 Open "Seqnew.dat" For Append As #1 '添加
(2)Open "Seqold.dat" For Input As #2
(3)Open "Seqappend.dat" For Append As FreeFile
4.編程,將文件Text.dat 讀入變數strTest。
Dim strTest As String
Open "Text.dat" For Input As #2
Do While Not EOF(2)
strTest = strTest + Input(1, #2)
Loop
8.本課程不涉及二進制文件。故此處以順序文件讀寫方式編程。另外合並的結果可以是合並到其中某一個文件,也可以是合並到一個新的文件,此處代碼是合並到其中一個文件F1.txt。
'方法一,在2號文件一次讀一個字元並寫入1號文件
Dim strTemp As String * 1
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
Do While Not EOF(2)
strTemp = Input(1, #2)
Print #1, strTemp; '注意結尾有分號,否則每個字元一行
Loop
Close
'方法二,在2號文件一次讀一個字元並累加,最後將累加結果寫入1號文件
Dim strTemp As String '注意方法一變數定義的區別
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
strTemp = ""
Do While Not EOF(2)
strTemp = strTemp + Input(1, #2)
Loop
Print #1, strTemp
Close
習題九
答案在教材上找。
習題十
答案在教材上找