没有接触过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、= 的代码为:
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
添加完这些代码,记得随时保存。(下一篇继续)