如何使用VFP制作一个简易的计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何使用VFP(Microsoft Visual FoxPro)设计一个简易计算器?
胡伟
本文内容主要介绍如何使用VFP设计如下图所示的一个简易的计算器。
一、创建项目文件jsq.pjx
创建jsq文件夹:c:\jsq (以下文件均以此为存储目录)
在c:\jsq下创建项目文件:c:\jsq.pjx
二、创建表单jsq.scx
(一)创建表单jsq,并设置属性:设AutoCenter为“.T.”、ShowWindow为“作为顶层表单”
(二)在表单jsq内创建各对象
1、创建(菜单部分在后面创建)
单击“表单控件”工具栏上的“文本框”按钮,在表单上的适当位置单击。并设置属性Alignment为“1-右”
2、创建容器控件
设置属性SpecialEffect为“凹下”
3、创建命令控件
更改属性Caption “Command1”为“Backspace”,属性ForeColor “0,0,0”为“255,0,0”
4、如同创建,创建其它控件。
单击表面空白部分,更改属性Caption “Form1”为“计算器”。
5、编辑各控件的命令代码
新建属性 ls 并改其属性“.F.”为“0”;新建属性 mm 并改其属性“.F.”为“0”。(1)Backspace
双击Backspace控件,在打开的Command1.klick中编写如下代码:
thisform.text1.value=substr(alltrim(thisform.text1.value),1,len(alltrim(thisform.text1.value))-1)
(2)CE 的代码为:
thisform.text1.value=''
(3)C 的代码为:
thisform.text1.value=''
thisform.ls=0
thisform.tag=''
(4)MC 的代码为:
thisform.mm=0
(5)MR 的代码为:
thisform.text1.value=alltrim(str(thisform.mm))
(6)MS 的代码为:
thisform.mm=val(alltrim(thisform.text1.value))
(7)M+ 的代码为:
thisform.mm=thisform.mm+val(alltrim(thisform.text1.value)) (8)0 的代码为:
thisform.text1.value=thisform.text1.value+'0'
if alltrim(thisform.text1.value)='00'
thisform.text1.value='0'
endif
同理编写1、2、3、4、5、6、7、8、9 的代码。
(9)+ 的代码为:
thisform.ls=val(thisform.text1.value)
thisform.tag='1'
thisform.text1.value=''
同理编写-、 * 、/ 的代码
(10)=的代码为:
do case
case thisform.tag='1'
thisform.text1.value=alltrim(str(thisform.ls+val(thisform.text1.value),20,4)) case thisform.tag='2'
thisform.text1.value=alltrim(str(thisform.ls-val(thisform.text1.value),20,4)) case thisform.tag='3'
thisform.text1.value=alltrim(str(thisform.ls*val(thisform.text1.value),20,4)) case thisform.tag='4'
thisform.text1.value=alltrim(str(thisform.ls/val(thisform.text1.value),20,4)) endcase
(11)sqrt 的代码为:
thisform.text1.value=alltrim(str(sqrt(val(thisform.text1.value)),20,4))
(12)% 的代码为:
if thisform.tag='4'
thisform.text1.value=alltrim(str(thisform.ls/val(thisform.text1.value)*100,20,4)) endif
(13)1/x 的代码为:
thisform.text1.value=alltrim(str(1/val(thisform.text1.value),20,4))
(14)+/- 的代码为:
if substr(alltrim(thisform.text1.value),1,1)='-'
thisform.text1.value=substr(alltrim(thisform.text1.value),2) else
thisform.text1.value='-'+alltrim(thisform.text1.value) endif
(15).的代码为:
if at ('.',thisform.text1.value)=0
thisform.text1.value=thisform.text1.value+'.'
endif
三、创建程序jsq.prg
代码为:
set default to c:\jsq
do form jsq.scx
read events
并设置jsq.prg为主文件。
四、创建config.fpw
代码为:
screen=off
五、创建菜单jsq.mnx