当前位置: 首页 » 中职教育 » vb 计算器

未标题-1.jpg

很简洁的计算器,代码也很少,只有11行,但功能却不简单,除了加减乘除,还支持公式输入:

一、所有代码如下:

'点了数字、运算符

Private Sub Command1_Click(Index As Integer)

Text1.Text = Text1.Text & Command1(Index).Caption

End Sub

'点了 = 计算

Private Sub Command2_Click()

Dim a As New ScriptControl

a.Language = "vbs"

Text1.Text = a.Eval(Text1.Text)

End Sub

'点了 <- 退格

Private Sub Command3_Click()

Text1.Text = Left(Text1.Text, Len(Text1.Text) – 1)

End Sub

二、知识点:

(一)、程序中使用了控件数组。

 控件数组是由一组相同类型的控件组成。它们共用一个控件名,绝大部分的属性也相同,但有一个属性不同,即Index属性的值不同。当建立控件数组时,系统给每个元素赋一个唯一的索引号(Index),通过属性窗口的Index属性,可以知道该控件的下标是多少,第1个元素下标是0。例如,控件数组LblTm(6)表示控件数组名为LblTm的第7个元素。 
         控件数组最大的特点是:控件数组共享同样的事件过程。所以适用于若干个控件执行的操作相似的场合,例如,控件数组cmdShuzi有10个命令按钮,则不管单击哪个命令按钮,就会调用同一个单击事件过程。为了区分是控件数组中的哪个元素触发了事件,在程序运行时,通过传送给过程的索引值(即下标值)来确定。

未标题-2.jpg

如何创建控件数组?

若已有一控件名为Command1,右击该控件,单击快捷菜单中的“复制”,再右击控件所在窗体(或其中的一个类似Frame的容器控件),单击快捷菜单中的“粘贴”,VB会弹出一个对话框,显示“已经有一个控件为 'Command1'。创建一个控件数组吗?”单击“是”按钮,就可创建一个名称(Name属性)为'Command1”的控件数组,被复制的控件为Command1(0),粘贴的控件为Command1(1)。

(二)、把字符串当命令执行。

在这个例子中,直接使用文本框text1中的字符串当作命令去执行。要使用这个方法,需要在菜单“工程”->“引用” 中勾选“Microsoft Script Control 1.0"

未标题-3.jpg

之后定义变量a

Dim a As New ScriptControl

设置脚本语言为”vbs"

a.Language = "vbs"

最后执行eval方法

Text1.Text = a.Eval(Text1.Text)