Visual FoxPro 和 dBASE 之间,除了少量的语言和语法差异外,还应注意下列不同。
dBASE IV 以引用方式把参数传递给过程和函数。Visual FoxPro 以引用方式将参数传递给过程而以值传递方式把参数传递给函数。
若要以引用方式将参数传递给函数,把命令 SET UDFPARMS TO REFERENCE 添加到程序中,或者直接在变量前使用 @。
在 Visual FoxPro 中,如果更改 UDF 的选定工作区,当 UDF 把控制返回到调用程序时新选定的工作区保持选定状态。从 UDF 返回后,dBASE IV 却要重新选择调用函数之前选定的工作区。
在 dBASE IV 中,SET MULTILOCKS ON 是隐含的。在 Visual FoxPro 中必须明确地在“命令”窗中发出 SET MULTILOCKS ON 命令来设置多项锁定。
dBASE IV 和 Visual FoxPro 在界面环境中使用不同的键盘快捷键。如果一个 dBASE IV 应用程序使用 READKEY( ) 或 LASTKEY( ) 函数来检查用户的最后动作并作适当反应,可能导致错误。
如果 dBASE 程序中有硬代码文件扩展名,您可能需要更改某些扩展名。下表显示了程序可能使用的每种类型的 dBASE 文件扩展名及其对应的 Visual FoxPro 文件扩展名。本表假定转换器已转换了所有相关 dBASE 文件。
dBASE 文件 | Visual FoxPro 文件 |
.dbf | 不需更改 |
.DBT | .FPT |
.FMT | .SCX |
.frg | 不需更改 |
.FRM | .FRX |
.LBG | 不需更改 |
.lbl | .LBX |
.mdx | .cdx |
.ndx | .idx |
.prg | 不需更改 |
.qbe | 不需更改 |