如何提高VFP应用软件的路径适应性
如何提高VFP应用软件的路径适应性
在使用各种商品化的应用软件时,发现部分软件,可以将它安装在硬盘的任何盘的任何目录中;而有的软件,则只能安装在设计者事先规定的特定盘和特定路径中。假如将它放在了另外的盘号和路径,就会出现"XXXX数据库找不到"等等之类错误,从而中断软件的运行。本文从VFP语言的编程特点出发,介绍了提高VFP应用程序路径适应性的具体实现方法。
1. 在VFP应用软件的项目中,有一个主文件,它是整个应用程序的运行起始点。在主文件的开头处,插入以下语句:
A.将该软件的目录(安装后目录),设置为当前目录
SET DEFAULT TO SYS(5)+SYS(2003)
B.从.INI文件或路径数据表中读取用户指定的该软件下的子目录名(.INI文件或路径数据表的内容,待软件安装后,根据软件下的子目录名,由用户输入),例如B.1。若软件设计时确定了子目录名,则执行B.2的语句。
B.1 这里以"路径数据表"为例,说明读取路径的过程。
USE PGPATH
MPATH=‘‘
LOCA FOR PH#‘ ‘ &&搜索字段PH(路径)不为空的记录
DO WHILE .NOT.EOF()
MPATH=MPATH+TRIM(PH)+‘,‘ &&连加成搜索路径
SKIP
ENDD
MPATH=LEFT(MPATH,1,LEN(MPATH)-1)
B.1 若子目录名固定,则将各子目录名赋给MPATH,例: 两个子目录名为
DATA1,DATA2,DATA3则:
MPATH=‘DATA1,DATA2,DATA3‘
C.设置搜索路径
SET PATH &MPATH.
D.打开各数据库
OPEN DATABASE 数据库1
OPEN DATABASE 数据库2
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系统的安装目录。
相关文章:
非常夏日毕业设计 www.bysjdz.com 毕业设计 毕业论文 论文定做 免费论文 开题报告 文献综述 外文翻译 毕业设计定做 计算机毕业设计 计算机毕业论文 计算机外文翻译
找吧!毕业设计 www.zhaobysj.com 毕业设计 毕业论文 论文定做 免费论文 开题报告 文献综述 外文翻译 毕业设计定做 计算机毕业设计 计算机毕业论文 计算机外文翻译
转载于:https://www.cnblogs.com/hotsummer/archive/2010/12/30/1921577.html
如何提高VFP应用软件的路径适应性相关推荐
- 无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)
<无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)> 基本信息 原书名:Bulletproof Web Design:Improving flexibi ...
- Mirobiome | 广东省科学院土壤所孙蔚旻团队:固氮内生菌可以提高中国芒草的生态适应性...
题目:Characterization of diazotrophic root endophytes in Chinese silvergrass (Miscanthus sinensis) 发表杂 ...
- OKR案例:持续激励是提高员工积极性的路径
持续激励是OKR管理过程中必不可少的一项工作,但很多团队并没有重视这一点. 实际上这并非难事,对员工进行话语上的认可,或通过表情上的传达都可以满足员工被重视.被认可的需求,从而受到激励的效果. OKR ...
- 提高科学研究素养的路径
原创,转载请注明出处,谢谢. 摘要: 作为一名计算机科学领域的研究人员,提高科学研究素养对于科研过程和结果至关重要,提高科学研究素养应从三方面入手:树立正确的科学研究价值观.提高科学实验过程中的安全知 ...
- 【ROS-Navigation】—— DWA路径规划算法解析
文章目录 前言 1. 涉及的核心配置文件与启动文件 1.1 demo01_gazebo.launch 1.2 nav06_path.launch 1.3 nav04_amcl.launch 1.4 n ...
- 自动驾驶路径跟踪控制——驾驶员预瞄模型
文章目录 1. 驾驶员预瞄控制概述 1.1 第一个得到应用的驾驶员模型(Crossover模型) 1.2 预瞄概念的诞生 1.3 驾驶员模型环节 1.4 补偿跟踪模型 1.5 预瞄跟踪模型 1.6 速 ...
- 熟练的计算机应用技巧,计算机应用软件的学习方法探析
[摘 要]近年来随着信息化技术发展水平的不断提高,计算机在人们的日常生活中已经得到较为广泛地普及,尤其是计算机应用软件在人们工作.生活以及学习等各个领域中占据着至关重要的地位.因此,为熟练掌握计算机应 ...
- 计算机二级vf中字符,计算机二级VFP常用函数使用技巧探讨
摘要:掌握VFP常用函数使用技巧对学生非常重要,在二级考试中,函数使用频繁,贯穿整个考试,不论是表创建的索引建立.还是查询的字段构造以及表单控件的函数表示,都离不开函数的使用.为了让学生理清这部分思路 ...
- 自动驾驶路径规划——基于概率采样的路径规划算法(RRT、RRT*)
目录 1. RRT算法背景 1.1 RRT算法核心思想 1.2 RRT算法优缺点 2. 经典RRT算法 2.1 RRT算法流程 2.2 RRT伪代码 3. 基于目标概率采样 4. RRT*算法 4.1 ...
最新文章
- 机房收费系统总结【1】-整体流程
- alexnet训练多久收敛_如何将深度学习训练速度提升一百倍?PAISoar 来了
- python在windows和linux_python在windows和linux下获得本机本地ip地址方法小结
- 网申时遇到“补充信息”这一栏,填还是不填?
- ​cglib实现动态代理构建带参数的代理实例
- ipmitool 设置网关_IPMI (Intelligent Platform Management Interface)
- kafka reassign 限速_RabbitMQ 与 Kafka 的技术差异以及使用注意点
- 常用的函数式接口_Consumer接口的默认方法andThen
- IOS调试移动端弹窗遮罩input框focus和click事件失效
- Docker卸载镜像
- IoTeX与BigQuery集成以使数据对谷歌云用户可用
- java se 6 mac_Mac OS X “打开xx软件, 你需要一个Java SE 6运行环境”问题解决
- HttpWebRequest POST 数据时请求头多了一行Expect: 100-continue,少了数据行
- 游戏代练平台源码打包+搭建教程
- mysql8.0默认端口_mysql 8.0.19 安装 及 端口修改
- 基于STM32CubeMX在STM32F072C8T6移植Contiki OS
- Kindle阅读软件,手机阅读器软件、mobi、azw3、epub格式书籍阅读器软件分享
- Chrome浏览器调用摄像头拍照
- 贝叶斯估计、最大似然估计、最大后验概率估计
- VMware 开启笔记本摄像头