当前位置:首页 > 代码 > 正文

vb计算器等号代码(vb计算的代码)

admin 发布:2022-12-19 23:00 134


本篇文章给大家谈谈vb计算器等号代码,以及vb计算的代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

vb计算器代码

先建立一个新的项目文件,里面包含一个Form1的窗体。然后,添加控件,包括一个Text框(Text1),和17个按钮,这17个按钮使用的名称都是Command1,只是Index属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮(Command1),然后在Command1上击鼠标右键,选择复制(Copy),然后在窗体上任意部位击右键,选择粘贴(Paste),系统会提示是否创建控件组,选择“是”,重复上面步骤,直至创立17个按钮为止。各控件属性如下表:

Text1 BackColor=H00C0FFFF Text=“0.”

Command1 Index 0――16

Index 0――9 Caption=“0”-“9” Index 10 Caption=“.”

Index 11 Caption=“=”

Index 12 Caption=“+”

Index 13 Caption=“-”

Index 14 Caption=“×”

Index 15 Caption=“÷”

Index 16 Caption=“清除”

如果想改变一些其他的属性,比如字体,可以自己定义一下Font属性,如果相对多个控件的共同属性进行改变,可以在窗体上按下鼠标,拖动,把多个控件一起选定,然后对它们的共同属性进行修改。

别看这个东西小,还费了近我两个小时呢,不觉大叹手生,里面也有些地方很绕弯子,我尽量解释清楚。

在编写程序之前,我们先来回顾一下计算器的使用。

按下数字键在液晶屏上会出现数字,这是最基本的功能。

第一次按下运算键,再按下数字键,将重新输入第二个数字,再次按下运算键,将算出前两个数的结果,然后按下数字键,将又重新输入新的数字。

输入数字后,按下“等于键”将仍输出原来的数字,输入运算符和第二个数字后在按下“等于”,将得到二者的结果。然后又重复第二、三步。

按下“清除”,数据被全部清除。

了解了这些,我们一步一步实现。 先实现数据的输入,请看代码。 与未创立组的控件相比,它的事件里多了Index参数,组里所有的对象都使用同一个事件。 先在General里声明窗体级全局变量:

Dim Num1, Num2 As Single

Dim StrNum1, StrNum2 As String

Dim FirstNum As Boolean '判断是否是数字开头

因为Text1里是存放字符串的,所以要把输入的数据进行运算,必须把字符型变量转变为实型变量,分别用Num1、Num2和StrNum1、StrNum2进行存放。 在Form_Load事件里给变量初赋值:

Num1 = 0

Num2 = 0

StrNum1 = ""

StrNum2 = ""

FirstNum = True

因为17个按钮使用的是同一事件,所以我们用一个Select Case语句区分各个按钮,双击任意按钮输入代码:

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0 To 9

If FirstNum Then

StrNum1 = Str(Index)’实型转字符型

FirstNum = False’初赋值为假

Else’非初赋值

StrNum1 = StrNum1 + Str(Index)

End If

Text1.Text = StrNum1’显示

还有其他语句,等待插入

End Select

End Sub

运行程序的话已经可以输入数据,下面我们来处理小数点。 在General里声明新的变量:

Dim PointFlag As Boolean '判断是否已有小数点

我们知道小数点只能输入一次,一个数据中不能有多个小数点存在,所以需要一个布尔变量做判断。

在Form_Load里进行初赋值:

PointFlag = False

在Command的单击事件里接着上面输入新的代码:

Case 10

If Not PointFlag Then’如果没有小数点

If FirstNum Then’如果是第一个字符

StrNum1 = "0."

FirstNum = False

Else

StrNum1 = StrNum1 + "."

End If

Else’已有小数点

Exit Sub’则退出单击事件

End If

PointFlag = True

Text1.Text = StrNum1

下面会复杂一些,我们先跳过等号,而来处理四则运算:

先在General里声明新变量:

Dim Runsign As Integer '储存运算符号

Dim SignFlag As Boolean '判断是否已有运算符号

然后在Form_Load中进行初赋值:

Runsign = 0

SignFlag = False

在接下的Command1_Click中继续输入代码:

Case 12 To 15

FirstNum = True’使下一次可以输入新数据

PointFlag = False

'还原标记值

If SignFlag Then’前面已有运算符未运算

Call Run

Else

SignFlag = True

StrNum2 = StrNum1’把字符串1复制给字符串2

StrNum1 = ""’字符串1清空

End If

Runsign = Index - 11 ‘储存键入的运算符

里面运算的部分我用了一个过程,是因为在按下等号时还会调用到运算过程,这样可以减少代码的输入,也使程序便于浏览。建立过程(Procedure),可以在General部分直接输入,也可以通过菜单里的“Add Procedure”添加。Run的代码如下:

Sub Run()

Num1 = Val(StrNum2)

Num2 = Val(StrNum1)

Select Case Runsign

Case 1’加

equal = Num1 + Num2

Case 2’减

equal = Num1 - Num2

Case 3’乘

equal = Num1 * Num2

Case 4’除

equal = Num1 / Num2

End Select

StrNum2 = Str(equal)

StrNum1 = StrNum2

Text1.Text = StrNum2

End Sub

下面是其余的代码:(在Command1_Click事件里,接着写)

Case 11

If Not SignFlag Then

Text1.Text = StrNum1

equal = Val(StrNum1)

FirstNum = True

PointFlag = False

Else

Call Run

SignFlag = False

End If

Case Else’清除按钮

Call ClearData

里面又用到了一个ClearData过程,实际上就是Form_Load里的变量初赋值,代码如下:

Sub ClearData()

Num1 = 0

Num2 = 0

StrNum1 = ""

StrNum2 = ""

FirstNum = True

PointFlag = False

Runsign = 0

SignFlag = False

Text1.Text = "0."

End Sub

这样完整的程序就完成了,本章介绍了VB的第一个控件――按钮,并且举例,希望你继续看下一章――菜单。

下面给出完整的程序代码:

Dim Num1, Num2 As Single

Dim StrNum1, StrNum2 As String

Dim FirstNum As Boolean '判断是否是数字开头

Dim PointFlag As Boolean '判断是否已有小数点

Dim Runsign As Integer '储存运算符号

Dim SignFlag As Boolean '判断是否已有运算符号

Sub ClearData()

Num1 = 0

Num2 = 0

StrNum1 = ""

StrNum2 = ""

FirstNum = True

PointFlag = False

Runsign = 0

SignFlag = False

Text1.Text = "0."

End Sub

Sub Run()

Num1 = Val(StrNum2)

Num2 = Val(StrNum1)

Select Case Runsign

Case 1

equal = Num1 + Num2

Case 2

equal = Num1 - Num2

Case 3

equal = Num1 * Num2

Case 4

equal = Num1 / Num2

End Select

StrNum2 = Str(equal)

StrNum1 = StrNum2

Text1.Text = StrNum2

End Sub

Private Sub about_Click()

MsgBox "Create by 周晓阳。1998/7/27", vbDefaultButton1, "VB教程第四章范例"

End Sub

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0 To 9

If FirstNum Then

StrNum1 = Str(Index)

FirstNum = False

Else

StrNum1 = StrNum1 + Str(Index)

End If

Text1.Text = StrNum1

Case 10

If Not PointFlag Then

If FirstNum Then

StrNum1 = "0."

FirstNum = False

Else

StrNum1 = StrNum1 + "."

End If

Else

Exit Sub

End If

PointFlag = True

Text1.Text = StrNum1

Case 12 To 15

FirstNum = True

PointFlag = False

'还原标记值

If SignFlag Then

Call Run

Else

SignFlag = True

StrNum2 = StrNum1

StrNum1 = ""

End If

Runsign = Index - 11

Case 11

If Not SignFlag Then

Text1.Text = StrNum1

equal = Val(StrNum1)

FirstNum = True

PointFlag = False

Else

Call Run

SignFlag = False

End If

Case Else

Call ClearData

End Select

End Sub

Private Sub Form_Load()

Call ClearData

End Sub

按钮还有两个重要的属性Default(默认属性)和Cancel(取消属性),两个属性都以布尔赋值,把Default设为True,则在按下回车键时,不论焦点处于何处,都会触发该按钮的Click事件,而当Cancel属性被设为True,在按下ESC键时,该按钮的Click属性发生。下面举个例子:

建立一个新窗体和两个按钮,Name属性分别为cmdOK和cmdCancel,把前者的Default设为True,后者的Cancel设为True,Caption属性分别为OK和Cancel。

Private Sub cmdCancel_Click()

MsgBox "Cancel按钮被按下", vbDefaultButton1, "提示"

End Sub

Private Sub cmdOK_Click()

MsgBox "OK按钮被按下", vbDefaultButton1, "提示"

End Sub

快捷键大家一定都知道,在VB如何实现呢。其实很简单,在刚才的例子里在建立一个按钮Command1,把它的Caption属性设为Click ME,如图4-11,在M的下面有一条下划线,运行程序,当你按下Alt+M的时候就触发了Command1_Click事件:

Private Sub Command1_Click()

MsgBox "Click ME 按钮被按下", vbDefaultButton1, "提示"

End Sub

你要是看不懂进这个网站,下半部分就是讲造计算器的:

请教高手,用vb做计算器,那个等号的代码怎么写

给你写了个例子,看看就OK了。可以把对应的加号换成其他运算符号。

Private Sub Command1_Click()

'在文本框 text1.text 中输入的格式需要是 X+Y 这中方式

Dim a As Double

Dim b As Double

a = Mid(Text1.Text, 1, InStr(Text1.Text, "+") - 1)

b = Mid(Text1.Text, InStr(Text1.Text, "+") + 1)

Text1.Text = a + b

End Sub

VB制作计算器的代码

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 "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.")

End Sub

'改变数字的正负号

Private Sub negcmd_Click()

If LastInput "OPS" Or OpFlag = "=" Then

If Left(Readout, 1) "-" Then

Readout = "-" Readout

Else

Readout = Right(Readout, Len(Readout) - 1)

End If

End If

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

LastInput = "NUMS"

End Sub

' 运算符 (+, -, x, /, =) 的 Click 事件过程

' 如果接下来的按键是数字键,增加 NumOps。

' 如果有一个操作数,则设置 Op1。

' 如果有两个操作数,则将 Op1 设置为 Op1 与

' 当前输入字符串的运算结果,并显示结果。

Private Sub Operator_Click(Index As Integer)

TempReadout = Readout

If LastInput "OPS" Then

NumOps = NumOps + 1

End If

Select Case NumOps

Case 0

'什么也不做

Case 1

Op1 = Readout

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 "除数不能为零", 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

LastInput = "OPS"

OpFlag = Operator(Index).Caption

End Sub

' 百分比键 (%) 的 Click 事件过程

Private Sub Percent_Click()

If LastInput "OPS" Or OpFlag = "=" Then

Readout = Readout / 100

LastInput = "PER"

DecimalFlag = True

End If

End Sub

计算器中的等号用VB怎么写代码

给你写了个例子,看看就ok了。可以把对应的加号换成其他运算符号。

private

sub

command1_click()

'在文本框

text1.text

中输入的格式需要是

x+y

这中方式

dim

a

as

double

dim

b

as

double

a

=

mid(text1.text,

1,

instr(text1.text,

"+")

-

1)

b

=

mid(text1.text,

instr(text1.text,

"+")

+

1)

text1.text

=

a

+

b

end

sub

关于vb计算器等号代码和vb计算的代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://www.ahzz.com.cn/post/29005.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载