vb 计算器

很简洁的计算器,代码也很少,只有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个命令按钮,则不管单击哪个命令按钮,就会调用同一个单击事件过程。为了区分是控件数组中的哪个元素触发了事件,在程序运行时,通过传送给过程的索引值(即下标值)来确定。
如何创建控件数组?
若已有一控件名为Command1,右击该控件,单击快捷菜单中的“复制”,再右击控件所在窗体(或其中的一个类似Frame的容器控件),单击快捷菜单中的“粘贴”,VB会弹出一个对话框,显示“已经有一个控件为 'Command1'。创建一个控件数组吗?”单击“是”按钮,就可创建一个名称(Name属性)为'Command1”的控件数组,被复制的控件为Command1(0),粘贴的控件为Command1(1)。
(二)、把字符串当命令执行。
在这个例子中,直接使用文本框text1中的字符串当作命令去执行。要使用这个方法,需要在菜单“工程”->“引用” 中勾选“Microsoft Script Control 1.0"
之后定义变量a
Dim a As New ScriptControl
设置脚本语言为”vbs"
a.Language = "vbs"
最后执行eval方法
Text1.Text = a.Eval(Text1.Text)