
'这个很简单的了,你用记事本把这段代码复制过去,然后另存为frm就可以了
'然后用vb打开。看看效果。
'以下保存为 任务名称frm
VERSION 500
Begin VBForm Form1
Caption = "计算机"
ClientHeight = 4230
ClientLeft = 60
ClientTop = 750
ClientWidth = 3165
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4230
ScaleWidth = 3165
StartUpPosition = 2 '屏幕中心
Begin VBFrame Frame1
Height = 3495
Left = 120
TabIndex = 1
Top = 600
Width = 2895
Begin VBCommandButton cmdResult
Caption = "="
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1080
TabIndex = 20
Top = 3000
Width = 1695
End
Begin VBCommandButton cmdOff
Caption = "OFF"
Height = 375
Left = 1560
TabIndex = 19
Top = 240
Width = 495
End
Begin VBCommandButton cmdCE
Caption = "CE"
Height = 375
Left = 2280
TabIndex = 18
Top = 240
Width = 495
End
Begin VBCommandButton cmdchu
Caption = "/"
Height = 375
Left = 2280
TabIndex = 17
Top = 2520
Width = 495
End
Begin VBCommandButton cmdjia
Caption = "+"
Height = 375
Left = 2280
TabIndex = 16
Top = 720
Width = 495
End
Begin VBCommandButton cmd0
Caption = "0"
Height = 375
Left = 840
TabIndex = 15
Top = 2520
Width = 495
End
Begin VBCommandButton cmd6
Caption = "6"
Height = 375
Left = 1560
TabIndex = 14
Top = 1320
Width = 495
End
Begin VBCommandButton cmd8
Caption = "8"
Height = 375
Left = 840
TabIndex = 13
Top = 720
Width = 495
End
Begin VBCommandButton cmd4
Caption = "4"
Height = 375
Left = 120
TabIndex = 12
Top = 1320
Width = 495
End
Begin VBCommandButton cmd9
Caption = "9"
Height = 375
Left = 1560
TabIndex = 11
Top = 720
Width = 495
End
Begin VBCommandButton cmd2
Caption = "2"
Height = 375
Left = 840
TabIndex = 10
Top = 1920
Width = 495
End
Begin VBCommandButton cmdjian
Caption = "-"
Height = 375
Left = 2280
TabIndex = 9
Top = 1320
Width = 495
End
Begin VBCommandButton cmdPoint
Caption = ""
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1560
TabIndex = 8
Top = 2520
Width = 495
End
Begin VBCommandButton cmdcheng
Caption = ""
Height = 375
Left = 2280
TabIndex = 7
Top = 1920
Width = 495
End
Begin VBCommandButton cmd5
Caption = "5"
Height = 375
Left = 840
TabIndex = 6
Top = 1320
Width = 495
End
Begin VBCommandButton cmd3
Caption = "3"
Height = 375
Left = 1560
TabIndex = 5
Top = 1905
Width = 495
End
Begin VBCommandButton cmd1
Caption = "1"
Height = 375
Left = 120
TabIndex = 4
Top = 1920
Width = 495
End
Begin VBCommandButton cmd7
Caption = "7"
Height = 375
Left = 120
TabIndex = 3
Top = 720
Width = 495
End
Begin VBCommandButton cmdChange
Caption = "+/-"
Height = 375
Left = 120
TabIndex = 2
Top = 2520
Width = 495
End
End
Begin VBTextBox txt
Alignment = 1 'Right Justify
Enabled = 0 'False
BeginProperty Font
Name = "宋体"
Size = 105
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 120
Locked = -1 'True
TabIndex = 0
Top = 120
Width = 2895
End
Begin VBMenu meuFile
Caption = "文件(&F)"
Begin VBMenu meuExit
Caption = "退出(&X)"
Shortcut = ^X
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim XiaoShu As Boolean
'在窗体变量中声明一个布尔值来判断是否按下了小数点键,防止txt中出现多个小数。如果已经输入了小数点则Xiaoshu为True,否则为False
Dim FuHao As Byte
'声明一个Byte来记录我们按下了什么符号,1为"+",2为"-",3为"",4为"/"
Dim FirstNumber As Double
'声明一个变量来记录 *** 作数的第一个数,如A+B,那么FirstNumber来记下A的值。
Dim DengHao As Boolean
'声明一个变量来记录是否按下了=号,如果按下了则为True
Private Sub cmd0_Click()
If txtText <> "" Then txtText = txtText + "0" '防止多个0在文本中出现
End Sub
Private Sub cmd1_Click() '按下1时
If Not DengHao Then '没按下等号
txtText = txtText + "1"
Else
txtText = "1" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd2_Click() '按下2时
If Not DengHao Then '没按下等号
txtText = txtText + "2"
Else
txtText = "2" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd3_click() '按下3时
If Not DengHao Then '没按下等号
txtText = txtText + "3"
Else
txtText = "3" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd4_Click() '按下4时
If Not DengHao Then '没按下等号
txtText = txtText + "4"
Else
txtText = "4" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd5_Click() '按下5时
If Not DengHao Then '没按下等号
txtText = txtText + "5"
Else
txtText = "5" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd6_Click() '按下6时
If Not DengHao Then '没按下等号
txtText = txtText + "6"
Else
txtText = "6" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd7_Click() '按下7时
If Not DengHao Then '没按下等号
txtText = txtText + "7"
Else
txtText = "7" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd8_Click() '按下8时
If Not DengHao Then '没按下等号
txtText = txtText + "8"
Else
txtText = "8" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmd9_Click() '按下9时
If Not DengHao Then '没按下等号
txtText = txtText + "9"
Else
txtText = "9" '按下了等号
DengHao = False
End If
End Sub
Private Sub cmdCE_Click()
txtText = ""
XiaoShu = False
End Sub
Private Sub cmdChange_Click()
If (Sgn(Val(txtText))) = 1 Then txtText = "-" + txtText: Exit Sub '用Sgn来判断txt文本框内的值的符号。大于0的话就在前面加上"-"
If (Sgn(Val(txtText))) = -1 Then txtText = Abs(Val(txtText)) 'txt文本框的文本为大于0的数txt前面的"-"去掉。
End Sub
Private Sub cmdcheng_Click()
FirstNumber = Val(txtText)
FuHao = 3
txtText = ""
XiaoShu = False
End Sub
Private Sub cmdchu_Click()
FirstNumber = Val(txtText)
FuHao = 4
txtText = ""
XiaoShu = False
End Sub
Private Sub cmdjia_Click()
FirstNumber = Val(txtText)
FuHao = 1
txtText = ""
XiaoShu = False
End Sub
Private Sub cmdjian_Click()
FirstNumber = Val(txtText)
FuHao = 2
txtText = ""
XiaoShu = False
End Sub
Private Sub cmdOff_Click()
End
End Sub
Private Sub cmdPoint_Click()
If txtText = "" Then txtText = "0"
If Not XiaoShu Then '当我们以前没有按下小数点键时在txt中加上小数点
txtText = txtText + ""
XiaoShu = True
End If
End Sub
Private Sub cmdResult_Click()
If FuHao = 1 Then '按下了+号
txtText = FirstNumber + Val(txtText)
End If
If FuHao = 2 Then '按下了-号
txtText = FirstNumber - Val(txtText)
End If
If FuHao = 3 Then '按下了号
txtText = FirstNumber Val(txtText)
End If
If FuHao = 4 Then '按下了、号
txtText = FirstNumber / Val(txtText)
End If
DengHao = True '记录下按了=号
XiaoShu = False
End Sub
Private Sub meuExit_Click()
End
End Sub
Dim N1 As Single
Dim ysf As String
Dim qing As Boolean
Dim M As Single
Private Sub C_Click(Index As Integer)
If qing = True Then
LCaption = ""
qing = False
End If
LCaption = LCaption & C(Index)Caption
End Sub
Private Sub Command1_Click()
qing = True
Dim N2 As Single
Dim T As Single
N2 = Val(LCaption)
Select Case ysf
Case "+"
T = N1 + N2
Case "-"
T = N1 - N2
Case ""
T = N1 N2
Case "/"
T = N1 / N2
End Select
LCaption = T
End Sub
Private Sub Command10_Click()
M = Val(LCaption)
L1Caption = "M"
End Sub
Private Sub Command11_Click()
M = M + Val(LCaption)
End Sub
Private Sub Command2_Click()
LCaption = -Val(LCaption)
End Sub
Private Sub Command3_Click()
If LCaption <> "" Then
LCaption = Left(LCaption, Len(LCaption) - 1)
End If
End Sub
Private Sub Command4_Click()
N1 = 0
LCaption = ""
ysf = "+"
End Sub
Private Sub Command5_Click()
LCaption = ""
End Sub
Private Sub Command6_Click()
LCaption = Sqr(Val(LCaption))
qing = True
End Sub
Private Sub Command7_Click()
LCaption = 1 / (Val(LCaption))
End Sub
Private Sub Command8_Click()
M = 0
L1Caption = ""
End Sub
Private Sub Command9_Click()
LCaption = M
End Sub
Private Sub Form_Load()
ysf = "+"
End Sub
Private Sub s_Click(Index As Integer)
N1 = LCaption
ysf = s(Index)Caption
qing = True
End Sub
Private Sub xsd_Click()
If qing = True Then
LCaption = ""
qing = False
End If
If InStr(1, LCaption, "") = 0 Then
LCaption = LCaption & ""
End If
End Sub
很简单的:窗口放入四个COMMAND控件(Caption属性分别为+、-、X、÷),三个TEXT控件,再放入三个Label控件(Caption属性分别为: *** 作数1、 *** 作数2和计算结果),窗口的Caption属性改为“四则运算”
代码如下:
Private Sub Command1_Click()
If Val(Text1Text) + Val(Text2Text) <> Int(Val(Text1Text) + Val(Text2Text)) Then
Text3Text = Format(Val(Text1Text) + Val(Text2Text), "0######")
Else
Text3Text = Val(Text1Text) + Val(Text2Text)
End If
End Sub
Private Sub Command2_Click()
If Val(Text1Text) - Val(Text2Text) <> Int(Val(Text1Text) - Val(Text2Text)) Then
Text3Text = Format(Val(Text1Text) - Val(Text2Text), "0######")
Else
Text3Text = Val(Text1Text) - Val(Text2Text)
End If
End Sub
Private Sub Command3_Click()
If Val(Text1Text) Val(Text2Text) <> Int(Val(Text1Text) Val(Text2Text)) Then
Text3Text = Format(Val(Text1Text) Val(Text2Text), "0######")
Else
Text3Text = Val(Text1Text) Val(Text2Text)
End If
End Sub
Private Sub Command4_Click()
If Val(Text1Text) / Val(Text2Text) <> Int(Val(Text1Text) / Val(Text2Text)) Then
Text3Text = Format(Val(Text1Text) / Val(Text2Text), "0######")
Else
Text3Text = Val(Text1Text) / Val(Text2Text)
End If
End Sub
给你个稍微简单一点的。。。。用控件数组的。
Dim v As Boolean
Dim s As Integer
Dim x As Double
Dim y As Double
Private Sub Command1_Click(Index As Integer)
If Form1Tag = "s" Then
If Index = 10 Then
Text1Text = "0"
Else
Text1Text = Command1(Index)Caption
End If
Form1Tag = ""
Else
Text1Text = Text1Text & Command1(Index)Caption
End If
End Sub
Private Sub Command2_Click(Index As Integer)
Form1Tag = "s"
If v Then
x = Val(Text1Text)
v = Not v
Else
y = Val(Text1Text)
Select Case s
Case 0
Text1Text = x + y
Case 1
Text1Text = x - y
Case 2
Text1Text = x y
Case 3
If y <> 0 Then
Text1Text = x / y
Else
MsgBox ("不能以0为除数")
Text1Text = x
v = False
End If
Case 4
y = 0
v = False
End Select
x = Val(Text1Text)
End If
s = Index
End Sub
10个数字按钮,四个四则运算按钮,一个小数点按钮和一个等于号按钮,一个文本框
数字和小数点做成一组控件数组,其他的运算按钮做一个控件数组,
完全版的前后台代码
'请把下面的保存为 form1frm
VERSION 500
Begin VBForm Calculator
BorderStyle = 1 'Fixed Single
Caption = "计算器"
ClientHeight = 2970
ClientLeft = 2580
ClientTop = 1485
ClientWidth = 3270
ClipControls = 0 'False
BeginProperty Font
Name = "System"
Size = 975
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "CALCfrx":0000
LinkMode = 1 'Source
LinkTopic = "Form1"
MaxButton = 0 'False
PaletteMode = 1 'UseZOrder
ScaleHeight = 2970
ScaleWidth = 3270
WhatsThisHelp = -1 'True
Begin VBCommandButton Number
Caption = "7"
Height = 480
Index = 7
Left = 120
TabIndex = 7
Top = 600
Width = 480
End
Begin VBCommandButton Number
Caption = "8"
Height = 480
Index = 8
Left = 720
TabIndex = 8
Top = 600
Width = 480
End
Begin VBCommandButton Number
Caption = "9"
Height = 480
Index = 9
Left = 1320
TabIndex = 9
Top = 600
Width = 480
End
Begin VBCommandButton Cancel
Caption = "C"
Height = 480
Left = 2040
TabIndex = 10
Top = 600
Width = 480
End
Begin VBCommandButton CancelEntry
Caption = "CE"
Height = 480
Left = 2640
TabIndex = 11
Top = 600
Width = 480
End
Begin VBCommandButton Number
Caption = "4"
Height = 480
Index = 4
Left = 120
TabIndex = 4
Top = 1200
Width = 480
End
Begin VBCommandButton Number
Caption = "5"
Height = 480
Index = 5
Left = 720
TabIndex = 5
Top = 1200
Width = 480
End
Begin VBCommandButton Number
Caption = "6"
Height = 480
Index = 6
Left = 1320
TabIndex = 6
Top = 1200
Width = 480
End
Begin VBCommandButton Operator
Caption = "+"
Height = 480
Index = 1
Left = 2040
TabIndex = 12
Top = 1200
Width = 480
End
Begin VBCommandButton Operator
Caption = "-"
Height = 480
Index = 3
Left = 2640
TabIndex = 13
Top = 1200
Width = 480
End
Begin VBCommandButton Number
Caption = "1"
Height = 480
Index = 1
Left = 120
TabIndex = 1
Top = 1800
Width = 480
End
Begin VBCommandButton Number
Caption = "2"
Height = 480
Index = 2
Left = 720
TabIndex = 2
Top = 1800
Width = 480
End
Begin VBCommandButton Number
Caption = "3"
Height = 480
Index = 3
Left = 1320
TabIndex = 3
Top = 1800
Width = 480
End
Begin VBCommandButton Operator
Caption = "X"
Height = 480
Index = 2
Left = 2040
TabIndex = 14
Top = 1800
Width = 480
End
Begin VBCommandButton Operator
Caption = "/"
Height = 480
Index = 0
Left = 2640
TabIndex = 15
Top = 1800
Width = 480
End
Begin VBCommandButton Number
Caption = "0"
Height = 480
Index = 0
Left = 120
TabIndex = 0
Top = 2400
Width = 1080
End
Begin VBCommandButton Decimal
Caption = ""
Height = 480
Left = 1320
TabIndex = 18
Top = 2400
Width = 480
End
Begin VBCommandButton Operator
Caption = "="
Height = 480
Index = 4
Left = 2040
TabIndex = 16
Top = 2400
Width = 480
End
Begin VBCommandButton Percent
Caption = "%"
Height = 480
Left = 2640
TabIndex = 17
Top = 2400
Width = 480
End
Begin VBLabel Readout
Alignment = 1 'Right Justify
BackColor = &H0000FFFF&
BorderStyle = 1 'Fixed Single
Caption = "0"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00000000&
Height = 375
Left = 120
TabIndex = 19
Top = 105
Width = 3000
End
End
Attribute VB_Name = "Calculator"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' --------------------------------------------------------------------------
' 版权所有 (C) 1994 Microsoft Corporation
'
' 您可以免费以任何方式使用、修改、复制并分发您认为有用的
' 示例应用程序文件 (或任何修改过的版本)。Microsoft 对任何
' 示例应用程序文件不做任何保证,不负任何责任和义务。
' --------------------------------------------------------------------------
Option Explicit
Dim Op1, Op2 ' 前面输入的 *** 作数
Dim DecimalFlag As Integer ' 小数点仍然存在吗?
Dim NumOps As Integer ' *** 作数个数
Dim LastInput ' 指示上一次按键事件的类型
Dim OpFlag ' 指示未完成的 *** 作
Dim TempReadout
' C (取消) 按钮的 Click 事件过程
' 重新设置显示并初始化变量
Private Sub Cancel_Click()
Readout = Format(0, "0")
Op1 = 0
Op2 = 0
Form_Load
End Sub
' CE (取消输入) 按钮的 Click 事件过程
Private Sub CancelEntry_Click()
Readout = Format(0, "0")
DecimalFlag = False
LastInput = "CE"
End Sub
' 小数点 () 按钮的 Click 事件过程
' 如果上一次按键为运算符,初始化 readout 为 "0";
' 否则显示时追加一个小数点
Private Sub Decimal_Click()
If LastInput = "NEG" Then
Readout = Format(0, "-0")
ElseIf LastInput <> "NUMS" Then
Readout = Format(0, "0")
End If
DecimalFlag = True
LastInput = "NUMS"
End Sub
' 窗体的初始化过程
' 设置所有变量为其初始值
Private Sub Form_Load()
DecimalFlag = False
NumOps = 0
LastInput = "NONE"
OpFlag = " "
Readout = Format(0, "0")
'DecimalCaption = Format(0, "")
End Sub
' 数字键 (0-9) 的 Click 事件过程
' 向显示中的数追加新数
Private Sub Number_Click(Index As Integer)
If LastInput <> "NUMS" Then
Readout = Format(0, "")
DecimalFlag = False
End If
If DecimalFlag Then
Readout = Readout + Number(Index)Caption
Else
Readout = Left(Readout, InStr(Readout, Format(0, "")) - 1) + Number(Index)Caption + Format(0, "")
End If
If LastInput = "NEG" Then Readout = "-" & Readout
LastInput = "NUMS"
End Sub
' 运算符 (+, -, x, /, =) 的 Click 事件过程
' 如果接下来的按键是数字键,增加 NumOps。
' 如果有一个 *** 作数,则设置 Op1。
' 如果有两个 *** 作数,则将 Op1 设置为 Op1 与
' 当前输入字符串的运算结果,并显示结果
Private Sub Operator_Click(Index As Integer)
TempReadout = Readout
If LastInput = "NUMS" Then
NumOps = NumOps + 1
End If
Select Case NumOps
Case 0
If Operator(Index)Caption = "-" And LastInput <> "NEG" Then
Readout = "-" & Readout
LastInput = "NEG"
End If
Case 1
Op1 = Readout
If Operator(Index)Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
Readout = "-"
LastInput = "NEG"
End If
Case 2
Op2 = TempReadout
Select Case OpFlag
Case "+"
Op1 = CDbl(Op1) + CDbl(Op2)
Case "-"
Op1 = CDbl(Op1) - CDbl(Op2)
Case "X"
Op1 = CDbl(Op1) CDbl(Op2)
Case "/"
If Op2 = 0 Then
MsgBox "除数不能为 0", 48, "计算器"
Else
Op1 = CDbl(Op1) / CDbl(Op2)
End If
Case "="
Op1 = CDbl(Op2)
Case "%"
Op1 = CDbl(Op1) CDbl(Op2)
End Select
Readout = Op1
NumOps = 1
End Select
If LastInput <> "NEG" Then
LastInput = "OPS"
OpFlag = Operator(Index)Caption
End If
End Sub
' 百分比键 (%) 的 Click 事件过程
' 计算并显示第一个 *** 作数的百分数
Private Sub Percent_Click()
Readout = Readout / 100
LastInput = "Ops"
OpFlag = "%"
NumOps = NumOps + 1
DecimalFlag = True
End Sub
以上就是关于用VB设计一个计算器全部的内容,包括:用VB设计一个计算器、用vb语言编写一个简易计算器、如何用VB做简易的四则运算计算器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)