Delphi和Foxpro整合实现txt和dbf互相转换

最近做个程序,需要将dbf和文本文件互相转换,也就是将dbf按表结构将字段和数据导成txt文件,再将txt文件导入其他的dbf表中。在foxpro中完成这些工作简直太容易了,但很多功能必须用delphi实现。虽然可以用foxpro做个小程序,然后再用delphi调用,但比较麻烦。因此,可以用Delphi通过调用Com组件的方式直接执行foxpro命令来实现,代码如下:

var
foxpro:olevariant;
begin
foxPro:=CreateOleObject(‘VisualFoxPro.Application’);
foxPro.DoCmd(‘USE d:\student.dbf’);
foxPro.DoCmd(‘copy to d:\student.txt delimited with tab’);
foxPro.Quit;
foxPro:=  Unassigned;

上面的代码是将student.dbf文件导出到student.txt文件。如果想导入,可以使用append命令,如下所示:

append from d:\student.txt type sdf

还想做什么,就看需求了。但不管做什么,只要在foxpro命令窗口可执行的命令,通过这种方式都可以执行。使用createoleobject函数需要使用comobj单元。

转自http://www.blogjava.net/nokiaguy/archive/2010/03/24/316447.html

 » 本站地址:http://www.gomoth.com

标签: