You are on page 1of 12

題型:

1) 是非;(溫 note d 定義)

2) 填充; (定義+hw)

3) 選擇(定義+hw)

4)配對(英文名詞, 溫另附件 ge file);

5)閱讀程序題(比一段程序, 根據程序寫出結果)

***第 5 部分可參考 hw 哥幾題, 電腦機試, 同埋附件 ge hws

以下係整理出黎 ge note .~各位加油 !!!

Ch3 visual basic 控制物件

@ 一,控制物件:

控制物件是什麼?

控制物件是(例如表單)一種設計視窗程式所需使用的元件,程

式設計者可以使用這些控制物件,快速地完成使用者介面(外觀)

的設計。

常用的控制物件:

表單 (Form):用來作為佈建工具箱中控制物件的平台。

 Cls: 清除表單上的資料

 Hide: 隱藏表單

 Show: 顯示表單
 Print: 顯示資料於表單上

 Activate: 當表單成為作用視窗即顯示

 Click: 表一下才顯示

 DblClick: 按兩下才顯示

 Load: 當執行表單時即顯示

標籤 (Label):用來將文字顯示在視窗畫面上 (即表單)。

文字方塊 (TextBox):用來作為使用者輸入資料的位置。

按鈕 (CommandButton):用來讓使用者操控程式的運作。

框架 (Frame):用來將其它物件框起來成為一組物件。

圖片方塊 (PictureBox):用來作為圖片顯示的位置。

控制物件的特徵:

屬性是指控制物件所具有的性質或特性 (例如表單的大小屬性) 。

方法是指可在控制物件上運作的程序 (例如表單 Print 方法) 。

事件是指可被控制物件識別的動作 (例如按下滑鼠左鍵) 。

範例:

屬性設定:Command1.Caption = " 輸入"

方法使用: Form1.Print " 明星高中的麻辣鮮師"

事件程序: Private Sub Command1_Click( )


End Sub

@ 二,事件程序:

在 Visual Basic 中,要使程式對某個事件有所反應,意即啟動

一段程式碼執行特定的工作,必須在程式碼視窗中撰寫與事件

相對應的程式碼。這些當事件發生時所要執行的程式碼稱為事

件的 程序 ,或稱為事件程 序( event procedure)

Ch9 結構化程序設計

 未使用結構化程式設計的缺點:

 個人的設計風格

 隨意使用 GoTo 敘述

三個原則:

 1)由上而下的程式設計:由整個程式的主要功能開始設計,然

後再依序由上往下設計各個子功能

 2)模組 (module)化的 程式設 計: 通常是指一段具有某種特定

功能、大小適中、容易閱讀及維護的程式

 3)程式基本結構:將程式切割成許多個子功能後,便可分別撰

寫成模組程式

設計 模組時 應儘量 遵循的 原則 :


 設計功能單純的模組程式,以便提供給更多程式使用

 儘量減少模組之間相互影響的程度,以使模組成為獨立的程式

基本單元

 將模組控制在適當的大小(例如不超過 50 行敘述),以方便閱

讀與維護

使用 模組的 優點 :

 模組可重覆使用

 程式開發易於分工

 程式易於測試與偵錯

 可簡化維護的工作

三種基本結構:

1) 循序

2) 條件

3) 重覆

* **避免使用GoTo敘述

* **盡量讓每個程式都只有一個入口和一個出口

@ 一,副程式

 副程式( subprogram)是一段可用來執行特定功能的程式敘
述,它通常必須透過主程式( main program)的呼叫才能被

啟動起來執行

 語法:

《定義副程式的語法》

 Sub 副程式名稱[(參數 1 [As 資料型別] 參數 2 [As 資料

型別], …)]

    程式敘述區塊

  End Sub

《呼叫副程式的語法》

  Call 副程式名稱[(參數 1,參數,2,…)]’

 範例:華氏溫度換算為攝氏溫度

Sub Change_temp (F As Integer)

Dim C As Integer

C = (F - 32) * 5 / 9

MsgBox "華氏 " & F & " 度 = 攝氏 " & C & " 度"

End Sub

Private Sub Form_Activate( )

Dim F_temp As Integer

F_temp = InputBox("請輸入華氏溫度:")
Call Change_temp(F_temp)

End Sub

 在 Sub 敘述中的參數,稱為形式 參數( 因為只 係一個 參考

變數 )

 在 Call 敘述中的參數,稱為實際參 數(實 際用來 代入計 算

的值 )

 若兩者參數的資料型別不符,VB 會以形式參數的資料型別為

@ 二, 函數

 函數 (function) 的功能與副程式類似;不同的是,函數在執

行結束後會產生一個傳回 值 給呼叫它的程式

 VB 的函數種類:

 內建 的函數 (build-in function) :例如 Input() 函數、

Rnd() 函數、Str() 函數

 自定 函數 (user-defined function) :即依實際需要所

自行撰寫函數

@ 三, 自定函數

 語法:
《定義自定函數的語法》

  Function 函數名稱 [(參數 1 As 資料型別,

參數 2 As 資料型別,..)] As 資料型別

程式敘述區塊

函數名稱=傳回值

 End Function

《呼叫自定函數的語法》

 變數名稱 = 自定函數名稱[(參數 1, 參數 2,…)}

範例:計算圓面積

Function Cal_Circle(r As Single) As Single 'r 為形式參數

Const pi = 3.14159

Cal_Circle = r ^ 2 * pi

End Function

Private Sub Form_Activate( )

Dim X As Single

Dim area As Single

X = InputBox("請輸入圓的半徑:", "計算圓面積")

area = Cal_Circle(X) 'X 為實際參數

MsgBox "半徑為 " & X & " 的圓面積 = " & area, , "計算圓面積"
End Sub

@ 四, 參數的傳遞

 在呼叫副程式或函數時,VB 會將實際參數傳給副程式或函數

並由形式參數承接

 VB 提供傳址 ” byRef” (pass by reference) 與傳值 (pass

by value) 兩種傳遞參數的方式

 傳值呼叫是一種形式參數與實際參數佔用不同記憶體位址的參

數傳遞方式

 若要以傳值的方式來呼叫副程式或函數,可使用下列兩種方法

來設定:

 在形式參數前加上 "ByVal"

 在實際參數前後加上小括號
傳址 傳值

參數傳 遞方式 在形式參數前加上 在形式參數前加上 ByVal 或在


的設定 ByRef 或不加 實際參數前後的加上小括號
機制 將實際參數所在的 將實際參數的值複製至形式參
記憶體位址傳至形 數中,然後副程式或函數使用
式參數中,然後副 形式參數的值
程式或函數使用該
位址上的值
副程式 和函數 實際參數的內容可 實際參數的內容不會被副程式
對實際 參數的 被副程式及函數改變和函數改變
影響
陣列參 數的使 可使用整個陣列或 只可使用陣列元素
用 陣列元素
應用範 例 如商品要調整售價 如要將商品售價顯示成他國幣
時,可使用傳址的 值,可使用傳值的方式,呼叫
方式呼叫調價副程 可根據各國匯率計算不同商品
式,在副程式中更 幣值售價的副程式,但主程式
新商品售價,使主 的商品售價仍為本國幣值且價
程式中的商品售價 格不會更改
隨之改變

@ 五, VB 模組的種類

 1)表單模 組:

用來設計程式的視窗外觀。其可包含變數的宣告、副程式、函數、

控制物件的事件程序及屬性設定等。副檔名為 *.frm

 2)一般模 組:

通常用來撰寫會被共同使用的變數宣告、副程式或函數等 (無

法撰寫事件程序)。副檔名為*.bas

 3)物件類 別模組 :

可用來定義新的物件類別,並自定其屬性、方法及事件等。副檔

名為 *.cls

 程序依其在專案中的活動範圍,可分為私有 程序 及公有程 序

兩種

 在 VB 中,凡程序前加上保留字 Private 的程序,即稱為私

有程序。該程序只能被同一模組中的其它程序呼叫

 在 VB 中,凡程序前加上保留字 Public (或不加任何保留字)

的程序,即稱為公有程序
 呼叫公有程序時,需注意下列幾點:

 呼叫同模組間的公有程序時,可直接使用程序名稱;若

其他模組中亦有相同名稱的程序,則 VB 會優先呼叫同

模組中的程序

 跨模組呼叫表單模組中的公有程序時,需在程序名稱前

加上表單模組的名稱

 跨模組呼叫一般模組中的公有程序時,若在不同模組中

有相同名稱的程序時,則需在程序名稱前加上一般模組

的名稱

 在 VB 中,變數所能被使用的範圍稱為變數的活動範 圍

(scope)

 依照活動範圍區分,可將變數分為:

 全域 變數 (global variable)

是在一般程序所宣告的變數,變數的有效範圍為整個程式

 區域 變數 (local variable)

是在事件程序,副程式(函數)所宣告的變數,有效範圍限於

所宣告的位置。

 在 VB 的三種模 組 中都可宣告全域變數

 全域變數的活動範圍為整個專案,其可被專案中的任何程式敘
述使用

 宣告全域變數的語法如下:

Public 變數名稱 As 資料型別

 例: Public grade As Integer

 區域變數可以宣告在模組的一般宣告區或程序中。其中模組區

域變數的活動範圍為宣告它的模組;而程序區域變數的活動範

圍則為宣告它的程序

 宣告區域變數的語法如下:

 模組區域變數 (宣告於模組的一般宣告區中)

Private (或 Dim) 變數名稱 As 資料型別

 程序區域變數 (宣告於程序中)

Dim 變數名稱 As 資料型別

@ 六, 變數的 生命週 期

 變數從開始佔用記憶體到釋放記憶體的這段期間,稱之為變數

的生命期

 凡宣告於模組一般宣告區中的全域變數及區域變數,其生命期

從宣告敘述至應用程式 執行結束

 凡宣告於副程式、函數或事件程序中的區域變數,其生命期從

宣告敘述至程序 執行結束
 為了讓程序區域變數在宣告它的程序執行結束後還能保有其值,

我們可以將其宣告為靜態 變數 ,使其生命期延長至應用程式

執行結束

 宣告靜態變數的語法如下:

Static 變數名稱 As 資料型別

 例:Static i As Integer
宣告位 置 VB 模組 的一般 宣告區 VB 模組 中的程 序

宣告型 態 Public Dim Private Static Dim

變數類 型 全域變數 模組區域變數 靜態變數 程序區域變數

活動範 圍 整個專案 宣告它的模組 宣告它的程序

生命期 生 變數宣告敘述執行時
滅 應用程式執行結束時 程序執行結束

You might also like