📄 vfp1.txt
字号:
1)【提示】 操作步骤:
第一步:向表单添加文本框和命令组控件,分别设置命令按钮的Caption属性,在对命令按钮"="的Caption
属性设置时,不能在其属性窗口中直接输入半角的"=",否则提示语法错误。可以输入全角"="
或在表单FROM1的Init事件中,输入如下代码完成:
for i=1 to 10
this.commandgroup1.buttons(i).caption=alltrim(str(i))
endfor
this.commandgroup1.buttons(11).caption="*"
this.commandgroup1.buttons(12).caption="+"
this.commandgroup1.buttons(13).caption="-"
this.commandgroup1.buttons(14).caption="="
this.commandgroup1.buttons(15).caption="C"
第二步:在表单FORM1的Init事件中定义全局变量T,并赋初值空串
PUBLIC T=''
第三步:编写命令组的Click事件代码,完成接收输入的表达式:
do case
case this.value=1
t=t+"1"
thisform.text1.value=t
case this.value=2
t=t+"2"
thisform.text1.value=t
case this.value=3
t=t+"3"
thisform.text1.value=t
case this.value=4
t=t+"4"
thisform.text1.value=t
case this.value=5
t=t+"5"
thisform.text1.value=t
case this.value=6
t=t+"6"
thisform.text1.value=t
case this.value=7
t=t+"7"
thisform.text1.value=t
case this.value=8
t=t+"8"
thisform.text1.value=t
case this.value=9
t=t+"9"
thisform.text1.value=t
case this.value=10
t=t+"0"
thisform.text1.value=t
case this.value=11
t=t+"*"
thisform.text1.value=t
case this.value=12
t=t+'+'
thisform.text1.value=t
case this.value=13
t=t+'-'
thisform.text1.value=t
case this.value=14
thisform.text1.value=alltrim(str(&t,20,6)) && 宏替换T将得到数值表达式计算结果,20与6可以自己根据需要确定
case this.value=15
t=''
thisform.text1.value=t
endcase
thisform.refresh
第四步:当输入的表达式错误时,将引发命令组的Error事件,编写命令组的Error事件代码:
thisform.text1.value="运算式错误"
另个计算机器
假设两个正整数在TEXT1和TEXT2中,差运算的结果在TEXT3中。则
(1)"减运算(D)"命令按钮的CLICK过程为:
THISFORM.TEXT3.VALUE=ABS(THISFORM.TEXT1.VALUE-THISFORM.TEXT2.VALUE)
(2)"退出"命令按钮的CLICK过程为:
THISFORM.RELEASE
(3)限制TEXT1和TEXT2的初始值及输入格式,可在FORM1.INIT()过程中输入:
THISFORM.TEXT1.VALUE=1
THISFORM.TEXT2.VALUE=1
THISFORM.TEXT1.INPUTMASK="9999999999" &&根据需要可增减输入的位数
THISFORM.TEXT2.INPUTMASK="9999999999"
(4)另外,还需要编写入下代码
THISFORM.TEXT1.VALID()和THISFORM.TEXT2.VALID()均为
RETURN IIF(THIS.VALUE<=0,.F.,.T.)
要求:
1)单击C按钮:将文本框内容设置成空串。
2)单击数字按钮、小数点或正负号:将相应字符添加到文本框字符串的末尾。
3)单击=按钮:先判断文本框字符串内容是否为一个数值表达式,若是,就将表达式值转换成字符串,并显示于文本框内;若不是,则在文本框内显示“运算式错误”字样。
我设置的click事件代码:
1)thisform.text1.value=""
2)thisform.text1.value=thisform.text1.value+"0"(或其它字符)
b=val(alltrim(thisform.text1.value))
if i=0
n=a+b
endif
if i=1
n=a-b
endif
if i=2
n=a*b
endif
if i=3
n=a/b
endif
thisform.text1.value=str(n)
其实VISUAL FOXPRO中不需要自己设计计算器,系统本身带有,只需执行下列语句就可以了
ACTIVATE WINDOW CALCULATOR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -