VB實戰演練1─呎吋換算小程式
學VB最快的方法就是實戰演練
從實例中吸取經驗
遇到挫折要自己想辦法解決才會進步
當然,要先懂觀念,我個人建議買書來看會比較快
字句鑽研,不清楚的地方一定要看懂
不然到後期絕對寫不下去
本人先以自己寫的程式為教學題材
圖片預覽:
程式碼:
Private Sub Command1_Click()
Cls
Ret: t = InputBox(“請輸入呎”)
If t = “” Then
MsgBox “您未輸入數字”, 16, “請重試”
GoTo Ret
ElseIf Val(Asc(t)) > 57 Or Val(Asc(t)) < 48 Then
MsgBox “請輸入數字”, 16, “請重試”
GoTo Ret
End If
Red: d = InputBox(“請輸入吋”)
If d = “” Then
MsgBox “您未輸入數字”, 16, “請重試”
GoTo Red
ElseIf Val(Asc(d)) > 57 Or Val(Asc(d)) < 48 Then
MsgBox “請輸入數字”, 16, “請重試”
GoTo Red
End If
Print “計算中……”
Print ” ”
A = Val(t) * 12 * 2.54 + Val(d) * 2.54
Print “換算中……”
Print ” ”
Print ” ”
Print ” “; t; “呎”; d; “吋 =”; ” “; A; “公分”
End Sub
佈置元件
1.在表單左邊佈置一個Command按鈕(Command1)
2.在屬性視窗更改Command1的Caption設定,就可以更改Command1按鈕上的文字
3.稍微美化一下
這樣就可以啦!
撰寫程式碼
點擊兩下Command1出現程式碼編輯視窗
開始撰寫程式碼吧!
程式碼解析:
Cls
清除表單,待會你就知道為什麼要用這個了
Ret: t = InputBox(“請輸入呎”)
Ret: 是標籤
InputBox是一個彈出式輸入視窗保留字
If t = “” Then
MsgBox “您未輸入數字”, 16, “請重試”
GoTo Ret
假如 InputBox 沒輸入數字就會出現MsgBox
MsgBox是個彈出式訊息視窗
然後跳到標籤 Ret:
ElseIf Val(Asc(t)) > 57 Or Val(Asc(t)) < 48 Then
MsgBox “請輸入數字”, 16, “請重試”
GoTo Ret
End If
Val是將字元轉換成數值
Asc是將字元集轉換成字元碼
或者如果輸入的字元碼大於57或小於48然後出現MsgBox視窗
0的字元碼=48 9的字元碼=57
所以輸入的數字要是0~9之間(有包含0、9)
否則就跳到標籤 Ret:
Red: d = InputBox(“請輸入吋”)
Red: 是標籤
InputBox是一個彈出式輸入視窗保留字
ElseIf Val(Asc(d)) > 57 Or Val(Asc(d)) < 48 Then
MsgBox “請輸入數字”, 16, “請重試”
GoTo Red
End If
這個跟上面那串是一樣的
同樣的用意
Print “計算中……”
列印出「計算中……」
Print ” “
空一行
A = Val(t) * 12 * 2.54 + Val(d) * 2.54
t為呎 d為吋
1呎=12吋 1吋=2.54公分
上面那串程式是把你輸入的呎吋換算成公分
Val是將字元轉換成數值
Print “換算中……”
列印出「換算中……」
Print ” ”
Print ” “
跳兩行
Print ” “; t; “呎”; d; “吋 =”; ” “; A; “公分”
空一大格後列印出 t呎d吋= A公分
微調
將表單(form1)的自動重繪(AutoRedraw)屬性改為True
什麼是自動重繪?
就是當你被其他程式蓋過後,還能顯示原來列印在標單上的文字
若為False則有可能會出現以下情況
還要將表單(form1)的MaxButton(最大化按鈕)屬性改成False
不然放大會破壞美觀
Cls的用意
列印出表單後要再度列印一次,VB並不會自動將表單上的文字消除,而是繼續下一行執行
所以在執行程式之前,就要清除表單確保不會破壞美觀,否則如下圖
.
匯出之後,你的程式就完成啦!