我正在将 VFP 9 应用程序移植到 SQL Server。 VFP 应用程序有一些表,其中包含“常规”字段。查询字段时我得到一个字节数组,当我将它保存到磁盘时,我可以查看里面并看到它是一个Word文档,或者一个Paint BMP等。
通过阅读,我发现通用字段是一种专有格式,并且包含文档预览的缩略图(除其他外,我确信)。
有人可以向我指出一些代码,该代码首先提取文件类型,然后提取我可以保存为原始文件的实际文件数据。 (把预览图像拿出来也很好。)
显然,在过去,有人在 Foxpro 中编写了一个名为 GENTOFIL.PRG 的程序,听起来它将通用字段转换为文件。但是,当试图找到它时,谷歌并没有多大帮助!
如果您知道“常规”字段的内容是一个 Word 文档,我有一些应提取它的人推荐的 Visual FoxPro 代码。
* First create a form programmatically
loForm = CREATEOBJECT("Form")
* Open your VFP table with the general field. Change name as needed
USE CustomerDocs.DBF IN 0 ALIAS WordData
loForm.AddObject("oleWordDoc", "oleBoundControl")
loForm.oleWordDoc.AutoSize = .T.
* bind general field to oleboundcontrol
loForm.oleWordDoc.ControlSource = "WordData.gen1"
lnCounter = 1
SCAN
* File names all the same with counter at end
* You might have file name in another column in the table.
lcFileName = "docfromgeneralfield" + TRANSFORM(lnCounter)
lcFileName = FORCEEXT(lcFileName, "doc")
* save data from general field to .doc file
loForm.oleWordDoc.SaveAs("lcFileName")
lnCounter = lnCounter + 1
ENDSCAN
RELEASE loForm
USE IN (SELECT("WordData"))
RETURN
如果您需要帮助从表中提取图像,您可以查看我过去使用过的 Microsoft 知识库文章。
http://support.microsoft.com/kb/894819 http://support.microsoft.com/kb/894819
里克·舒默
Visual FoxPro MVP
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)