本文为原创,如需转载,请注明作者和出处,谢谢!
最近做个程序,需要将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://t.sina.com.cn/androidguy 昵称:李宁_Lining