VB實戰演練2─溫度換算程式

這回要來寫一個溫度換算的程式

這次的難度可是比上次要大大加深喔!

圖片預覽:




程式碼:

Private Sub Command1_Click(Index As Integer)
If Text1.Text = “” Then
MsgBox “請輸入攝氏數值”, 16, “攝氏”
Exit Sub
End If
C = Text1.Text
Text2.Text = 9 / 5 * Val(C) + 32
Text3.Text = Val(C) + 273
End Sub

Private Sub Command2_Click(Index As Integer)
If Text2.Text = “” Then
MsgBox “請輸入華氏數值”, 16, “華氏”
Exit Sub
End If
F = Text2.Text
Text1.Text = (Val(F) – 32) * (5 / 9)
Text3.Text = Val(Text1.Text) + 273
End Sub

Private Sub Command3_Click(Index As Integer)
If Text3.Text = “” Then
MsgBox “請輸入開氏數值”, 16, “開氏”
Exit Sub
End If
K = Text3.Text
Text1.Text = Val(K) – 273
Text2.Text = Val(Text1.Text) * (9 / 5) + 32
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= 48 And KeyAscii <= 57 Then Exit Sub
If KeyAscii = 46 Then Exit Sub
If KeyAscii = 8 Then Exit Sub
KeyAscii = 0
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 48 And KeyAscii <= 57 Then Exit Sub
If KeyAscii = 46 Then Exit Sub
If KeyAscii = 8 Then Exit Sub
KeyAscii = 0
End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii >= 48 And KeyAscii <= 57 Then Exit Sub
If KeyAscii = 46 Then Exit Sub
If KeyAscii = 8 Then Exit Sub
KeyAscii = 0
End Sub

佈置元件

1.佈置三個Label元件(1~3)由左而右,分別命名(Caption)

2.佈置三個text元件(1~3)由左而右,分別清空text欄位

3.佈置三個Command元件(1~3)由左而右,分別命名(Caption)

4.再佈置一個Label元件(4),打幾個字來美化你的表單

5.稍微設定一下表單屬性

完成後如下圖:

撰寫程式碼

一、讓text只能輸入數字、小數點(text)

將所有的text元件的KeyPress程序都撰寫以下程式碼:

If KeyAscii >= 48 And KeyAscii <= 57 Then Exit Sub
If KeyAscii = 46 Then Exit Sub
If KeyAscii = 8 Then Exit Sub
KeyAscii = 0

If KeyAscii >= 48 And KeyAscii <= 57 Then Exit Sub

如果鍵入的按鍵碼大於等於48或小於等於57的話就不再執行KeyPress程序

0的按鍵碼為48   9的按鍵碼為57

所以只能輸入0~9

If KeyAscii = 46 Then Exit Sub

如果鍵入的按鍵碼等於46的話就不再執行KeyPress程序

按鍵碼46就是”.” 小數點

所以可以輸入小數點

If KeyAscii = 8 Then Exit Sub

如果鍵入的按鍵碼等於8的話就不再執行KeyPress程序

按鍵碼8就是 鍵盤的”Backspace”鍵,能消去數字

所以可以使用”Backspace”鍵

KeyAscii = 0

KeyAscii = 0 就代表不做任何鍵入的動作

如果輸入的鍵都不符合以上的條件的話,那就會執行此KeyPress程序

也就是輸入的鍵將會無效化

二、攝氏換算(Command1)

點擊兩下Command1按鈕開始撰寫程式碼

If Text1.Text = “” Then
MsgBox “請輸入攝氏數值”, 16, “攝氏”
Exit Sub
End If

如果Text1沒有輸入任何東西的話就出現Msgbox彈出式訊息視窗

然後不再執行敘述(End Sub)

C = Text1.Text

將Text1輸入的內容導入C(攝氏)變數中

Text2.Text = 9 / 5 * Val(C) + 32

Text2出現的數字即為華氏溫度

攝氏換成華氏的公式是

華氏 = 9/5 * 攝氏 + 32

所以 Text2.Text = 9 / 5 * Val(C) + 32

Val是將C 也就是Text1.Text數值化,這樣計算才不會出錯

Text3.Text = Val(C) + 273

Text3出現的數字即為開氏溫度

攝氏換成開氏的公式是

華氏 = 攝氏 + 273

所以 Text3.Text = Val(C) + 273

三、華氏換算(Command2)

點擊兩下Command2按鈕開始撰寫程式碼

If Text2.Text = “” Then
MsgBox “請輸入華氏數值”, 16, “華氏”
Exit Sub
End If

如果Text2沒有輸入任何東西的話就出現Msgbox彈出式訊息視窗

然後不再執行敘述(End Sub)

F = Text2.Text

將Text2輸入的內容導入F(華氏)變數中

Text1.Text = (Val(F) – 32) * (5 / 9)

Text1出現的數字即為攝氏溫度

華氏換成攝氏的公式是

攝氏 = (華氏-32) * (5/9)

所以 Text1.Text = (Val(F) – 32) * (5 / 9)

Text3.Text = Val(Text1.Text) + 273

Text3出現的數字即為開氏溫度

要換成開氏拿攝氏來換會比較快

所以我們輸入

Text3.Text = Val(Text1.Text) + 273

四、開氏換算(Command3)

點擊兩下Command3按鈕開始撰寫程式碼

If Text3.Text = “” Then
MsgBox “請輸入開氏數值”, 16, “開氏”
Exit Sub
End If

如果Text3沒有輸入任何東西的話就出現Msgbox彈出式訊息視窗

然後不再執行敘述(End Sub)

K = Text3.Text

將Text3輸入的內容導入K(開氏)變數中

Text1.Text = Val(K) – 273

Text1出現的數字即為攝氏溫度

開氏換成攝氏的公式是

攝氏 = 開氏 – 273

所以 Text1.Text = Val(K) – 273

Text2.Text = Val(Text1.Text) * (9 / 5) + 32

Text2出現的數字即為華氏溫度

要換成華氏拿攝氏來換會比較快

所以我們輸入

Text2.Text = Val(Text1.Text) * (9 / 5) + 32

.

有BUG!

不知道各位有沒有發現,照這種方式寫出來的程式Text內並不能輸入負值(-)

其實只要在text的KeyPress程序再多寫一行程式碼就好了

給各位想想看吧!

.

.

答:只要在text的KeyPress程序中撰寫以下程式碼就好了

If KeyAscii = 45 Then Exit Sub

按鍵碼45就是”-” 負號

文章分類:VB6.0|標籤:,

迴響已關閉