设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 Foxpro 编程中的一些小技巧
 日期:2005-10-5 16:32:10  来源:百当软件园

一、 复制

我们在编程会发现一个软件中有许多代码是重复,我们可以不用重复地写,而可以使用菜单中的“复制”、“粘贴”等命令来复制重复的内容,这一点想必大家都会想到。

但有一点可能有的人没有想到,即表单中的控件也是能复制的,而且可以一次复制多个控件。比如我们在制做人事档案的录入表单时,我们做好第一个(编号的)标签和文本框,接着做姓名的标签和文本框时,就可以采用复制的办法。

用鼠标同时选择编号的标签和文本框,方法是用鼠标画一框将以上两个控件框住,框住每个控件的一部分也可以,这样我们可以看到每个控件四周都有六个黑点,表示它们都被选择了。然后与复制文字一样调用菜单上的“复制”命令或工具栏上相应按钮,然后再用鼠标按“粘贴”,就会出现两个同样的控件,用鼠标把它们移到适当的位置(可以一起移),再将caption、controlsource以及大小等属性做相应改动即可。

注意控件的name属性在粘贴时已自动做了改动,比如原来的文本框叫text1,复制出来的文本框会自动叫text2(再复制就会叫text3),在一个表单中是不允许出现两个同名的控件,系统会自动遵守这一点,故我们可以不用去修改name了。当然如果您喜欢的话,您可以把它改为一个易记的名称。

另外在复制控件时不光属性会被复制,其中的事件代码也会被复制。还有我们可以把一个表单中的控件复制到另一个或更多的表单中。比如很多时候退出或取消按钮都是一样的,其中的click事件中都是“thisform.release”语句,我们就可以把一个表单中的按钮复制到另一个表单中,有时可能会要改一下caption或在click事件中加减一两条语句。还有向上移动记录和向下移动记录的按钮,其中的事件程序也都差不多,也可以复制,然后将不同的地方修改一下。

这里还有个技巧,将鼠标放在要复制的地方,按右键,选择弹出菜单中的“粘贴”,控件就会被复制在鼠标的地方,虽然还不够精确,只要稍微动一下就行了,不用移那么远。

二、 缩格及空行

一些网友可能发现我们的程序中有的语句开头会向里缩几格,这是为什么呢,又有什么规律吗?

这是为了使程序易于阅读,我们知道VFP中有很多语句是成对的,比如if和endif、do while和enddo,我们为了把成对语句之间的语句和之外的语句区别开来以利于程序的阅读和理解,有经验的程序员往往都是把成对语句之间的语句往里缩。如果不这样做,在看程序和修改程序时很容易出错,特别是在成对语句里面又套成对语句的情况(这叫嵌套),如下面的程序:

if a=1
b=a+c
if b=3
c=b+a
if c=5
d=9
endif
d=c+a
if c=3
d=c+b
endif
endif
c=4
endif

我们很难看清哪个if和哪个endif配对,这就给修改程序带来了很大麻烦,如果写成如下形式则一目了然:

if a=1
b=a+c
if b=3
c=b+a
if c=5
d=9
endif
d=c+a
if c=3
d=c+b
endif
endif
c=4
endif

这就是缩格的好处,希望大家今后在编程序时都要采用缩格,虽然在编程序时要多打几个空格,但会给以后修改程序带来很大方便。

但也有不方便的时候,比如我们修改程序时要把一大段程序套在一对if和endif中(本来是没有套的),那么要挨个将这一大段程序往里移,那也是一件很烦人的事。

不过不用怕,VFP已为我们准备了解决这一问题的功能。在程序中的任意位置按鼠标右键,在弹出的菜单中选择“修饰”,在弹出的设置框中直接按运行即可完成对程序的缩格修饰,并且系统还会对程序做适当的大小写处理。

但我不喜欢直接按运行,而喜欢做一些设置,具体设置如下:将关键字和符号全部选择为小写字母,即不做大小写处理,缩进类型选择空格,这是为了调整缩进的空格数,然后把下面的空格调为2。

以上设置纯属个人喜好,并非必要!

另外我们在编程时还应该在适当的地方空一行,那么什么叫适当的地方呢?这就有点象我们写文章分段,一段相对完整的意思做为一段,我们也把一段相对完整功能的程序做为一段,一段完了可以空上一行,也是便于程序的阅读。当然这里的“相对完整”相对不同的人来说可能不一样,我们完全可以根据自己的习惯,不过给个建议就是既不要太少,也不要太多(好象又说了一句废话),初学者可根据我们上一课中的程序去揣摸。

三、 在程序中插入对象名称

我们在编面向对象的程序时,经常要引用一个对象的名称,而且要用这个对象的全名,比如:thisform.text1,老是这样写也是个叫人打嗑睡的事,有没有简便的办法?有!

在要插入一个对象引用名称的位置单击鼠标右键,在弹出的菜单中选择“对象列表”,在出现的对象列表中选择所要的对象,虽然这里看到的不是它们的全名,但按了插入之后......。

插入的名称会以大写字母开头,如不喜欢,可按我上面的设置对整个程序修饰一下。


四、 精确调整对象位置

我们在编程序时一定发现当移动一个控件时它是跳着走的,而且是按照表单上的虚线格跳,这主要是为了我们的控件都能对整齐。但有时候我们不需要对整齐,而要做一些小小的调整,即不按格跳,怎么办呢?

选择菜单上的“格式”,再选择其中的“对齐格线”,将其左边的钩去掉,然后您再移一下控件看,想到哪就到哪。如要恢复原来的状态,再把钩加上。

五、 为文件写说明

当开发一个较大的软件时,可以想象在项目管理器中会有很多的文件,当多到一定程度可能我们自己都搞不清这些文件是干什么的了,为了防止这一点,我们应该为每个文件写上说明,使我们随时知道每个文件的作用。

用鼠标右键单击一个文件名,在弹出的菜单中选择编辑说明,在出现的表单中写入该文件的说明文字,确定。之后当我们用鼠标选中这个文件时,相应的说明就会显示在项目管理器的底部。

六、 重命名文件

在编软件时免不了有时要改文件名,方法是:在项目管理器中用鼠标右键单击一个文件名,在弹出的菜单中选择“重命名”,往下您就看着办吧。

七、修改数据表时调整字段位置

当我们需要调整数据表中的字段位置,可在表设计器中很方便地移动。进入表设计器,用鼠标按住字段移动钮,如 图1 ,然后上下移动到所需的位置即可。

八、调整表格中各列的位置

  1. 在表格生成器中移动,用鼠标按住选定字段中的字段移动钮上下移动,如 图2 ,与上面移动数据表的字段一样。
  2. 在表单中移动,在属性窗口中选择表格的任一列,然后在表格上抓住要移动列的表头左右移动到所需位置。
  3. 在程序运行时移动,直接抓住要移动列的表头左右移动到所需位置。

九、设置控件的tabindex位置

一般说来,进入一个表单后,我们希望光标停在第一个输入位置,按回车则光标依次向后跳,但有时我们可能会发现,光标不依这个顺序走,这是因为我们在创建这些控件时没有按照所需的顺序,也就是在表单上先创建的控件,光标就先到。那么有没有办法改变这种顺序呢?有的!

我们可以设置控件的tabindex属性来改变这个顺序,但直接改变tabindex属性很麻烦,VFP提供了很方便的改变方法。用鼠标按下表单设计器工具栏上的按钮 wpe6.jpg (885 bytes),每个控件的tabindex顺序即会标示出来,如 图3 ,如果顺序不对,用鼠标按顺序将所有控件点一遍就行了,点完后在表单空白地方按一下,tabindex显示消失。

十、改程序前应先改系统分析

当我们要对程序做功能上的修改(不是修改语句中的错误),我们应先看看系统分析,因为一个程序的各个部分是有着千丝万缕的联系的,当改了一个地方,可能导致另一个地方出问题,所以我们应先对系统分析修改,并平衡各方面关系,觉得系统分析上没有逻辑上的冲突和错误后,再按照新的系统分析去修改程序。

这样修改永远都可以保持有一个清晰的思路,而不会把程序改来改去,到最后自己都不知道改成什么样了,如果这时需要别人来帮忙修改更是不可想象。

十一、删除项目管理器中的文件

如果不想要项目管理器中的某个文件,可用“移去”按钮将这个文件从项目管理器中移出去。当您调用移去功能时,系统会问您是移去还是删除,移去一个文件并没有从磁盘上将其真正删除,如要真正删除,则应选择“删除”。

当然移去后的文件可用其它方式删除,但千万不要用其它方式删除一个在项目管理器中存在的文件,这样会造成项目管理器打开出错。一旦您很不走运出现这种情况,在打开项目管理器时会出现提示找不到某个文件,这时选择忽略,然后进入项目管理器,再将这个文件移去,这时不要用删除,因为这个文件已不存在,删除则又会出错。

十二、将磁盘上的文件添加到项目管理器中

按“添加”按钮,找到所要的文件,确定即可。

十三、设置主程序

当您在程序管理器中开始编第一个程序时(prg、菜单、表单等等),管理器会默认将其做为主程序,好比我们第六课中的菜单程序,但有时可能不是第一个编主程序,这时就要重新设置主程序,方法是找到您将要设为主程序的程序(绕口令),用鼠标右键单击,然后选择“设置主程序”即可,设为主程序后,该程序的文件名会变为粗体。如果您要改变主程序也可用同样方法。

相关文章

·VisualFoxPro编程工具栏简介
·VisualFoxPro设计器简介
·Visual FoxPro项目管理器
·Visual FoxPro编程的工具与步骤
·Visual FoxPro控件与对象
·Visual FoxPro 对象的属性、事件
·Visual FoxPro 函数
·Visual FoxPro运算符与表达式
·Visual FoxPro常量与变量
·Visual FoxPro数据和数据类型


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作