【e良师益友网】VFP常用的应用程序包括表单、程序、菜单等,当这些应用程序调试完成后,可将其编译成可执行的文件。编译好后的文件主要分为“*.app” 应用程序和“*.exe”执行程序。前者是在有VFP环境但可以不首先启动VFP环境下执行的程序;而后者是可在windows环境下直接执行的程序。
将VFP应用程序编译成执行文件而独立使用,其大致包括四个步骤:创建项目、设置主文件、设置排除文件和连编可执行文件。另外在设计程序时还要注意两个问题。
1、创建项目
在使用VFP编制程序时需要创建各种类型的文件,为了提高效率及方便管理,建议使用VFP提供的项目管理器。项目管理器是VFP中处理数据和 对象的主要组织工具,提供各种文件类型的创建和管理功能。应养成这样一个习惯:无论编制什么VFP程序,都要先建立一个项目文件。如果已经编好了一个程序 而没有使用项目管理器的话,也没关系,新建一个项目,把编写程序所需要用到的数据表、应用程序、文档图片等都添加进项目管理器就可以了。
2、设置主文件
主文件是项目管理器的主控程序,是整个应用程序的起点。在VFP中必须指定一个主文件,作为程序执行的起始点。在向项目管理器添加文件 时,VFP把第一个加入到项目中的应用程序作为主文件。在VFP里面,可以作为主文件的应用程序有:菜单、表单、程序prg文件,其他类型的文件都是不可 以做主文件的。设置和更改主文件的方法是将光标移至需要将它做主文件的应用程序上,在菜单“项目”下选择“设置主文件”(也可以直接在文件上右键—设置主 文件),设好后,该文件的显示会有变化,不同版本也不一样,VFP6.0是加粗文件名。
3、设置排除文件
VFP应用程序的运行过程中一般有两类文件,一类是应用程序文件,另一类是数据文档。应用程序文件一般在运行过程中是不需要变动的,而数据文 档会随着程序的运行而发生变化。在VFP项目管理器中,对程序、图形、表单、菜单、报表、查询等默认是设置它们为“包含”,在编译后会组合成为一个应用程 序文件,不可以改变。而对数据表则默认为“排除”,在编译后不会合并到执行文件中去,可以自由改写。如果要拷贝应用程序到其他计算机上使用,需要用户拷贝 “排除”文件随执行文件一起放到同一个目录中去。
4、连编可执行文件
(1)在连编之前要注意以下几个问题:
a、在项目管理器中加入了所有需要连编的文件;
b、设置了正确的主文件;
c、对每个文件设置了所需要的“包含或排除”状态。
(2)在项目管理其中单击“连编…”按钮打开“连编选项” 对话框,在“操作”框中有四个单选按钮箱,分别指示了四种连编方式:
a、重新连编项目:把项目中的所有文件重新编译,生成“*.pjx”和“*.pjt”文件,建立项目文件。
b、连编应用程序:连编生成“*.app”为扩展名的可执行文件,它包含项目中所有的应用程序文件,可以在VFP环境下运行。
c、连编可执行程序:创建“*.exe”的执行程序,可以在Windows环境下运行,但是它在单独运行时需要 vfp6r.dll,vfp6rchs.dll(英文版本的是vfp6renu.dll)等环境支持文件,且必须放在与EXE文件同一目录或者 Windows搜索路径(C:\WINDOWS\system32)下;否则“*.exe”的执行程序将不能正确运行。
d、连编COM DLL:生成动态连接库“*.dll”文件,该文件供其他应用程序调用。
(3)“连编选项”对话框还有4个选项,主要用到其中2个。
a、重新编译所有文件—VFP将重新编译所有的项目文件。
b、显示错误信息—在连编过程中所产生的所有错误信息手机在当前目录下,以项目名称作为文件主名扩展名为lerr的文件中,错误的数目在VFP状态栏上显示。
(4)在“连编选项” 对话框中单击“确定”按钮,弹出“另存为”对话框,输入文件名,单击“保存”按钮,即可生成所设定的文件。
5、设计程序需要注意的问题
(1)防止“一闪而过”
这是很多初学者面临的一个问题,原因在于使用了表单或菜单作为主文件,无“read events”来开始事件处理。
如果使用表单作为主文件,只需要在表单的Activate事件中加上“read events”命令,在“退出”按钮中,需要使用“clear events” 命令清除事件处理,或者使用“quit”命令,方可退出整个系统。
不能直接使用菜单作为主文件,如果需要使用菜单作为主窗口界面,这需要使用prg程序文件作为主文件,然后使用“do 菜单.mpr”命令调用菜单,再使用“read events”开始事件处理。
(2)使用prg程序文件作为主文件
在设计应用程序时,通常用一个prg程序文件作为应用程序的入口程序,即主文件,可以方便地进行对执行环境的设置,并且用它来调用其他各个组成模块,其常用到的命令有:
set directory to curdir()&&将程序的资源路径设为当前程序所在的文件夹。如在该文件夹下再创建各类文件夹,存放不同类型的文件,应加上set path to form;reports……
set sysmenu off &&不显示VFP系统菜单
set talk off &&关闭程序运算的显示过程
set safety off &&关闭改写已有文件之前显示的确认对话框
set deleted on &&不显示被逻辑删除的记录
set century on&&让日期在显示或输入时的年份为四位数
set date to ymd&&让日期在显示或输入时的顺序为年月日
set mark to ‘-’&&让日期之间的间隔符为“-”
set status bar off&&不显示VFP的状态条
on shutdown quit&&使用“quit”命令强制退出VFP
modify windows screen title ’人事管理系统’ noclose &&应用程序的标题显示内容为“人事管理系统” 。不如_screen.caption=’人事管理系统’更简洁
_screen.icon=图标文件名(.ico)&&设置标题上的图标(取代狐狸头)
_screen.controlbox=.f. &&不显示狐狸头和主窗口右上角的三个按钮
_screen.windowstate=2 &&设定VFP主窗口运行时的大小。0(普通)、1(最小化)、2(最大化)
_screen.fontname=字体名&&定义主窗口中显示文字的字体 如:隶书
_screen.fontsize=字号&&定义主窗口中显示文字的字号如:20
do form 登录界面.scx &&调用表单
do 菜单.mpr &&调用菜单
dead events &&开始事件处理
retuen &&暂停往下执行
以上是在使用VFP编译执行文件过程中常遇到的一些问题,还有待于更多的VFP爱好者进一步探讨研究。不当之处,请指正。了解更丰富的数据库教程知识可登录e良师益友网。