发信人: 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
 
  ---- 在代码天地里
 我要做一个
 猎狐者   | 
 
 
 |