对于需要传送的数据文件(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