关于foxuser.dbf和fpt

zhjno1xp 2007-01-10 11:15:27
请问为什么foxpro老是自动生成foxuser.dbf和foxuser.fpt,他们是干什么用的?
再就是.fpt是什么文件阿?
...全文
1459 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
HappyJanice 2007-01-10
  • 打赏
  • 举报
回复
fpt文件是memo类型字段的存储文件,
如果dbf和fpt文件在copy时候,其中一个丢失了,那就不能够正常工作了,表也打不开的了。
十豆三 2007-01-10
  • 打赏
  • 举报
回复
FoxPro 资源文件 FoxUser.dbf 保存了各种资源信息(例如,窗口位置、颜色集、Browse 窗口配置、标签定义等等)。FoxUser.dbf 是带有相关备注文件(.FPT)的标准 FoxPro 表。如果不存在索引文件,将在打开 FoxUser.dbf 文件时被创建。

不象 Visual FoxPro 的早期版本,FoxUser.dbf 资源文件是以 SHARED 方式打开的。

当 RESOURCE 是 SET ON 时,FoxPro 处理所有的资源管理。可以用两种方式修改该文件所包含的数据:

特定窗口配置或其他窗口参数选择,一旦确定并储存在该资源文件中,可以通过修改特定资源的 READONLY 字段保护其不被后来的交互操作所更改(请参看预定义 Browse 窗口配置部分的示例)。

不再需要或不要的资源可以被删除而资源文件可以被 pack。

修改 READONLY 字段并且/或者删除资源文件中的记录应当是在 FoxUser.dbf 文件上完成的唯一动作。在作出任何修改前,应当备份资源文件。

FoxUser.dbf 表有下列结构:

 
字段 字段名 类型 宽度
1
TYPE
Character
12

2
ID
Character
12

3
NAME
Memo
4

4
READONLY
Logical
1

5
CKVAL
Numeric
6

6
DATA
Memo
4

7
UPDATED
Date
8


TYPE

确定资源所储存信息的类型
ID

确定带有 TYPE 的记录
NAME

包含指派给该资源的名称,如:指派给颜色集、BROWSE 窗口和系统创建的名称
READONLY

可以被设置为真 (.T.) 来指明该资源将用于只读访问并且不能更改的逻辑字段
CKVAL

用于 FoxPro to 检验该数据(DATA 备注字段中的)是否有效
DATA

保存该资源实际数据的备注字段
UPDATED

当前资源最后被更新的日期
可以通过在 MS-DOS 层次上标记 FoxUser.dbf 资源文件使其只读。MS-DOS 命令 ATTRIB 使用 <+R> 串来标记文件为只读。在多用户环境下标记文件为只读是有益的,因为 FoxUser.dbf 可以在网络上被共享。

修改 FoxUser.dbf 资源文件
下列 SET RESOURCE 命令能够打开和方便地修改 FoxUser.dbf 文件的内容,以及使用非 FoxUser.dbf 的资源文件。

SET RESOURCE TO <resourcefile>

SET RESOURCE TO

SET RESOURCE ON

SET RESOURCE OFF

如果要对资源作出修改,请在 Command 窗口中,使用下列命令:

复制程序代码
SET RESOURCE OFF
USE FOXUSER
BROWSE


打开资源文件之后,可以使用 CHANGE、EDIT、BROWSE、DELETE、REPLACE 和其他 FoxPro 命令来修改或删除数据。甚至可以使用 COPY TO 来创建新的资源表。当完成对资源文件的修改时,如果标记了删除记录就 Pack 并关闭它。随后,用下列命令设置资源特征为 On:

复制程序代码
USE
SET RESOURCE ON


可以发出 USE SYS(2005) AGAIN 命令在工作区中打开 FoxUser.dbf 文件而不必设置资源为 OFF。SYS(2005) 返回当前资源文件的名称。

预定义 Browse 窗口的配置
一个可以对 FoxUser.dbf 文件作出的有效更改是对于预定义的 Browse 窗口配置更改 READONLY 字段。

首先,调整 BROWSE 窗口以方便操作的大小显示特定的字段,安置该窗口位置并调整其大小,将窗口分为两个部分,一个部分为 BROWSE 模式而另一个为 CHANGE 模式,随后关闭该窗口。当关闭 BROWSE 窗口时,如果名为 READONLY 的字段没有被设置为 T,并且不是用 Ctrl+Q 关闭该窗口的,则其配置被保存在当前资源文件中。

随后,发出 USE SYS(2005) AGAIN 并编辑 READONLY 字段,设置其为真("T")。要做到这个,查找 TYPE 为 PREFW、ID 为 WINDBROW。并且 NAME 字段带有刚浏览的表别名的 BROWSE 窗口资源。当 READONLY 字段为真(T)时,如果随后以交互方式改变 Browse 的窗口配置,相应的资源数据也不会被覆盖。

现在,每当用 BROWSE LAST 命令浏览该表时,Browse 窗口会以与最后一个工作期同样的所有字段位置、大小、和布置配置出现。无论用户任何更改 Browse 窗口,当 BROWSE LAST 时,它将总是依照资源文件中的数据返回。
十豆三 2007-01-10
  • 打赏
  • 举报
回复
请参考:FAQ - (注意:首次阅读减2分可用分,首次评价加1分可用分)

<在VFP中,每次打开一个.dbf文件,就在当前目录下生成foxuser.dbf和foxuser.fpt这两个文件>
http://faq.csdn.net/FAQUnfurl.aspx?id=204319


<如何解决运行程序时,提示“资源文件版本不匹配”的现象?>
http://faq.csdn.net/FAQUnfurl.aspx?id=205615
在淘宝花50大米买的源码 └─餐饮管理系统 VB源码 │ CALC.EXE │ DAR.TXT │ DAW.TXT │ Form_liknnet.frx │ FrmAbout.frm │ FrmAbout.frx │ FrmAccountAdd.frm │ FrmAccountAdd.frx │ FrmAccountAdd.log │ FrmAccountBalan.frm │ FrmAccountBalan.frx │ FrmAccountBt.frm │ FrmAccountBt.frx │ FrmAccountBt.log │ FrmAccountCard.frm │ FrmAccountCard.frx │ FrmAccountCard.log │ FrmAccountClient.frm │ FrmAccountClient.frx │ FrmAccountClient.log │ FrmAccountDetail.frm │ FrmAccountDetail.frx │ FrmAccountDetail.log │ FrmAccountMange.frm │ FrmAccountMange.frx │ FrmAccountPerson.frm │ FrmAccountPerson.frx │ FrmAccountPrice0.frm │ FrmAccountPrice0.frx │ FrmAccountPrice1.frm │ FrmAccountPrice1.frx │ FrmAccountSavage.frm │ FrmAccountSavage.frx │ FrmAccountThink.frm │ FrmAccountThink.frx │ FrmAccountThkSub.frm │ FrmAccountThkSub.frx │ FrmAccountThkSub.log │ FrmAccountTimes.frm │ FrmAccountTimes.frx │ FrmAccountTJ.frm │ FrmAccountTJ.frx │ FrmAccountTJ.log │ FrmAccountTotal.frm │ FrmAccountTotal.frx │ FrmAccountWrong.frm │ FrmAccountWrong.frx │ FrmAccountWrong.log │ FrmAddPerson.frm │ FrmAddPerson.frx │ FrmBlkScr.frm │ FrmCardChge.frm │ FrmCardChge.frx │ FrmCardChge.log │ FrmCardDel.frm │ FrmCardDel.frx │ FrmCardFix.frm │ FrmCardFix.frx │ FrmCardFix.log │ FrmCardMake.frm │ FrmCardMake.frx │ FrmCardOpen.frm │ FrmCardOpen.frx │ FrmCardOpen.log │ FrmCardRead.frm │ FrmCardRead.frx │ FrmCardRead.log │ FrmCardReclaim.frm │ FrmCardReclaim.frx │ FrmCardTest.frm │ FrmCardTest.frx │ FrmCardTestSub.frm │ FrmCardTestSub.frx │ FrmChooseDrv.frm │ FrmChooseDrv.frx │ FrmClient.frm │ FrmClient.frx │ FrmClientMore.frm │ FrmClientMore.frx │ FrmClientType.frm │ FrmClientType.frx │ FrmCloseApp.frm │ FrmCloseApp.frx │ FrmConsRight.frm │ FrmConsRight.frx │ FrmDataBak.frm │ FrmDataBak.frx │ FrmDataBakSub.frm │ FrmDataBakSub.frx │ FrmDataClear.frm │ FrmDataClear.frx │ FrmDataDisBak.frm │ FrmDataDisBak.frx │ FrmDataDisBakSub.frm │ FrmDataDisBakSub.frx │ FrmDataInput.frm │ FrmDataInput.frx │ FrmDataOutput.frm │ FrmDataOutput.frx │ FrmDataPrint.frm │ FrmDataPrint.frx │ FrmDiary.frm │ FrmDiary.frx │ FrmEditPassW.frm │ FrmEditPassW.frx │ FrmFlash.frm │ FrmFlash.frx │ FrmGAdd.frm │ FrmGAdd.frx │ FrmGroupEdit.frm │ FrmGroupEdit.frx │ FrmInfoSearch.frm │ FrmInfoSearch.frx │ FrmInfoSearchSub.frm │ FrmInfoSearchSub.frx │ FrmInitNetSet.frm │ FrmInitNetSet.frx │ FrmMain.frm │ FrmMain.frx │ FRMMAIN.LOG │ FrmMessage.frm │ FrmMessage.frx │ FrmNameSearch.frm │ FrmNameSearch.frx │ FrmNetCheck.frm │ FrmNetCheck.frx │ FrmNetClear.frm │ FrmNetClear.frx │ FrmNetClose.frm │ FrmNetClose.frx │ FrmNetControl.frm │ FrmNetControl.frx │ FrmNetRun.frm │ FrmNetRun.frx │ FrmNetSend.frm │ FrmNetSend.frx │ FrmNetTake.frm │ FrmNetTake.frx │ FrmPassW.frm │ FrmPassW.frx │ FrmPhoneSet.frm │ FrmPhoneSet.frx │ FrmPlanDay.frm │ FrmPlanDay.frx │ FrmPWAgain.frm │ FrmPWAgain.frx │ FrmReadConsFile.frm │ FrmReadConsFile.frx │ FrmRightEdit.frm │ FrmRightEdit.frx │ FrmRightset.frm │ FrmRightset.frx │ FrmSearchNet.frm │ FrmSearchNet.frx │ FrmSysDeal.frm │ FrmSysDeal.frx │ FrmSysDealDetails.frm │ FrmSysDealDetails.frx │ FrmSysSet.frm │ FrmSysSet.frx │ FrmTimeSet.frm │ FrmTimeSet.frx │ FrmUserAccount.frm │ FrmUserAccount.frx │ FrmUserAccount.log │ FrmUserDisFund.frm │ FrmUserDisFund.frx │ FrmUserGet.frm │ FrmUserGet.frx │ FrmUserGetSub.frm │ FrmUserGetSub.frx │ FrmUserLose.frm │ FrmUserLose.frx │ FrmUserRecord.frm │ FrmUserRecord.frx │ FrmUserReTake.frm │ FrmUserReTake.frx │ FrmUserSave.frm │ FrmUserSave.frx │ FrmUserSaveSub.frm │ FrmUserSaveSub.frx │ FrmUserSaveSub.log │ FrmUserSubSidize.frm │ FrmUserSubSidize.frx │ FrmUserWrongGive.frm │ FrmUserWrongGive.frx │ Frm_Dict_Code.frm │ Frm_Dict_Code.frx │ Frm_Dict_CodeSele.frm │ Frm_Dict_CodeSele.frx │ Frm_Dict_CodeSub.frm │ Frm_Dict_CodeSub.frx │ Frm_Dict_Dept.frm │ Frm_Dict_Dept.frx │ Frm_Dict_Group.frm │ Frm_Dict_Group.frx │ Frm_Dict_Person.frm │ Frm_Dict_Person.frx │ Frm_Dict_Price.frm │ Frm_Dict_Price.frx │ Frm_Dict_Think.frm │ Frm_Dict_Think.frx │ Frm_Dict_Time.frm │ Frm_Dict_Time.frx │ Frm_PdeptINFsend.frm │ Frm_PdeptINFsend.frx │ Frm_PdeptINFsend.log │ Frm_Persondept.log │ Frm_PersondeptINF.log │ Frm_PersondeptINFD.log │ LG2.EXE │ LG3.DLL │ MEALS.DAT │ MFM1992 │ ModlPubPara.bas │ ModlPubSend.bas │ ModlPubSub.bas │ ModlPubTake.bas │ ModlStart.bas │ ModRealTime.bas │ ModSkill.bas │ MSSCCPRJ.SCC │ Pgbar.exe │ PoolThk.exe │ PoolThk.vbw │ POSTEK.DLL │ POSTEK.dll1230 │ POSTEK.EXE │ Postek.ini │ P_FrmMain.frm │ P_ModlPara.bas │ P_ModlStart.bas │ SF_WIN98.INI │ Sf_Win98.PDM │ Sf_Win98.TXT │ Sf_Win98.vbw │ Sf_Win98jl.OBJ │ ST6UNST.000 │ SURE32WC.DLL │ TELEWIND.EXE │ THINK.INI │ TW8VID32.DLL │ Sf_Win98.vbp │ ├─读卡器 │ bs_rfkr.txt │ LG2.EXE │ lsls.pbl │ M1卡动态连接库说明.txt │ MWRF32.dll │ posotek.dll │ ├─testvoice │ CARDCODE.TW │ cardcode_input.tw │ cardcode_wrong.tw │ D0.TW │ D1.TW │ D2.TW │ D3.TW │ D4.TW │ D5.TW │ D6.TW │ D7.TW │ D8.TW │ D9.TW │ desuspend_already.tw │ desuspend_succ.tw │ FEN.TW │ function_forbid.tw │ GOODBYE.TW │ HUN.TW │ INPUTIS.TW │ JIAO.TW │ leftmoney.tw │ M100.TW │ MANAGE.TW │ manage_code.tw │ manage_passw.tw │ NEGATIVE.TW │ normal_re_select.tw │ NO_POWER.TW │ ok_cancel_ask.tw │ OP_WAIT.TW │ PASSWORD.TW │ password_wrong.tw │ passw_amount_wrong.tw │ passw_change.tw │ passw_change_succ.tw │ passw_change_wrong.tw │ passw_validated.tw │ POINT.TW │ process_error.tw │ query_income.tw │ re_select.tw │ SELECT.TW │ SHUT_SYS.TW │ suspend_already.tw │ suspend_succ.tw │ TEN.TW │ TH10.TW │ TIMEOUT.TW │ WELCOME.TW │ YUAN.TW │ ├─REPORT │ 1231.rpt │ ACCCARD.RPT │ ACCTHINK.RPT │ ADDLIST.RPT │ BTJLACC.RPT │ CARDCONS.RPT │ CARDOPEN.RPT │ CENTACC.RPT │ CENTACC2.RPT │ DEPTACC.RPT │ GROUPACC.RPT │ groupacc2.rpt │ PERSON.RPT │ USERSAV.RPT │ USERSAV2.RPT │ WRGACC.RPT │ ├─PICTURE │ AutoOpen.ico │ DRIVEDSC.ICO │ DRIVENET.ICO │ GRNLIGHT.ICO │ NoOpen.ico │ PHONE07.ICO │ PHONE08.ICO │ REDLIGHT.ICO │ Uselight.ico │ Yellight.ico │ ├─OTHERS │ 20010701.TXT │ 20010713.TXT │ 20010714.TXT │ OTHERS.TXT │ ├─INPUT │ ARJ.EXE │ FOXUSER.DBFFOXUSER.FPT │ SFDOS.TXT │ SFOPEN.TXT │ Sfopen1.txt │ SFOPEN12.TXT │ SFZ.DBF │ SHB.DBF │ SHBHI.BAK │ SHBHI.EXE │ SHBHI.FXP │ SHBHI.PRG │ SHBHI1.EXE │ ├─DETAILS │ DETAILS.TXT │ tmpadd.dat │ ├─Datachge │ │ server.mrk │ │ │ ├─~MSSETUP.T │ │ └─~MSSTFOF.T │ │ ACMSETUP.EXE │ │ MSSETUP.DLL │ │ │ ├─SENDHOST │ │ SENDHOST.TXT │ │ │ ├─HOSTDATA │ │ HOSTDATA.TXT │ │ │ └─GUEST │ GUEST.TXT │ ├─DATA │ ConsBak.mdb │ sfmain.mdb │ sfmain.ldb │ └─BACKUP BACKUP.INI BACKUP.TXT

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧