![]() ![]() |
|
如何提高VFP应用软件的路径适应性 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:51:39 文章录入:杜斌 责任编辑:杜斌 | |
|
|
日常,在使用各种商品化的应用软件时,发现部分软件,可以将它安装在硬盘的任何盘的任何目录中;而有的软件,则只能安装在设计者事先规定的特定盘和特定路径中。假如将它放在了另外的盘号和路径,就会出现"XXXX数据库找不到"等等之类错误,从而中断软件的运行。本文从VFP语言的编程特点出发,介绍了提高VFP应用程序路径适应性的具体实现方法。
2. 在主程序文件以外的程序中,作如下处理: 在这些程序中,以上设定的搜索路径仅由项目内的自由表使用,打开自由表时,不要使用路径。对于只包含单个数据库的项目,数据库中的表、视图等可以通过以下语句来使用,无须再使用路径。 OPEN DATABASE [数据库名] USE [表名] 而对于包含多个数据库的项目,在使用其内的表、视图等对象时,采用: USE 数据库名!表名 3. 若要求应用程序在用户指定的目录中新建文件,则可以通过以下VFP函数来实现: =PUTFILE([cCustomText] [, cFileName] [, cFileExtensions]) 运行此函数,出现一个对话框,让用户选择文件(cFileName).( cFileExtensions)的存放目录。 4. 对VFP数据环境的分析。 报表、表单等设计时,数据环境内各个对象(如表、自由表、视图等)的CursorSource属性中包含自由表的绝对路径,以及Database属性中包含数据库的绝对路径。并且这二个属性都是只读的,无法修改。然而,在编程实践中发现,这二个属性值在项目连编时,都转化为相对于项目文件所在位置的相对路径。从而为设计路径通用性程序成为可能。这一点可通过查看使用了数据环境的各类文件(如:表单的 *、SCT,报表的 *、FRT)来证明,因此,在设计数据环境时,对数据对象,无须考虑路径的相对性。而且,数据环境中的数据库也是按SET PATH设定的顺序查找的。 5. 项目文件中的数据库 首先,要将它们标为"排除"。笔者,在项目"连编"前,有意改变它的数据库目 录,使"项目连编"时找不到数据库,当出现"找不到数据库"等错误信息时,选择 "忽 略",连编后的应用程序,照样可使用。因此,连编后的应用程序中,不固定项目内(已 标为"排除"的)数据库的路径,也不必考虑路径问题。 6.最后要注意,在打开项目的环境下,调试运行主文件(整个应用程序的运行起始点) 时要将 SET DEFAULT TO SYS(5)+SYS(2003) 改为 SET DEFAULT TO [(设计环境中)连编后的应用程序存放的绝对路径] 因为设计项目时 SYS(5)+SYS(2003)得出的不一定是[连编后的应用程序存放的 绝对路径],如:设计项目时是先运行VFP系统,再打开项目文件,则得出的路径是 VFP系统的安装目录。 |
|
![]() ![]() |