VFP经验谈 风帆 1999年 第46期 13版   1.在VFP的文本框中进行数据合法性校验:   在VALID事件中编写校验代码,比如:   if val(this.value)>100   return .t.   else   return .f.   endif   即输入大于100为合法,小于100则为非法,光标不能离开该控件,可以设置表格的partition属性做到。   2.在GRID中使用PACK命令,GRID将全部显示为空白问题的解决:   因为PACK命令要关闭数据库,因此会造成一片空白,所以在表格中不能使用PACK,最好在关闭表格时,才将记录真正删除,如要不显示已做删除标记的记录,可用set delete on,如果一定要PACK,可用如下语句代替:   copy to lsk for .not. delete()   zap   append from l   3.对VFP中的表进行加密:   加密部分:(建议将该程序放于退出系统事件中,从而保证在退出时能对表完成加密过程)   restore from c:\bf\tbs additive &&恢复原表头值变量   if file(′c:\bf\dz.dbf′) &&dz.dbf为要保护的数据表   getid=fopen(′c:\bf\dz.dbf′)   bt=fread(getid,1) &&获得当前表头第一字节的值   if bt=b && b 为tbs中存贮的原表头值变量若bt=b表明未加密   bt=′a′   endif   =fclose(getid)   newid=fopen(′c:\bf\dz.dbf′,12) &&将文件以可读写且非缓冲方式打开   =fwrite(newid,bt) &&将表头加密   =fclose(newid)   endif   解密部分与加密部分基本相同,只需将相应判断语句修改一下即可:   其中b 值可以用如下方法取得:   if file(′c:\bf\dz.dbf′)   getid=fopen(′c:\bf\dz.dbf′)   b=fread(getid,1)   endif   save to c:\bf\tbs all like b   注:程序中两次打开同一文件是为了使文件指针指向第一个字节,Fseek(gitid,0,0)可将指针移到开头   4.在VFP中捆绑OLE控件,调用WORD或EXCEL文件:   使用如下命令可以调用WORD、EXCEL等:   PUBLIC MYOLE   MYOLE=CREATEOBJECT(″WORD.APPLICATION″)   &&若是调用EXCEL,以上括号中改为EXCEL.APPLICATIONMYOLE.VISUBLE=.T.就可以了   5.在VFP应用程序中破坏系统画面做资料备份:   如不压缩,直接用copy file...to...复制,大数据库可用copy to...分隔成若干小数据库。如要压缩,在调用压缩软件时,如arj,rar等带n2参数,比如:run /n2 rar...   即设置窗口最小化。以上方法比较简单易行,完善的方法可调用两个共享的动态链接库AZIP.DLL和AUNZIP.DLL来完成,在http://happyfox.163.net/foxtips.html这个网址有使用方法介绍和下载。