恢復(fù)丟失了的FPT文件
由于誤操作,將自由表的備注文件刪除,致使自由表無法打開。遇到這種情況我們可采用下述方法解決:
1.創(chuàng)建一個新的自由表,且該自由表只含一個字段,其類型為備注型。關(guān)閉該自由表,將其擴(kuò)展名為FPT的備注文件復(fù)制給誤刪除的自由表的備注文件,或?qū)⒃搨渥⑽募拿麨檎`刪除的自由表的備注文件即可。
運(yùn)行下面的程序同樣也可以恢復(fù)丟失了的FPT 文件:
accept ′請輸入丟失了.FPT文件的自由表名稱(不帶擴(kuò)展名):′ to namef
namef=trim(namef)+′.bbb′
crea dbf &namef (aa m)
use
dele file &namef
2.用VFP低級文件函數(shù)創(chuàng)建一個空的FPT文件,原自由表即可打開。程序清單如下:
accept ′請輸入丟失了.FPT文件的自由表名稱(不帶擴(kuò)展名):′ 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文件中的內(nèi)容已經(jīng)丟失,無法恢復(fù)。在實(shí)際操作中若遇到這種情況,是恢復(fù)原來的FPT文件,若原FPT文件無法恢復(fù)時再采用上述方法。
低級文件函數(shù)加密數(shù)據(jù)庫
VFP有一個十分薄弱的環(huán)節(jié)就是數(shù)據(jù)庫的保密性差。由于.DBF文件都是敞開式的,甚至用DOS中最簡單的TYPE命令都可以瀏覽,因此,筆者從以下兩方面對數(shù)據(jù)進(jìn)行加密:
1.在向自由表中增加數(shù)據(jù)時,就進(jìn)行加密,即更新自由表時就對數(shù)據(jù)進(jìn)行加密,在讀取數(shù)據(jù)時再解密。
2.用VFP提供的低級文件函數(shù)進(jìn)行加密,加密后的文件無法打開、瀏覽,使用時,再執(zhí)行該加密程序即可將加密的自由表還原。
**加密數(shù)據(jù)庫程序(同時也是解密程序)**
set talk off
close all
clea
@10,10 say ″請輸入要加密的自由表名(含擴(kuò)展名):″ 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
由于誤操作,將自由表的備注文件刪除,致使自由表無法打開。遇到這種情況我們可采用下述方法解決:
1.創(chuàng)建一個新的自由表,且該自由表只含一個字段,其類型為備注型。關(guān)閉該自由表,將其擴(kuò)展名為FPT的備注文件復(fù)制給誤刪除的自由表的備注文件,或?qū)⒃搨渥⑽募拿麨檎`刪除的自由表的備注文件即可。
運(yùn)行下面的程序同樣也可以恢復(fù)丟失了的FPT 文件:
accept ′請輸入丟失了.FPT文件的自由表名稱(不帶擴(kuò)展名):′ to namef
namef=trim(namef)+′.bbb′
crea dbf &namef (aa m)
use
dele file &namef
2.用VFP低級文件函數(shù)創(chuàng)建一個空的FPT文件,原自由表即可打開。程序清單如下:
accept ′請輸入丟失了.FPT文件的自由表名稱(不帶擴(kuò)展名):′ 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文件中的內(nèi)容已經(jīng)丟失,無法恢復(fù)。在實(shí)際操作中若遇到這種情況,是恢復(fù)原來的FPT文件,若原FPT文件無法恢復(fù)時再采用上述方法。
低級文件函數(shù)加密數(shù)據(jù)庫
VFP有一個十分薄弱的環(huán)節(jié)就是數(shù)據(jù)庫的保密性差。由于.DBF文件都是敞開式的,甚至用DOS中最簡單的TYPE命令都可以瀏覽,因此,筆者從以下兩方面對數(shù)據(jù)進(jìn)行加密:
1.在向自由表中增加數(shù)據(jù)時,就進(jìn)行加密,即更新自由表時就對數(shù)據(jù)進(jìn)行加密,在讀取數(shù)據(jù)時再解密。
2.用VFP提供的低級文件函數(shù)進(jìn)行加密,加密后的文件無法打開、瀏覽,使用時,再執(zhí)行該加密程序即可將加密的自由表還原。
**加密數(shù)據(jù)庫程序(同時也是解密程序)**
set talk off
close all
clea
@10,10 say ″請輸入要加密的自由表名(含擴(kuò)展名):″ 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

