精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VFP>>〖编程技巧〗>>Re:如何判断dbf究竟是dbase、foxpro、还是vfp

主题:Re:如何判断dbf究竟是dbase、foxpro、还是vfp
发信人: hunter__fox(雁回西楼)
整理人: hunter__fox(2002-03-16 22:19:46), 站内信件
【 在 ndkr 的大作中提到:】
:如何判断dbf究竟是dbase、foxpro、还是vfp 
:......
&& DBF文件的第一个字节表明了它是什么文件:
&& 下面这个函数需在一个可以打开的文件名
&& 返回值是一个字串,表明此文件是何种文件类型。
&& 即使文件改名,也可用此进行判断。
&& hunter__fox
Function FileType(cFileName)
   Local nFileHeader
   Local cRead
   Local cReturn
   nFileHeader = FOpen(cFileName,0)
   cRead = fRead(nFileHeader,1)
   DoCase
   Case Asc(cRead) = 0x02
      cReturn = "FoxBASE 文件"
   Case Asc(cRead) = 0x03
      cReturn = "FoxBASE+/dBASE III PLUS, 无备注"
   Case Asc(cRead) = 0x30
      cReturn = "Visual FoxPro 数据文件"
   Case Asc(cRead) = 0x43
      cReturn = "dBASE 4 SQL 表格,无备注"
   Case Asc(cRead) = 0x63
      cReturn = "dBASE 4 SQL 系统文件,无备注"
   Case Asc(cRead) = 0x83
      cReturn = "FoxBASE+/dBASE 3 PLUS, 有备注"
   Case Asc(cRead) = 0x8B
      cReturn = "dBASE 4 有备注"
   Case Asc(cRead) = 0xCB
      cReturn = "dBASE 4 SQL 表格文件,有备注"
   Case Asc(cRead) = 0xF5
      cReturn = "FoxPro 2.x (or earlier) 有备注"
   Case Asc(cRead) = 0xFB
      cReturn = "FoxBASE"
   OtherWise
      cReturn = "不能识别的格式"
   EndCase
   Return cReturn
EndFunc


----
在代码天地里
我要做一个
猎狐者  

[关闭][返回]