经过多次修改,完成了一个比较完整的计算器了。将VBScript常用的算术运算符和逻辑运算符全部加进来了。最后的效果图见下图。
计算器'按键函数
Function Show(m)
If (Myform.Expression.Value = "" AND InStr(". + - * / \ ^ And OR
Mod XOR ",m)) Then
Myform.Expression.Value = ""
ElseIf (InStr(". + - * / \ ^ And OR Mod XOR
",Right(Myform.Expression.Value,1)) And InStr(". + - * / \ ^ And OR
Mod XOR ",m)) Then
ElseIf (m = ".") Then
If (InStr(". + - * / \ ^ And OR Mod XOR
",Right(Myform.Expression.Value,1))) Then
ElseIf ((InstrRev(Myform.Expression.Value,".")
> InstrRev(Myform.Expression.Value,"+")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"-")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"*")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"/")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"\")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"^")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"Mod")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"And")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"OR")) And
(InstrRev(Myform.Expression.Value,".") >
InstrRev(Myform.Expression.Value,"XOR"))) Then
Else
Myform.Expression.Value = Myform.Expression.Value + m
End If
Else
Myform.Expression.Value =
Myform.Expression.Value + m
END If
End Function
'计算平方根函数
Function Sqrt()
If (Myform.Expression.Value = "") Then
Myform.Expression.Value = ""
ElseIf (InStr(". + - * / \ ^ And OR Mod XOR
",Right(Myform.Expression.Value,1))) Then
Else
Myform.Expression.Value =
Sqr((Myform.Expression.Value))
End If
End Function
'取反函数
Function QU_Not()
If (Myform.Expression.Value = "") Then
Myform.Expression.Value = ""
ElseIf (InStr(". + - * / \ ^ And OR Mod XOR
",Right(Myform.Expression.Value,1))) Then
Else
Myform.Expression.Value =
Not((Myform.Expression.Value))
End If
End Function
'结果函数
Function Result()
On Error Resume Next '容错语句
If (Myform.Expression.Value = "") Then
Myform.Expression.Value =
""
ElseIf (InStr(". + - * / \ ^
And OR Mod XOR ",Right(Myform.Expression.Value,1))) Then
Else
Myform.Expression.Value =
(Myform.Expression.Value)
End If
End Function
'清除函数
Function Clean()
Myform.Expression.Value = ""
End Function
INPUT {
FONT-SIZE: 15px
}
text=#000000>
Action="">
Border="4">
计算器
Scope="Col">
Border="1">
Align="Center">
size="28" maxlength="28" >
align="center">
VALUE=" 7 " onClick="Show('7')" id="seven">
align="center">
VALUE=" 8 " onClick="Show('8')">
align="center">
VALUE=" 9 " onClick="Show('9')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" / "
onClick="Show('/')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" \ "
onClick="Show('\')">
align="center">
VALUE=" 4 " onClick="Show('4')">
align="center">
VALUE=" 5 " onClick="Show('5')">
align="center">
VALUE=" 6 " onClick="Show('6')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" * "
onClick="Show('*')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE="Mod"
onClick="Show(' Mod ')">
align="center">
VALUE=" 1 " onClick="Show('1')">
align="center">
VALUE=" 2 " onClick="Show('2')">
align="center">
VALUE=" 3 " onClick="Show('3')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" - "
onClick="Show('-')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE="And"
onClick="Show(' And ')">
align="center">
VALUE=" 0 " onClick="Show('0')">
align="center">
VALUE=" . " onClick="Show('.')">
align="center">
VALUE="Sqr" onClick="Sqrt()">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" + "
onClick="Show('+')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE="OR "
onClick="Show(' OR ')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" C "
onClick="clean()">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" = "
onClick="result()">
align="center">
VALUE="Not" onClick="QU_Not()">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE=" ^ "
onClick="Show('^')">
align="center">
style="border-style:none;color:red;" TYPE="button" VALUE="XOR"
onClick="Show(' XOR
')">