使用 VFP ( Microsoft Visual FoxPro ) 设计一个简易计算器(上)
2013-04-19 15:54
399 查看
没有接触过VFP,因为公司项目需要VFP实现修改位图DPI,所以过来摸索一下VFP怎么用。
百度查VFP,百度百科的名词解释是:http://baike.baidu.com/view/512982.htm
Visual FoxPro ,是Microsoft公司从Fox公司的FoxBase数据库软件经过数次改良,并且移植到Windows之后,得来的应用程序开发软件,主要用于开发数据管理与运算等方面的软件。VFP是Microsoft公司推出的最新可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。它提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、独一无二的跨平台技术,交肯有良好的兼容性、真正的可编译性和较强的安全性,是目前最快捷、最实用的数据库管理系统软件之一。
感觉VFP只是数据库管理软件,它怎么就可以改变图片的DPI了?(留待之后解决)下面简单记录VFP编程步骤:
一、下载VFP软件:http://download.csdn.net/detail/wangwenjing90/5276893
二、新建项目jsq(计算器) :运行Microsoft Visual FoxPro 6.0,文件--》新建--》项目--》新建文件,选项目保存位置(最好自己事先新建一个文件夹,因为会自动生成几个文件),输入项目文件名称:jsq ,保存。
三、设计表单(相当于VC中设置对话框样式):在项目管理器中切换到“文档”选项卡,选中“表单”,点击“新建”--》新建表单。
接下来按照计算器的样式设置表单控件及其属性即可:
注意:这里表单控件跟VC中不太一样,VC是直接拖到对话框中,这里是必须先点一下控件,再在表单中放置控件,并且可以改变控件的字体颜色,貌似比VC方便一些。
设计好表单之后,关闭表单设计器 -- 文档1,会弹出保存文档
点击“是”,选择保存在刚才新建项目的目录里面,输入表单名 jsq.scx
,确定。然后点击“添加”,选择刚才保存的表单 jsq.scx ,双击该表单又会进入表单设计器。
四、编辑各控件的命令代码(跟VC一样,双击控件添加消息响应函数):
首先要为表单新建属性(后面要用到),在最上面的系统菜单栏中选“表单”--》“新建属性”--》名称:ls --》“添加”。再新建属性mm ,添加完后关闭“新建属性”框。
接下来修改这两个属性的默认值,都把 .F. 改为0
做完这些就开始为每一个控件添加方法了:
1、双击 Backspace 控件,在打开的Command1 Click中编写如下代码(Command1就相当于VC中的控件ID,可以修改的,我在这里就不做修改了): 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
添加完这些代码,记得随时保存。(下一篇继续)
百度查VFP,百度百科的名词解释是:http://baike.baidu.com/view/512982.htm
Visual FoxPro ,是Microsoft公司从Fox公司的FoxBase数据库软件经过数次改良,并且移植到Windows之后,得来的应用程序开发软件,主要用于开发数据管理与运算等方面的软件。VFP是Microsoft公司推出的最新可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统。它提供了功能完备的工具、极其友好的用户界面、简单的数据存取方式、独一无二的跨平台技术,交肯有良好的兼容性、真正的可编译性和较强的安全性,是目前最快捷、最实用的数据库管理系统软件之一。
感觉VFP只是数据库管理软件,它怎么就可以改变图片的DPI了?(留待之后解决)下面简单记录VFP编程步骤:
一、下载VFP软件:http://download.csdn.net/detail/wangwenjing90/5276893
二、新建项目jsq(计算器) :运行Microsoft Visual FoxPro 6.0,文件--》新建--》项目--》新建文件,选项目保存位置(最好自己事先新建一个文件夹,因为会自动生成几个文件),输入项目文件名称:jsq ,保存。
三、设计表单(相当于VC中设置对话框样式):在项目管理器中切换到“文档”选项卡,选中“表单”,点击“新建”--》新建表单。
接下来按照计算器的样式设置表单控件及其属性即可:
注意:这里表单控件跟VC中不太一样,VC是直接拖到对话框中,这里是必须先点一下控件,再在表单中放置控件,并且可以改变控件的字体颜色,貌似比VC方便一些。
设计好表单之后,关闭表单设计器 -- 文档1,会弹出保存文档
点击“是”,选择保存在刚才新建项目的目录里面,输入表单名 jsq.scx
,确定。然后点击“添加”,选择刚才保存的表单 jsq.scx ,双击该表单又会进入表单设计器。
四、编辑各控件的命令代码(跟VC一样,双击控件添加消息响应函数):
首先要为表单新建属性(后面要用到),在最上面的系统菜单栏中选“表单”--》“新建属性”--》名称:ls --》“添加”。再新建属性mm ,添加完后关闭“新建属性”框。
接下来修改这两个属性的默认值,都把 .F. 改为0
做完这些就开始为每一个控件添加方法了:
1、双击 Backspace 控件,在打开的Command1 Click中编写如下代码(Command1就相当于VC中的控件ID,可以修改的,我在这里就不做修改了): 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
添加完这些代码,记得随时保存。(下一篇继续)
相关文章推荐
- 使用 VFP ( Microsoft Visual FoxPro ) 设计一个简易计算器(下)
- 使用 VFP ( Microsoft Visual FoxPro ) 设计一个简易计算器
- 1.1 设计算法判断一个字符串中字符都是否唯一的。如果不能使用额外的数据结构呢?
- 在设计时使用 Microsoft .NET Compact Framework 1.0 调试自定义控件
- 使用netbeans实现一个简易计算器
- C#使用二叉树算法设计一个无限分级的树表
- Singleton单例模式是最简单的设计模式,它的主要作用是保证在程序执行生命周期中,使用了单类模式的类仅仅能有一个实例对象存在。
- "Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 操作必须使用一个可更新的查询”错误的解决办法
- 使用Axure RP原型设计实践03,制作一个登录界面的原型
- [转载]使用 Visual FoxPro提供一个基于互联网的数据服务(翻译)
- [翻译]案例学习:仅使用Redis+PHP设计实现一个简单的Twitter
- [js高手之路]设计模式系列课程-设计一个模块化扩展功能(define)和使用(use)库
- 使用java或C++,设计一个画图板(类似于windows系统自带的画图工具)。
- 使用silverlight构建一个工作流设计器(四)(附最新源代码及在线演示)
- 第五十九届冠军(使用C++设计一个类不能被继承)
- 整个应用程序的象征,一个应用程序就一个UIApplication对象,使用了单例设计模式
- 使用silverlight构建一个工作流设计器(十五)(缩放流程图)
- 安卓5.0 Material Design设计简单的一个使用特效
- [js高手之路]设计模式系列课程-设计一个模块化扩展功能(define)和使用(use)库
- 设计一个独特的寻找你的网站通过使用Flash