VFP6技巧二则
2000-08-14 14:08:36
恢复丢失了的FPT文件
由于误操作,将自由表的备注文件删除,致使自由表无法打开。遇到这种情况我们可采用下述方法解决:
1.创建一个新的自由表,且该自由表只含一个字段,其类型为备注型。关闭该自由表,将其扩展名为FPT的备注文件复制给误删除的自由表的备注文件,或将该备注文件改名为误删除的自由表的备注文件即可。
运行下面的程序同样也可以恢复丢失了的FPT 文件:
accept ′请输入丢失了.FPT文件的自由表名称(不带扩展名):′ to namef
namef=trim(namef)+′.bbb′
crea dbf &namef (aa m)
use
dele file &namef
2.用VFP低级文件函数创建一个空的FPT文件,原自由表即可打开。程序清单如下:
accept ′请输入丢失了.FPT文件的自由表名称(不带扩展名):′ to namef
namef=trim(namef)+′.FPT′
hand=fcreate(namef)
abc=repl(chr(0),3)+chr(8)+repl(chr(0),3)+′@′+repl(chr(0),504)
=fwrite(hand,abc)
=fclose(hand)
return
上述方法只是为丢失了FPT文件的自由表建立了一个新的FPT文件,原FPT文件中的内容已经丢失,无法恢复。在实际操作中若遇到这种情况,最好是恢复原来的FPT文件,若原FPT文件无法恢复时再采用上述方法。
低级文件函数加密数据库
VFP有一个十分薄弱的环节就是数据库的保密性差。由于.DBF文件都是敞开式的,甚至用DOS中最简单的TYPE命令都可以浏览,因此,笔者从以下两方面对数据进行加密:
1.在向自由表中增加数据时,就进行加密,即更新自由表时就对数据进行加密,在读取数据时再解密。
2.用VFP提供的低级文件函数进行加密,加密后的文件无法打开、浏览,使用时,再执行该加密程序即可将加密的自由表还原。
**加密数据库程序(同时也是解密程序)**
set talk off close all clea @10,10 say ″请输入要加密的自由表名(含扩展名):″ get file1 defa ′ ′ read handle=fopen(″&file1″,2) if handle<0 @14,10 say ″不能打开文件!″ =inkey(0) retu endif j=0 do while .not.feof(handle) bb=fread(handle,1) cc=chr(mod(asc(bb)+128,256)) =fseek(handle,j) =fwrite(handle,cc) ?asc(bb),asc(cc) j=j+1 enddo =fclose(handle) close all retu
摘自《赛迪网》 李红卫/文 |
404 Not Found
404 Not Found
nginx
|
|