VF輔導(dǎo):恢復(fù)丟失了的FPT文件

字號(hào):

用戶在進(jìn)行vfp6.0數(shù)據(jù)庫(kù)操作時(shí),由于操作不慎,可能將含有備注型字段或通用型字段的某自由表的.fpt文件丟失,只保留了.dbf文件,由于.fpt文件是用于存放備注型字段或通用型字段數(shù)據(jù)的,自由表一旦丟失了.fpt文件,用戶就不能打開(kāi)該自由表,更談不上對(duì)該自由表進(jìn)行操作,能否打開(kāi)此自由表,
    對(duì)表中其余字段的數(shù)據(jù)進(jìn)行操作,是許多用戶所關(guān)心的問(wèn)題。本人在教學(xué)實(shí)踐中找到了下述方法,可立即解決這個(gè)問(wèn)題。
    1.用create命令臨時(shí)創(chuàng)建一個(gè)庫(kù)文件,只需定義一個(gè)字段,且類型設(shè)為memo,不必輸入任何記錄,關(guān)閉文件后,再將其備注文件改名或復(fù)制成已丟失的備注文件,就可立即打開(kāi)該自由表。
    2.利用vfp6.0的低級(jí)文件操作直接修復(fù)丟失了的.fpt文件,為方便用戶操作,作者用vfp6.0編寫了一段通用程序,用戶運(yùn)行此程序修復(fù)自由表時(shí),只要根據(jù)提示輸入丟失了.fpt文件的自由表的表名(不帶擴(kuò)展名)即可。
    程序清單如下:
    accept 請(qǐng)輸入丟失了.fpt文件的自由表的名稱(不帶擴(kuò)展名): to namef
    namef=allt(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
    以上方法已在vfp5.0、vfp6.0上通過(guò),在foxprow中也同樣適用。