精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖编程技巧〗>>技巧集(二)?

主题:技巧集(二)?
发信人: foxzz()
整理人: hunter__fox(2002-03-16 22:00:20), 站内信件
1、各位大虾:我在使用中文 VFP 5.0 浏览数据库时,不论是用 Browse、Edit还是 SQL 查询,都会自动打开中文输入法,而我又找不到解决的办法。有知道解决办法的高手,请多多赐教,不胜感激之至! 

答:在程序中可以这样控制: 

      IMESTATUS(0) --- 关闭  

      IMESTATUS(1) --- 打开 
小狐补充:其实可以有一个很方便的办法,就是:进入VFP系统后,选择“选项”菜单,在“常规”选项卡中有一“浏览时打开IME控件”的选择,不把它打勾就可以解决问题了!^ - ^ 

  

  

2、在VFP中如何得知WIN95的安装目录? 
答:有两种方法: 

1.用home()函数,简单方便,但需在编译成EXE后独立使用时用,在设计时home()返回的是vfp启动目录。 

2.用Win32API,复杂难用如: 

DECLARE INTEGER RegOpenKeyEx IN Win32API INTEGER nKEY,; 

STRING @cSubKey,INTEGER nReserved,INTEGER nAccessMask,; 

INTEGER @nResult 

3、我在一个表单里调用了另一个表单,我想从被调用表单中返回一个参数值给调用表单,该怎么做? 我在调用里定义了public num ,在被调用时改变了num的值,却用不上,为什么 ? 调用程序如下: 
public num 
num=1 
do form aaa.scx ***其中我给num 重新赋值了,当然不是 1  
wait window num 
go num 
thisform.refresh 

wait window 显示的值仍是 1 。 

答:最简单的方法:在被调用的表单里定义变量! 


  

  

4、用VPF做一个表单,生成.EXE文件,在VPF里运行很正常,可退出,在WIN下运行发现表单一闪而过,不知是什么原因??? 
答:做一个主程序(如 MAIN.PRG),内容为: 

DO FROM <formname>  

READ EVENT 

在退出表单的代码最后加上: 

CLEAR ENENT 

在项目管理器中设置MAIN.PRG为主程序 

连编为.EXE 文件即可。 


  

  

5、我在设计报表时在页尾设置sum()函数,但在预览和运行时出现"找不到sum.prg"的情况,我曾在命令窗口试过这一函数却可以执行,请问该如何处理? 
答:选择字段名,按属性,选计算,再选sum函数ok 

  

  

6、我在使用VFP 6。0时将源程序连编成可执行文件,运行该文件总要出现那讨厌的工具栏。(我在进行连编时,编程环境中已经取消了工具栏显示)不知各位高手能否给予指点。 

答:  
我用VFP5.0时也遇到过类似情况,编译后的可执行文件运行时无工具栏,某一天却发现所有用VFP5.0编译的程序都莫名其妙地出现了工具栏,经摸索发现,只要将工具栏用鼠标拖放到另一位置,在右键单击工具栏,选择关闭,之后不但该程序的工具栏消失,而且所有VFP程序的工具栏也不会 
出现了,真奇怪。不知VFP6.0是否也是这样。  

  

7、编译了一个程序,运行时FOXPRO主窗口没有占满整个屏幕,如何使主窗口一运行就最大化,哪位高手帮忙一下? 

答:把编译了的程序在Windows是建立一个快捷键,然后修改其属性,选择“最大化”就可以了。 
小狐补充:若使用了系统窗口,可以这样做:SCREEN.WINDOWSTATE=2   ,若不使用系统窗口,可以上面的代码改为:主表单名.WINDOWSTATE=2即可。 

8、我把vfp5.0编译后的一exe文件拷入一在未装vfp5.0的计算机不能运行,是否缺少动态链接文件? 
答: 从一个项目中,可以建立应用程序文件 (.app) 或者可执行文件(.exe)。如果用户有一个完整的 Visual FoxPro 副本,则可以运行一个 .app 文件。另外一个选择方案是建立一个可执行文件。该可执行文件需要和两个 Visual FoxPro 动态连接库 (Vfp5r.dll 和 Vfp5enu.dll)  
连接,这两个库和应用程序一起构成了 Visual FoxPro 所需的完整运行环境。VFPxxx.DLL指定用于应用程序开发的地区版本。 

  

  

9、用 DO FORM 和 READ EVENTS 在表单里运行另一表单,但编译成 .EXE后,运行时会运行READ EVENTS 后面的命令(在FOXPRO里就不会),请高手指教. 
答: 好像READ EVENTS不能在一個.EXE里重复使用。 

  

  

10、在COMBO中怎样利用方向键(DOWN)模拟鼠标点按COMBO时DOWNCLICK的事件? 
答:在KEYPRESS事件中加入: 
     
LPARAMETERS nKeyCode, nShiftAltCtrl 

if nkeycode=24 &&down key value 

THIS.DOWNCLICK 

endif 
  

  

11、我用VFP3.0做了一个表单,但总是不够大。我想做一个全屏大小的表单,该用什么方法? 
答:修改属性:WindowMode=2 
  

  

12、我正在用VFP做一东东,数据库MESS。DBF在NT服务器上。请问如何编程,让此程序在各工作站上可以对数据库进行增、删、改等操作?在单机上我会但,数据库放在SERVER上我就不知如何访问了。望各位指点。 
答:当一用户欲对数据库进行操作时,应具备当时数据库没有被其他用户访问,而进行有关操作时,要求将数据库转为操作用户独占方式等等,总之在但机时十分容易完成的操作,在多用户环境中实现,有很多技巧.  

  



  

  
  

 

--------------------------------------------------------------------------------
 
当前位置:
 Netease BBS 精华 >>讨论区精华 >>电脑技术 >>● VFP >>应用技巧集  [返回]  
 
  
(C)1997-1998 版权所有
广州网易计算机系统有限公司 

[关闭][返回]