本文为原创,如需转载,请注明作者和出处,谢谢!
最近做个程序,需要将dbf和文本文件互相转换,也就是将dbf按表结构将字段和数据导成txt文件,再将txt文件导入其他的dbf表中。在
foxpro中完成这些工作简直太容易了,但很多功能必须用delphi实现。虽然可以用foxpro做个小程序,然后再用delphi调用,但比较麻
烦。因此,可以用Delphi通过调用Com组件的方式直接执行foxpro命令来实现,代码如下:
<!-- <br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->var
foxpro:olevariant;
begin
foxPro: = CreateOleObject( ' VisualFoxPro.Application ' );
foxPro.DoCmd( ' USEd:/student.dbf ' );
foxPro.DoCmd( ' copytod:/student.txtdelimitedwithtab ' );
foxPro.Quit;
foxPro: = Unassigned;
foxpro:olevariant;
begin
foxPro: = CreateOleObject( ' VisualFoxPro.Application ' );
foxPro.DoCmd( ' USEd:/student.dbf ' );
foxPro.DoCmd( ' copytod:/student.txtdelimitedwithtab ' );
foxPro.Quit;
foxPro: = Unassigned;
上面的代码是将student.dbf文件导出到student.txt文件。如果想导入,可以使用append命令,如下所示:
<!-- <br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->append
fromd:/student.txttypesdf
还想做什么,就看需求了。但不管做什么,只要在foxpro命令窗口可执行的命令,通过这种方式都可以执
行。使用createoleobject函数需要使用comobj单元。
本文介绍如何使用Delphi通过调用Com组件执行FoxPro命令,实现dbf与txt文件之间的相互转换。此方法避免了繁琐的小程序开发流程,提高了效率。
195

被折叠的 条评论
为什么被折叠?



