恢复丢失了的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
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/