Visual FoxPro3.0经验14条

作者:凯旋网络来源:凯旋网络
 1.怎样解决不可视类库操作中库容量的“恶性膨涨”

  程序员用面向对象编程都会涉及到类库,但当对象的继续关系达到两层以上时(这是很平常的现象),只要一修改两层以上某个对象中的内容,就会惊异地发现:尽管修改量极小(有时只是简单的删除),但每一次的存盘操作都会使类库的容量(即用DIR看到的字节数)增加很多,有时一次存盘操作可使其“容量”增加几十K!笔者有一个实际内容只有50K的类库,当调试完成后,发现该类库的“容量”是800多K。笔者曾在多台机器的多个版本上做过试验,问题依旧。在排除了病毒骚扰的因素后,可以肯定:这是Visual FoXPro自身固有的缺陷。
  显然,这个问题给程序开发带来了不小的麻烦。怎样解决呢?笔者查过不少资料,做过多次试验,都不得要领。后来在一次偶然的操作中,却发现了一个简单而有效的“类库消肿”方法:
  ①.打开这个待处理的类库,进入其中的一个继续关系最复杂且最高层的对象(即最上层的父类);
  ②.修改一下该对象中的任一个方法或属性(即增加一个字符,然后再删除该字符);
  ③.保存并退出;
  ④.用Close all和Clear all彻底关闭类库。
  此时再观察该类库的字节数,可以发现该类库的“容量”已恢复正常。

  2.怎样为备注型字段建索引

  Visual FoxPro3.0不支持长度变化的要害字,但笔者在实验后发现,假如所建索引的备注型字段的长度在建完索引后不再变化,那么建立备注型字段的索引还是可行的。但在建索引时必须注重:索引的表达式不能直接用备注型的字段名,还要略加变通,如用TRIM()函数把备注型字段括起来,就能顺利地为备注型字段建索引。

  3.建立索引的字符型字段答应的最大宽度

  资料中对此没做说明,经试验发现,此时索引答应的最大宽度为240个字符。

  4.当某个对象(中的)方法的形参过多时,最好用属性数组来代替形参

  这种手段可以使主要处理过程的逻辑性更加清楚可读。
  为了保证实质上的封闭性,属性数组应该定义在主控方法所在的对象中;为了保证“视觉”上的封闭性(即增强程序代码的可性),可以让属性数组与主控方法同名。
  为了进一步加强主控方法的可读性,可为其专门增加一个附加方法只用于给做形参的属性数组赋值。

  5.怎样在对象中定义属性数组

  在定义属性时,直接用方括号给出行列值即可。如:A[5,9],即定义了一个5行9列的属性数组。

  6.怎样快速地建立Grid表格

  在程序中使用过Grid表格的程序员都觉得这种表格的建立方法有些麻烦,非凡是当表格的个数及表格项很多的时候,甚至会产生“惧怕感”。其实,只要能灵活地利用VFP的“表单生成器”,就能大大提高Grid表格的制作效率。
  这里假设需要以TTT.DBF为处理对象建立一个Grid表格,因为字段很多,Grid表格的表格项数也相应的多,所以只能采用“变通”的方法,步骤如下:
  ①.建立一个只有两个字段的自由表aa.dbf,并使其中的一个字段能与TTT.DBF中的某个字段相关;
  ②.启动“表单生成器”,选择“向导方式”中的“一对多表单向导”;
  ③.在“一对多表单向导”的操作引导下,以aa.dbf为父表、TTT.DBF为子表的基本模式制作表单。在选择子表字段时,以未来Grid表格的需要来进行TTT.DBF字段的选取。
  ④.打开由第③步制作的表单,剪切表单上的Grid表格,然后再退出该表单;
  ⑤.打开您程序中需要使用Grid表格的表单,把在第④步上剪切的Grid表格复制到当前表单上。
  至此,一个符合程序要求的Grid表格即制作完毕。无论Grid表格多么大,用本方法都能在两分钟内做出一个符合要求的Grid表格。而用“手工”制作一个仅50个字段的Grid表格一般需要半个小时(而且还可能出错)。显然,Grid表格越大,本方法的效率就越高。

  7.用“
  • 广告推荐