恢复过时的Fox Pro应用程序

时间:2011-07-12 10:34:19

标签: reverse-engineering business-logic foxpro software-design

我正与一位客户合作,重振他14年前使用Foxpro2.6开发的旧软件。 我的问题是客户端只有源代码(以.prg文件的形式)和数据库文件,但源代码中既没有任何文档也没有注释来指导我做什么...甚至数据库文件都没有正确命名。 我在这种情况下的唯一选择似乎是通过.prg文件,并了解哪个命令更新哪个数据库记录和如何....但有大约300 .prg文件,我根本不知道Fox Pro(我的意思是我当这件事变得过时时,它已经达到了第9个标准!)。

任何使这项工作变得简单的建议或想法,也许是一个.prg到C转换器,它可以帮助我很多。

请帮助....它正在变成一场噩梦

PS:我没有数据库转换的问题,但前端和功能源代码也写在FoxPro2.6中并保存为.prg扩展名是问题,因为我不懂语言而且没有文档。

3 个答案:

答案 0 :(得分:5)

实际上,您需要从头开始重写应用程序。

我建议做的第一件事是将项目的副本转换为最后一个版本的Visual FoxPro(9 SP2),然后至少你有一个IDE工作和一些基本的工具,如搜索/替换,并重新格式化源代码以使其更具可读性。

有关转化的基本详情,请参阅http://www.alvechurchdata.co.uk/foxconvert.htm。请注意,如果原始程序使用第三方或自定义库(例如.fll文件),那么您将不会 能够运行转换后的程序。

FoxPro 2.6是一种简单易懂的过程语言:不幸的是,程序逻辑将与窗口(屏幕)定义和行为混合在一起(几乎)是不可避免的,并且当SQL内置到语言中时,数据访问将是所有人都在那里混合。

如果签约具有更多经验的人进行转换是不可取的,那么你可能只是潜入 - 仍然有很多人知道FoxPro2.6在你遇到困难时提供帮助:从主程序开始并看看它从哪里开始。

答案 1 :(得分:1)

正如斯图尔特提到的那样,转换等...我实际上做了Foxpro / Visual Foxpro,并与另一个能够与你签约的人帮助你快速启动并围绕转换和快速分析什么是真的很好。

是的,旧的.prg文件有点简单,但即使回到旧的FoxBase,FoxPlus,Foxpro Windows天,也有很多丑陋的编码器。如果你感兴趣,请告诉我。自从微软收购之前我一直在做Fox ......

答案 2 :(得分:0)

FP2.6中有一个foxdoc.exe,运行时,你将拥有它调用的prg以及它使用的dbf的完整文档。希望这有帮助