Text1.Text = ""
Text2.Text = ""
Command1.Caption = "+"
Command2.Caption = "-"
Command3.Caption = "*"
Command4.Caption = "/"
End Sub
Private Sub Command1_Click()
s = Val(Text1.Text) + Val(Text2.Text)
MsgBox Text1.Text &" + " &Text2.Text &"仔渣袭 = " &Str(s)
End SubPrivate Sub Command2_Click()
s = Val(Text1.Text) - Val(Text2.Text)
MsgBox Text1.Text &" - " &Text2.Text &" = " &Str(s)
End SubPrivate Sub Command3_Click()
s = Val(Text1.Text) * Val(Text2.Text)
MsgBox Text1.Text &" * " &Text2.Text &" = " &Str(s)
End SubPrivate Sub Command4_Click()
s = Val(Text1.Text) / Val(Text2.Text)
MsgBox Text1.Text &" / " &Text2.Text &" = " &Str(s)
End Sub
Private Sub Text1_lostfocus()
If Text1.Text = "" Then MsgBox "输入第一个数值"
End SubPrivate Sub Text2_lostfocus()
If Text2.Text = "梁让" Then MsgBox "输入第二个数值"
If Text2.Text = "0" Then
MsgBox "除数不能为0"
Text2.SetFocus
End If
End Sub
代码如下:
Dim t, t1 As Integer
Dim x, y As Double
Public Sub com()
x = Val(l1.Caption)
Select Case t1
Case Is = 1: y = y + x
Case Is = 2: y = y - x
Case Is = 3: y = y * x
Case Is = 4: y = y / x
End Select
t1 = 0
t = 0
l1.Caption = "0"
End Sub
Private Sub Form_Load()
x = 0
y = 0
t = 0
t1 = 1
End Sub
Private Sub c0_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "0"
Else
l1.Caption = l1.Caption + "0"
End If
End Sub
Private Sub C1_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "1"
Else
l1.Caption = l1.Caption + "1"
End If
End Sub
Private Sub c10_Click(Index As Integer)
If t = 0 Then
l1.Caption = l1.Caption + "."弊含
t = 1
End If
End Sub
Private Sub C2_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "2"
Else
l1.Caption = l1.Caption + "租卖笑2"
End If
End Sub
Private Sub C3_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "3"
Else
l1.Caption = l1.Caption + "3"
End If
End Sub
Private Sub C4_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "4"
Else
l1.Caption = l1.Caption + "4"
End If
End Sub
Private Sub C5_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "5"
Else
l1.Caption = l1.Caption + "5"
End If
End Sub
Private Sub C6_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "配尘6"
Else
l1.Caption = l1.Caption + "6"
End If
End Sub
Private Sub C7_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "7"
Else
l1.Caption = l1.Caption + "7"
End If
End Sub
Private Sub C8_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "8"
Else
l1.Caption = l1.Caption + "8"
End If
End Sub
Private Sub C9_Click(Index As Integer)
If l1.Caption = "0" Then
l1.Caption = "9"
Else
l1.Caption = l1.Caption + "9"
End If
End Sub
Private Sub z1_Click(Index As Integer)
com
t1 = 1
End Sub
Private Sub z2_Click(Index As Integer)
com
t1 = 2
End Sub
Private Sub z3_Click(Index As Integer)
com
t1 = 3
End Sub
Private Sub z4_Click(Index As Integer)
com
t1 = 4
End Sub
Private Sub z5_Click(Index As Integer)
tmp = Mid(l1.Caption, Len(l1.Caption), 1)
If tmp = "." Then
t = 0
End If
If Len(l1.Caption) = 1 Then
l1.Caption = "0"
Else
l1.Caption = Left(l1.Caption, Len(l1.Caption) - 1)
End If
End Sub
Private Sub z6_Click(Index As Integer)
l1.Caption = "0"
Form_Load
End Sub
Private Sub z7_Click(Index As Integer)
If (l1.Caption <>"0") Then
l1.Caption = "-" + l1.Caption
End If
End Sub
Private Sub z8_Click(Index As Integer)
com
l1.Caption = Str(y)
End Sub
扩展资料语言缺点
Visual Basic 语言具有不支持继承、无原生支持多线程、异常处理不完善等三项明显缺点,使其有所局限性(此些缺点皆已在 vb .net 获得改进)。
不支持继承
VB 5.0 和 VB 6.0 都是基于对象的编程语言,但是不包含继承特性。VB 中提供了特殊的类的功能,但是还是不能满足程序员的需求。
无原生支持多线程
Visual Basic 对于多线程无原生支持,只能通过Windows API的调用实现,且极其的不稳定。因为在API创建的线程中,并没有自动初始化运行时库,导致部分的函数无法使用。一般的,在VB6等早期的VB开发环境下,使用API创建线程的目的是完成容易使程序假死的大量数据或者逻辑的计算。
异常处理不完善
Visual Basic 中内置异常处理,即使未写异常处理代码,一旦用户出错也会d出一个明确写出出错原因对话框,接着程序终止。
Visual Basic 中可以使用 Err.Raise抛出异常。对系统及用户抛出的异常的处理常用两种模式:一是使用 On Error Resume Next 处理错误;另一种是使用 On Error Goto 将运行引入错误处理代码。但相对 C++ 等语言而言,这样的异常处理破坏了代码的结构。
参考资料:百度百科-VB
Dim BDS, 搏戚JSS, I As IntegerPrivate Sub Command1_Click()
Dim kkl() As String '取出各行表达式的运算符的数值
ReDim kkl(UBound(BDS))
For I = 0 To UBound(BDS)
kkl(I) = Right(Left(BDS(I), 3), 1) '取出表达式的运算符
Select Case kkl(I)
Case "+"
JSS = Split(BDS(I), "+") '取出运算符二边的数据,存储在 JSS 数组中,下同
Text2.Text = Text2.Text & Val(JSS(0)) + Val(JSS(1)) & vbCrLf '在文本框2中显示计算结果。数据必须转换为数字数据!,下同
Case "-"
JSS = Split(BDS(I), "-")
Text2.Text = Text2.Text & Val(JSS(0)) - Val(JSS(1)) & vbCrLf
Case "*"
JSS = Split(BDS(I), "*")
Text2.Text = Text2.Text & Val(JSS(0)) * Val(JSS(1)) & 隐枣vbCrLf
Case "/"
JSS = Split(BDS(I), "/")
Text2.Text = Text2.Text & Val(JSS(0)) / Val(JSS(1)) & vbCrLf
End Select
Next I
End Sub
Private Sub Form_Load()
Text1.Text = Text1.Text & "33*33" & vbCrLf
Text1.Text = Text1.Text & "33+33" & vbCrLf
Text1.Text = Text1.Text & "33*33" & vbCrLf
BDS = Split(Text1.Text, vbCrLf) 基携陵'将数据存储到 BDS 数组中
End Sub
这个程序符合二位数与二位数的+、-、*、/ 的计算,比较简单。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)