如何使用VFP制作一个简易的计算器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档