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