VB新手寫一個小小程式遇到問題
本帖最後由 cpu66300 於 2015-8-28 15:44 編輯我要寫這樣!!!!!這是一個自訂的例如初始值打6 終止值打16 =121 從6加到16 的計算
裡面內容 我打了這樣 0錯誤 0警告 要測試運行點了計算 他就直接跳回這個畫面了
小弟遇到問題還不能解決煩請各位大大能解說 感恩
Clng改成Val s860070 發表於 2015-8-28 15:42 static/image/common/back.gif
Clng改成Val
感恩 可以了 感謝大大 奇怪位捨麼不能使用Cint阿 有差別嗎 因為我還不懂 >< 本帖最後由 s860070 於 2015-8-28 16:19 編輯
CInt是把數值轉換成整數,但是遇到非數值字串將會錯誤
Val是將數值字串轉換成數值(空的會轉換成0)
你要不要改成Function 比較好維護跟擴充介面呀?
完整程式碼:
Public Function 累加(ByVal 開始值 As Integer, ByVal 結束值 As Integer) As Long
Dim i As Long = 0
Dim Sum As Long = 0
For i = 開始值 To 結束值 Step 1
Sum += i
Next
Return Sum
End Function
Private Sub Btn_Calculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Calculate.Click
Dim 開始值 As Integer = Val(Txt_Start.Text)
Dim 結束值 As Integer = Val(Txt_Stop.Text)
Txt_Final.Text = "從 " & 開始值 & " 加到 " & 結束值 & " = " & 累加(開始值, 結束值)
End Sub
Private Sub Txt_Start_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Start.KeyPress
'禁止0~9和BackSpace以外的值輸入
If InStr("0123456789" & Chr(8), e.KeyChar) = 0 Then e.KeyChar = ""
End Sub
Private Sub Txt_Stop_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txt_Stop.KeyPress
'禁止0~9和BackSpace以外的值輸入
If InStr("0123456789" & Chr(8), e.KeyChar) = 0 Then e.KeyChar = ""
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'結果唯讀
Txt_Final.ReadOnly = True
'TextBox的文字置中
Txt_Start.TextAlign = HorizontalAlignment.Center
Txt_Stop.TextAlign = HorizontalAlignment.Center
Txt_Final.TextAlign = HorizontalAlignment.Center
End Sub
s860070 發表於 2015-8-28 16:03 static/image/common/back.gif
CInt是把數值轉換成整數,但是遇到非數值字串將會錯誤
Val是將數值字串轉換成數值(空的會轉換成0)
感恩大大的解說 我來試試看感恩 用Val()
印象中e語言叫做 到數值()
頁:
[1]