只有一个VFP表单如何生成可执行文件

只有一个VFP表单如何生成可执行文件,第1张

请你耐心读以下大概1页半的内容,就OK了。

第十一章 应用程序的管理

一个实用的数据库应用系统常包括许多文件,例如,prg文件、表单、菜单、报表、数据库及表、视图等。项目管理器提供了管理他们的集成环境。

1.项目管理器,将数据库、表单、程序等所有文件加入到项目文件中

2.设置项目的主文

用户运行应用程序时,首先执行的是主文件,之后由主文件依次调用其他组件。

可以定义主文件的有程序文件、菜单、表单以及查询,VFP默认添加到项目中的第一个此类文件为主文件。更改主文件的方法:在项目管理器中选定文件,项目设置主文件

3.连编项目

连编项目的目的是让VFP系统对项目的整体性进行测试。主文件一旦确定,项目连编时会自动将各级被调用文件增入项目管理器,但数据库、表、视图等数据文件不会自动增入。连编以后,除了被设置为“排除”的文件,项目包含的其他文件将合成为一个应用程序文件。

连编项目:

BUILD PROJECT <项目文件名>

连编应用程序:app

BUILD APP <应用程序文件名> FROM <项目文件名>

连编可执行文件:exe

BUILD EXE <可执行文件名> FROM <项目文件名>

应用程序文件(app)只能在VFP环境下运行

可执行文件(exe)既可以在VFP环境下运行,也可以在Windows环境下运行,但必须和动态链接库Vfp6rdll和 Vfp6rchsdll(中文版)或Vfp6renudll(英文版)一起构成VFP所需的完整运行环境(注意必须放在同一个目录下)。

4.文件的包含和排除

项目管理器中的文件可分为“包含”和“排除”两种类型,左侧有Ø标记的文件是“排除”文件,其余则是“包含”文件。

当项目连编时,VFP将项目包含的所有文件组合成为单一的应用程序文件,并使这些文件都变为只读。设置为“排除”的文件可以由用户修改。通常将可以执行的文件(例如表单、报表、查询、菜单和程序)设置为“包含”,而数据文件则根据是否允许写入来决定要否设置为“排除”。总之,所有不允许用户更新的文件应设置为“包含”。

更改文件类型的方法:在项目管理器中选定文件,项目包含/排除

5.主文件的设置

通常,将一个prg文件设为主文件(主程序文件)。主程序文件应完成的任务如下:

①对应用程序的环境进行初始化,如打开数据库、声明变量、设置SET等。

②显示初始的用户界面

③控制事件循环

显示出初始的用户界面后,还需要建立一个事件循环来对用户的 *** 作作出响应。因此主程序中要用READ EVENTS 语句启动事件循环。

当事件循环开始以后,应用程序将控制权交给最后一个显示出来的界面来处理,这个界面退出时要用CLEAR EVENTS语句结束事件循环。

注意:如果在主文件中没有包含READ EVENTS,在VFP环境中可以正确地运行应用程序,但是离开VFP环境运行应用程序时,会出现程序显示片刻就退出的现象。

6.运行应用程序

DO <应用程序文件名app>

DO <可执行文件名exe>

一个主程序(prg)的例子如下:

set directory to curdir() &&将程序的资源路径设为当前程序所在的文件夹

set sysmenu off &&不显示系统菜单

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 &&若没有这句,可能不能退出VFP。

clear

MODIFY WINDOW SCREEN TITLE '图书管理系统' NOCLOSE

_SCREENCONTROLBOX=F &&_SCREEN是系统内存变量(也就是VFP主窗口对象)

_SCREENWINDOWSTATE=2

DO FORM 登录界面scx

READ EVENTS &&启动事件循环

注意在主界面的“退出系统”的代码中应有:CLEAR EVENTS

注意:如果主文件是一个表单,应在表单的Load事件中设置参数,在Activate事件中写:READ EVENTS。

input()

{

do something;

if(buttontext=="x")

{

SystemThreadingThreadSleep(2000);

在这里您不要沉睡线程而是

thisBeginInvoke(new methInvoker(()=>{ input(); }));

即可我这里可是在编辑器里头自己用键盘敲写的代码我不知道是否编译可通过如果有问题您可以问

思路就是不要在主线程直接沉睡而是开启另外一个线程负责改变X,Y的值即可

}

else

{

do another;

}

}

如果我讲述思路不知道您明白不如果不明白您可以继续追问或直接向我求助

改用timer控件来做,设置下interval属性为1000(1秒)就可以了:Dim i As IntegerPrivate Sub Form_Load() i = 1End SubPrivate Sub Timer1_Timer() Label1Caption = ClipboardGetText() If i > 3 Then Timer1Enabled = False i = i + 1

End Sub

很简单!你打开表单时,命令窗口会有一条命令,运行表单时窗口也会有一条命令,将这条命令复制下来,建立一个程序,将它复制上去,就是一个简单的运行表单的程序。在windows窗口运行它,会直接启动vf 。

或编译成可执行文件。

以上就是关于只有一个VFP表单如何生成可执行文件全部的内容,包括:只有一个VFP表单如何生成可执行文件、C#做的FORM程序,除了sleep函数还有别的方法么、VB中无限循环的程序怎么在form中异步执行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10128968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存