当前位置:编程学习 > VB >>

vb程序编程

利用vb程序,编辑一个计算器。(只要求能运算 加减乘除 ),以及页面设计
补充:外加按钮的设计
		
追问:15240677208.163.com
答案:Dim min_len As Integer
  txt = txtDisplay.Text
  If Left$(txt, 1) = "-" Then
    min_len = 2
  Else
    min_len = 1
  End If
 
  If Len(txt) > min_len Then
    txtDisplay.Text = Left$(txt, Len(txt) - 1)
  Else
    txtDisplay.Text = "0"
  End If
End Sub
 
 
' Clear the current entry.
Private Sub cmdClearEntry_Click()
  txtDisplay.Text = ""
End Sub
' Add a decimal point to the display.
Private Sub cmdDecimal_Click()
  If InStr(txtDisplay.Text, ".") Then
    Beep
  Else
    If NewEntry Then
       txtDisplay.Text = "."
       NewEntry = False
    Else
       txtDisplay.Text = txtDisplay.Text & "."
    End If
  End If
End Sub
 
' Calculate the result of the previous operation.
Private Sub cmdEquals_Click()
Dim new_value As Double
  If txtDisplay.Text = "" Then
    new_value = 0
  Else
    new_value = CDbl(txtDisplay.Text)
  End If
  Select Case Operator
    Case opNone
       StoredValue = new_value
    Case opAdd
       StoredValue = StoredValue + new_value
    Case opSubtract
       StoredValue = StoredValue - new_value
    Case opMultiply
       StoredValue = StoredValue * new_value
    Case opDivide
       StoredValue = StoredValue / new_value
  End Select
  Operator = opNone
  NewEntry = True
  txtDisplay.Text = Format$(StoredValue)
End Sub
 
' Add a number to the display.
Private Sub cmdNumber_Click(Index As Integer)
  If NewEntry Then
    txtDisplay.Text = Format$(Index)
    NewEntry = False
  Else
    txtDisplay.Text = _
       txtDisplay.Text & Format$(Index)
  End If
End Sub
 
' Prepare to perform an operation.
Private Sub cmdOperator_Click(Index As Integer)
  ' Perform the previous operation.
  cmdEquals_Click
  ' Remember this operation.
  Operator = Index
  ' Start a new value.
  NewEntry = True
End Sub
 

' Change the value's sign.
Private Sub cmdPlusMinus_Click()
  If NewEntry Then
    txtDisplay.Text = "-"
  ElseIf Left$(txtDisplay.Text, 1) = "-" Then
    txtDisplay.Text = Right$(txtDisplay.Text, 2)
  Else
    txtDisplay.Text = "-" & txtDisplay.Text
  End If
End Sub
 
' Check for normal characters.
Private Sub Form_KeyPress(KeyAscii As Integer)
  txtDisplay_KeyPress KeyAscii
End Sub
' Check for unusual characters.
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
  txtDisplay_KeyUp KeyCode, Shift
End Sub

' Keep the cursor on the right.
Private Sub txtDisplay_Change()
  txtDisplay.SelStart = Len(txtDisplay.Text)
End Sub
 
' Keep the cursor on the right.
Private Sub txtDisplay_GotFocus()
  txtDisplay_Change
End Sub

' Check for normal characters.
Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String
  ch = Chr$(KeyAscii)
  Select Case ch
    Case "0"
       cmdNumber_Click 0
    Case "1"
       cmdNumber_Click 1
    Case "2"
       cmdNumber_Click 2
    Case "3"
       cmdNumber_Click 3
    Case "4"
       cmdNumber_Click 4
    Case "5"
       cmdNumber_Click 5
    Case "6"
       cmdNumber_Click 6
    Case "7"
       cmdNumber_Click 7
    Case "8"
       cmdNumber_Click 8
    Case "9"
       cmdNumber_Click 9
    Case "*", "x", "X"
       cmdOperator_Click opMultiply
    Case "+"
       cmdOperator_Click opAdd
    Case vbCrLf, vbCr, "="
       cmdEquals_Click
    Case "-"
       cmdOperator_Click opSubtract
    Case "."
       cmdDecimal_Click
    Case "/"
       cmdOperator_Click opDivide
    Case "C", "c"
       cmdClearEntry_Click
  End Select
  KeyAscii = 0
End Sub
 
' Check for unusual characters.
Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)
  Select Case KeyCode
    Case vbKeyNumpad0
       cmdNumber_Click 0
    Case vbKeyNumpad1
       cmdNumber_Click 1
    Case vbKeyNumpad2
       cmdNumber_Click 2
    Case vbKeyNumpad3
       cmdNumber_Click 3
    Case vbKeyNumpad4
       cmdNumber_Click 4
    Case vbKeyNumpad5
       cmdNumber_Click 5
    Case vbKeyNumpad6
       cmdNumber_Click 6
    Case vbKeyNumpad7
       cmdNumber_Click 7
    Case vbKeyNumpad8
       cmdNumber_Click 8
    Case vbKeyNumpad9
       cmdNumber_Click 9
    Case vbKeyMultiply
       cmdOperator_Click opMultiply
    Case vbKeyAdd
       cmdOperator_Click opAdd
    Case vbKeySeparator
       cmdEquals_Click
    Case vbKeySubtract
       cmdOperator_Click opSubtract
    Case vbKeyDecimal
       cmdDecimal_Click
    Case vbKeyDivide
       cmdOperator_Click opDivide
    Case vbKeyBack, vbKeyDelete
       DeleteCharacter
  End Select
  KeyCode = 0
End Sub

编辑计算器很容易,特别是你只要这么少的功能,唯独就是你那个皮肤

 

留个邮箱,我发给你

发给你了,请查收!

Option   Explicit  
  Dim   Op1,   Op2                                 '   前面输入的操作数  
  Dim   DecimalFlag   As   Integer     '   小数点仍然存在吗?  
  Dim   NumOps   As &nbs

上一个:vb6编程问题
下一个:请问有没有vb编程很厉害的,麻烦偶尔指导我一下!谢谢!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,