VB程式設計 ~謝志定老師~
教學大綱
標題
內容說明
參考資料
我的第一支VB程式

1.認識電腦程式與VB

2.BASIC程式語言的初步認識

3.開始使用Visual Basic程式開發工具
練習1:依照老師的示範,寫出你的第一支VB程式

程式碼範例:

Private Sub 物件名稱_事件名稱

MsgBox"大家好!讓我們一起來學習 Visual Basic ",64,"我的第一支VB程式"

End Sub

4.說明程式開發的流程

請認真觀看教學影片內容,並作筆記,期末的學科測驗會考到。

VB範例

VB研究小站

VB講義

認識其他''驅動事件"

何謂"物件"? 何謂"事件(Event)"?

    物件、事件面面觀
  1. 表單初始值載入 (Form_Load)
  2. 表單直接驅動 (Form2_Activate)
  3. 按表單兩次 (Form1_DblClick)
  4. 放開按鈕時驅動 (Command1_MouseUp)
  5. 按下按鈕時驅動 (Command1_MouseDown)
  6. 按任意鍵驅動 (Form_KeyPress)
  7. 計時器計時 (Timer1_Timer)

練習2-1:利用下列程式碼,試試各種''驅動事件"(InputBox的語法說明)

Private Sub 物件名稱_事件名稱

id = InputBox("請輸入英文名字", "登入")
Print "你的英文名字為 :" & id

End Sub

 

 
物件屬性設定

何謂"屬性(Property)"?

  1. 物件名稱(Name)電腦會先用英文命名,初學者暫不改
  2. 標題名稱(Caption)外顯標題,可自由改中文或英文
  3. 前景色(ForeColor)背景色(BackColor)
  4. 字型大小(Font/大小)*遇當機的解脫之道
  5. 其他

練習2-2:改變一下標題、介面色彩(特別是按鈕顏色)及字型吧!

※按鈕(CommandButton)顏色怎麼改?

答案:先把Style改為1-圖片外觀,然後再改變BackColor 或由 檢視調色盤 改變按鈕文字顏色

 

 
VB基本敘述與方法

先區別幾個名詞 常數V.S. 變數 數值V.S. 字串

Print
  Cls
End

練習2-3:

  1. Print 3+7
  2. Print "3+7"
  3. Print "福和" & "國中"
  4. Print "3+7=" & (3+7)
  5. Print "今天日期:" & Date
  6. Print "現在時刻:" & Time
  7. Print "現在時間:" & Now
  8. msg="的出生日期是:"
    Print id & msg & Date

練習2-4:配合 ClsEnd 使"練習2-3"的舊畫面可以清除、使程式可以結束執行(加一個"結束"按鈕)。做完後儲存專案檔及執行檔於桌面。

 

 
人機介面設計

使用VB的內建物件

  1. Label (Alignment屬性可控制文字的對齊)
  2. TextBox (Locked設成True)
  3. 應用例:練習3-1

4.練習3-2:
a.加入計時器Timer1,Interval屬性設為1000
b.Text2=Time移至Timer1控制項
c. Command1 控制項新增程式碼如下:

Timer1.Enabled=True

※別忘了Timer1的Enabled屬性預設值要設為False

5.練習3-3:把介面做成彩色並完成前述一切功能後,再請老師登記加分
(※相同的屬性一起設定比較快!)

 

 
轉換函數

Val("字串") → 字串轉數值
Str( 數值 ) → 數值轉字串


※Text3請記得Locked要設成True

練習4-1:自行練習"加"、"減"、"乘"的功能
(參考算式)
Text3 = Val(Text1)+ Val(Text2)

練習4-2:"清除"按鈕的程式碼怎麼寫?先用你聰明的頭腦想一想吧!
(參考答案)
Text1 = " "
Text2 = " "
Text3 = " "
還有其他寫法嗎? Text1 = Clean ...

 

 
判斷式

If <條件> Then

執行A敘述

Else

執行B敘述

End If

練習4-3:除法練習時,若除數為零時將出現錯誤訊息,如何修正這個問題?

(參考答案)
If Text2 = 0 Then
Text3 = "不能計算"
Else
...
End If

 

 
呼叫另一張表單

練習4-4:先聽老師說明Form.Show(顯示表單)Form.Hide(隱藏表單)的用法之後,試著修改程式把上一個練習加上登入對話方塊的功能,看看可不可以彼此連結起來執行完成者可登記加分

※如何指定專案的「啟動物件」:
專案 → 專案(Project1)屬性 → 一般 → 選擇「啟動物件」

 

 
好玩的Rnd函數

亂數值函數Rnd:產生介於0到1之間的隨機亂數
Format函數 ,語法:Format(運算式, "字串格式")

程式例:Text1 = Format(Rnd * 42, "00")
若不需要強制補零,則寫"#0"

Command1.BackColor = Rnd * 65535

色彩代碼:0 ~ 65535

※別忘了按鈕的Style改為1-圖片外觀

 

 
計數式迴圈

可以簡化上面的程式碼(有興趣者試試看)

只要畫出Text1,複製、貼上其餘3個,將會產生Text1(0)、Text1(1)、Text1(2)、Text1(3)

程式例:
For i = 0 To 3
Text1(i) = Format(Rnd * 42, "00")
Next

 
 

 

※"樂透"按鈕分別使用MouseUp, MouseDown兩種事件去驅動程式。

MouseUp 計時器停止:Timer1.Enabled = False

MouseDown計時器啟動:Timer1.Enabled = True

計時器Timer1的初值設定

期中作業:請運用前面已學過的各種VB物件(參考下圖),配合Rnd函數設計至少可以跑出四組號碼(Text1~Text4,記得Locked要設成True)的電腦選號機或任何有創意的號碼機。完成後在表單註明班級、座號、姓名,並打包成執行檔(檔名:班級座號.exe),傳到指定的檔案空間。(若無法如期完成正常功能者,則請傳專案檔及相關表單檔,下週還有15分鐘可以做)

※發揮你的創意可以作些介面美化或擴增功能,要加背景圖片可由form1的Picture加入,圖片請先用PhotoImpact處理成320x240像素。(或視表單實際大小而定)

評分:基本功能完整70分、美工及創意71~100分

 

 
修改遊戲程式
  1. 下載遊戲程式 彈跳的小球打磚塊 至你的D碟。
  2. 解壓縮後執行Project1檔。
  3. 利用[搜尋]功能找到程式碼中p_speedp_score等變數,並適度修改它們的值(可以改變小球速度在1~25之間、或計分方式,例如:p_score = p_score + 想改的分數)。
  4. 加入垂直捲軸(VScrollBar)或水平捲軸(HScrollBar),可以做出手動球速調整桿
    屬性Min改為1,Max改為25
  5. 應修改程式碼:例,原p_speed=5刪除,在VScroll1控制項內寫p_speed=VScroll1.Value
  6. 修改fruit(1)(2)(3)(4)的Picture屬性,可以更換水果的照片。

練習:參考上述的說明修改遊戲程式,並且在專案的開始處加上登入對話方塊,啟動畫面 (版權聲明)

VB程式觀摩:電梯模擬系統電腦抽籤程式

※上週VB作業未完成者,請繼續完成。