当前位置: 代码迷 >> VFP >> 怎么判断一个文件是否DBF文件
  详细解决方案

怎么判断一个文件是否DBF文件

热度:4519   发布时间:2013-02-26 00:00:00.0
如何判断一个文件是否DBF文件
对于需要传送的数据文件(DBF文件)我是这样处理的:
1.先将DBF文件头改为其他值,   并将数据文件扩展名改为.DAT
2.在接收方,用   GetFile()   指定要接收的数据文件,确定后,   将文件头恢复,   然后再打开并接收数据

这个方法的麻烦在于文件夹中会有很多个文件,   一旦点错就会导致系统出错(用ON   ERROR   很难处理,   因为 "无法打开表 "的提示会在出错处理程序之前出现)
我曾作一检测是否DBF的函数,   检测文件头的值是否3,48,67,99,131,139,203,245,倡不知道这样简单的判断是否太容易出错,   请大虾指导.

------解决方案--------------------------------------------------------
用VFP调用WINRAR加密压缩后传过去,再用VFP调用WINRAR解密。即文件小,又安全。
------解决方案--------------------------------------------------------
我用的是VFP8,那个TRY的意思我不懂用啊,从哪一句可以判断出打开成功呢?
----------------------------------------------------------------------------
Local llNotDbfFile As Boolean
Try
Use (FileName) in 0 Alias __TBL__
llNotDbfFile = .F.
Catch
llNotDbfFile=.T.
Finally
If Used( "__TBL__ ")
Use in __TBL__
EndIf
EndTry
----------------------------------------------------------------------------
以这个为例,如果 Use (FileName) in 0 Alias __TBL__这一句成功执行,那么继续往下
执行,执行llNotDbfFile = .F. 这一句.
而如果Use (FileName) in 0 Alias __TBL__ 这一句失败,则直接跳到Catch段,执行
llNotDbfFile = .T.
然后执行Finally 段 ,无论成功或失败,都要执行这一段.

在EndTry 之后,你可以根据llNotDbfFile来判断执行到什么了.
If llNotDbfFile
*-- 呵呵,打不开,出错误了.
Else
*-- Yes 是DBF文件
EndIf
  相关解决方案