《【2019年整理】vb編程入門簡單易懂》由會員分享,可在線閱讀,更多相關《【2019年整理】vb編程入門簡單易懂(83頁珍藏版)》請在裝配圖網上搜索。
1、大 學 計 算 機 基 礎 教 程 TaiYuan University of TechnologyVB編 程 入 門Visual Basic 程 序 設 計 教 程 Visual Basic程 序 設 計 教 程2 本 章 將 介 紹 有 關 VB程 序 的 構 成 和 數 據 類 型 以及 變 量 的 定 義 和 使 用 、 表 達 式 以 及 基 本 的 輸 入 輸出 操 作 。 這 些 知 識 是 編 程 的 基 礎 。 我 們 將 通 過 簡單 示 例 的 分 析 , 幫 助 理 解 如 何 進 行 VB編 程 。 Visual Basic程 序 設 計 教 程3本 章 主 要 內
2、容 :確 定 數 據 的 性 質 : 數 據 類 型兩 種 數 據 表 達 : 常 量 和 變 量算 術 運 算 符 和 表 達 式VB編 程 的 開 始 : 使 用 窗 體賦 值 和 輸 入 輸 出 Visual Basic程 序 設 計 教 程4 2.1 概 述 Visual Basic程 序 設 計 教 程51 加 法 器 界 面 設 計 2.2 一 個 簡 單 的 加 法 器 程 序 Visual Basic程 序 設 計 教 程6對 象 列 表 框 過 程 列 表 框過 程 分 界 線程 序 員 在 此 編 寫 代 碼光 標標 題 Visual Basic程 序 設 計 教 程7Pr
3、ivate Sub CmdAdd_Click() 計 算 ” 按 鈕 代 碼 Dim Temp As Long TxtNum1.Text = TxtNum2.Text = TxtSum.Text = TxtNum1.Text = InputBox (請 輸 入 第 一 個 數 ) TxtNum2.Text = InputBox(請 輸 入 第 二 個 數 ) Temp = Val(TxtNum1) + Val(TxtNum2) TxtSum.Text = TempEnd SubPrivate Sub CmdExit_Click() “退 出 ” 按 鈕 代 碼 FrmAdder1.Hide M
4、sgBox (加 法 器 程 序 運 行 結 束 , 謝 謝 使 用 ) EndEnd Sub Visual Basic程 序 設 計 教 程8 數 據 是 程 序 處 理 的 對 象 。 為 了 更 好 地 處 理 各種 各 樣 的 數 據 , VB定 義 了 多 種 數 據 類 型 , 數 據類 型 定 義 了 值 的 范 圍 并 確 定 了 它 能 夠 進 行 的 操作 。 Visual Basic程 序 設 計 教 程9 整 數 : 整 型 /長 整 型字 節(jié) 型浮 點 型 : 單 /雙 精 度貨 幣 型數 值 型 數 據 類 型 字 符 型邏 輯 型日 期 型對 象 型變 體 型 V
5、isual Basic程 序 設 計 教 程10 1. 字 節(jié) 型 (Byte) 字 節(jié) 型 數 可 以 表 示 無 符 號 的 整 數 , 0 255 2. 整 型 (Integer)和 長 整 型 (Long) 不 帶 小 數 部 分 的 數 , 表 示 正 整 數 、 負 整 數 和 零 整 型 數 : -32768 32767 98、 98 長 整 型 數 : -2147483648 2147483647 45678、 45678R,”面 積 ” ;Area,”周 長 ” ;Perimeter輸 出半 徑 、 面 積 。 周 長End Sub Visual Basic程 序 設 計 教
6、 程632.7.2 使 用 輸 入 對 話 框 InputBox函 數【 例 2-4】 計 算 半 徑 為 R的 圓 面 積 和 周 長 , 半 徑 值 由 鍵 盤輸 入 。Private Sub Form_Click() Const PI = 3.141526 Dim R As Integer, Area As Single, Perimeter As Single R = Val(InputBox(請 輸 入 圓 的 半 徑 : , 輸 入 ) Area = PI * R * R Perimeter = 2 * PI * R Print 半 徑 ; R, 面 積 ; Area, 周 長 ;
7、 PerimeterEnd Sub 這 個 例 子 中 使 用 了 InputBox函 數 產 生 輸 入 對 話 框 。 Visual Basic程 序 設 計 教 程641 輸 入 對 話 框 的 使 用InputBox函 數 的 使 用 格 式 如 下 : InputBox( 提 示 , 標 題 , 默 認 值 , xpos,ypox)它 們 的 含 義 如 下 :( 1) 提 示 信 息 。 這 是 InputBox對 話 框 所 必 須 的 信息 , 也 可 以 使 用 空 文 本 , 即 “ ” 。( 2) 標 題 。 這 是 在 對 話 框 窗 口 標 題 欄 顯 示 的 內 容
8、 ???設 置 , 也 可 以 沒 有 標 題 。 Visual Basic程 序 設 計 教 程65( 3) 默 認 值 。 在 輸 入 框 中 的 默 認 輸 入 。 系 統(tǒng) 默 認為 空 , 可 選 。( 4) xpos和 ypos為 對 話 框 的 左 側 與 屏 幕 左 邊 的 距離 和 上 邊 與 屏 幕 頂 部 的 距 離 值 。 可 選 。 Visual Basic程 序 設 計 教 程662 在 提 示 中 使 用 多 行 文 本 如 果 提 示 信 息 比 較 多 , 可 以 使 用 ASCII控 制 符 回 車Chr( 13) 和 換 行 符 Chr( 10) 產 生 另
9、 起 一 行 。 例 如 : 提 示 信 息 為 “ 請 輸 入 圓 的 半 徑 ” + Chr( 13)+ Chr( 10) +“使 用 正 整 數 ” , 產 生 如 圖 效 果 Visual Basic程 序 設 計 教 程673 使 用 轉 換 函 數 InputBox函 數 接 受 的 是 文 本 , 也 就 是 字 符 型 數據 , 在 程 序 中 根 據 變 量 類 型 不 同 , 可 以 使 用 轉 換 函數 。 如 : R = Val(InputBox(請 輸 入 圓 的 半 徑 : , 輸 入 )這 里 的 Val就 是 轉 換 函 數 , 將 文 本 類 型 的 數 據
10、轉 換 為整 型 數 以 便 參 加 運 算 。 VB提 供 了 在 不 同 類 型 數 據 之 間 的 轉 換 。 Visual Basic程 序 設 計 教 程682.7.3 使 用 Print方 法 輸 出 數 據 使 用 Print在 對 象 中 顯 示 ( 打 印 ) 輸 出 文 本 。 使 用 格 式 如 下 :對 象 名 .Print 表 達 式 ,表 達 式 1 對 象 名 一 般 情 況 下 , Print輸 出 到 窗 體 或 者 圖 片 框 。 在本 窗 體 中 輸 出 , 可 以 缺 省 對 象 名 。 Visual Basic程 序 設 計 教 程692 表 達 式
11、Print方 法 支 持 多 個 表 達 式 的 輸 出 , 可 輸 出 數字 、 文 字 字 符 、 日 期 、 邏 輯 值 等 。 如 果 Print后面 沒 有 任 何 表 達 式 , 則 輸 出 空 行 ( 在 顯 示 效 果 上相 當 于 回 車 換 行 ) 。 Visual Basic程 序 設 計 教 程703 輸 出 格 式多 個 表 達 式 輸 出 , 可 以 使 用 分 號 和 逗 號 分 隔 。( 1) 逗 號 分 隔 ( 標 準 格 式 輸 出 ) 。 逗 號 后 的 下一 個 表 達 式 按 照 14個 字 符 的 空 間 分 開 顯 示 。 實 際分 隔 位 置 還
12、 與 所 在 輸 出 行 的 寬 度 和 分 隔 的 數 目 有關 。( 2) 分 號 分 隔 ( 緊 湊 格 式 輸 出 ) 。 后 一 個 表 達式 的 值 接 著 前 一 個 表 達 式 的 輸 出 。 Visual Basic程 序 設 計 教 程71( 3) 在 Print語 句 最 后 使 用 逗 號 或 分 號 結 束 , 不換 行 , 下 一 個 Print接 著 按 格 式 輸 出 。( 4) 使 用 Spc()和 Tab()函 數 , 前 者 控 制 插 入 空格 , 后 者 確 定 列 位 置 Visual Basic程 序 設 計 教 程72例 :Private Sub
13、 Form_click() Me.FontSize = 16 Print 空 行 Print A=; 1, B=; 2 Print 1, 2; 3, 4 Print A; Spc(4); B Print Tab(10); B Print 1234567890End Sub Visual Basic程 序 設 計 教 程73 2.7.4 使 用 消 息 對 話 框 MsgBox函 數MsgBox函 數 提 供 了 一 個 顯 示 應 用 程 序 運 行 信 息 的標 準 途 徑 , 如 圖 所 示 : MsgBox的 格 式 如 下 :變 量 名 = MsgBox( 提 示 , 對 話 框 類
14、型 , 對 話 框標 題 ) Visual Basic程 序 設 計 教 程74( 1) 使 用 形 式 : MsgBox有 兩 種 使 用 形 式 , 注 意 區(qū) 分 , 如 :A = MsgBox(您 確 定 要 退 出 嗎 ? , vbOKCancel + vbDefaultButton2, 退 出 )和 MsgBox 您 確 定 要 退 出 嗎 ? , vbOKCancel + vbDefaultButton2, 退 出 “ 格 式 1是 具 有 返 回 值 的 使 用 , 程 序 根 據 用 戶 的不 同 選 擇 把 選 擇 結 果 賦 值 給 變 量 A。 格 式 2沒 有 返回
15、值 。 Visual Basic程 序 設 計 教 程75( 2) 提 示 必 選 參 數 項 。 如 果 顯 示 多 行 , 可 使 用 Chr(13)+ Chr(10) 。( 3) 對 話 框 標 題 在 對 話 框 標 題 欄 顯 示 的 信 息 文 本 。 Visual Basic程 序 設 計 教 程76( 4) 對 話 框 類 型 類 型 參 數 由 三 部 分 組 成 , 分 別 確 定 對 話 框 中的 按 鈕 形 式 、 默 認 的 焦 點 在 哪 一 個 按 鈕 上 和 按 鈕使 用 的 圖 標 。 把 按 鈕 形 式 、 焦 點 選 擇 、 圖 標 三 組參 數 中 各
16、選 一 個 進 行 組 合 , 或 直 接 把 它 們 對 應 的符 號 常 量 進 行 相 加 確 定 對 話 框 類 型 值 Visual Basic程 序 設 計 教 程77數 值 VB符 號 常 量 描 述0 vbOkOnly 按 鈕形 式 只 使 用 “ 確 定 ” ( Ok) 按 鈕1 vbOkCancel 使 用 “ 確 定 ” “ 取 消 ” ( Cancel) 兩 個 按 鈕2 vbAbortRetryIgnore “終 止 ” “ 重 試 ” “ 忽 略 ” 三 個 按 鈕3 vbYesNoCancel 使 用 “ 是 ” “ 否 ” “ 取 消 ” 三 個 按 鈕4 vb
17、YesNo 使 用 “ 是 ” “ 否 ” 兩 個 按 鈕5 vbRetryCancel 使 用 “ 重 試 ” “ 退 出 ” 兩 個 按 鈕 Visual Basic程 序 設 計 教 程78 vbCritical vbInformation64 vbExclamation48 vbQuestion32 圖 標16 第 三 個 按 鈕vbDefaultButton3512 第 二 個 按 鈕vbDefaultButton2256 第 一 個 按 鈕焦 點選 擇vbDefaultButton10 Visual Basic程 序 設 計 教 程79( 5) 返 回 值 使 用 一 個 變 量
18、保 存 MsgBox函 數 返 回 值 ,返 回 值 的 符 號 常 量 和 有 關 描 述 如 表 所 示 。 Visual Basic程 序 設 計 教 程80 值 符 號 常 量 所 按 的 按 鈕1 vbOk “確 定 ” 按 鈕2 vbCancel “取 消 ” 按 鈕3 vbAbort “退 出 ” 按 鈕4 vbRetry “重 試 ” 按 鈕5 vbIngore “忽 略 ” 按 鈕6 vbYes “是 ” 按 鈕7 vbNo “否 ” 按 鈕 Visual Basic程 序 設 計 教 程81( 6) 省 略 參 數 項 如 果 只 給 出 提 示 , 系 統(tǒng) 默 認 為 對
19、 話 框 類 型 參 數值 為 0, 沒 有 對 話 框 標 題 。 如 果 要 省 略 某 一 個 參 數項 , 需 要 加 上 逗 號 分 隔 符 。 例 如 : A = MsgBox ( “您 確 定 要 退 出 嗎 ? ” , , “退 出 ” ) Visual Basic程 序 設 計 教 程82【 例 2-5】 在 窗 體 上 設 置 三 個 命 令 按 鈕 , 分 別 為 “ 放 大窗 口 ” “ 縮 小 窗 口 ” 和 “ 結 束 程 序 ” 。 點 擊 “ 放 大 窗口 ” “ 縮 小 窗 口 ” 窗 體 相 應 進 行 放 大 和 縮 小 操 作 , 并在 窗 體 上 顯 示 操 作 后 窗 口 的 寬 度 和 高 度 , 點 擊 “ 結 束程 序 ” 則 程 序 結 束 運 行 退 出 。 Visual Basic程 序 設 計 教 程83【 例 2-6】 在 窗 體 上 放 置 一 個 標 簽 顯 示 文 本 , 單 擊 窗 體 空白 處 輸 入 字 體 和 字 號 使 顯 示 的 文 本 隨 之 變 化 。 使 用 三 個命 令 按 鈕 “ 隱 藏 顯 示 ” “ 恢 復 顯 示 ” 和 “ 程 序 結 束 ” 。其 中 “ 隱 藏 顯 示 ” 有 效 時 “ 恢 復 顯 示 ” 處 于 無 效 狀 態(tài) ,反 之 亦 然 。