-
vfp教程之让VFP程序在浏览器中运行
一般情况下,在使用VFP系统开发的应用系统,只要经过编译、发布和安装过程就可以脱离VFP运行环境而在操作系统中直接运行。其实这只是应用系统的一种运行方式,我们完全可以利用活动文档(Active Documents)的功能,实现将单纯操作系统方式下的应用系统向基于HTML的客户界面应用程序的转变。通过活动文档可顺利地将以前编写的应用程序移植到Web页面上,并可将VFP的功能传递到浏览器上。下面以一个人员情况应用程序实现在浏览器中运行为例,介绍具体的实现过程:
1.新建一个项目命名为new,并在该项目文件管理器添加一个表单BD1到项目中,设定该表单的属性如下:
TitleBar=0 &&&&关闭表单的标题栏
WindowState=2 &&&&设定表单运行时为最大化方式
ScollBar=3 &&&&设定当表格处于非整屏显示时,可以使用垂直和水平滚动条
在表单对象的Destory Events事件中加入如下程序代码:
clear Events&&&&保证当表单关闭时,用户能够退出应用程序的运行
2.在表单中添加数据环境和控件对象。
在表单的数据环境中添加一个数据表作为表单中的数据源,在这里我们增加的是一个人员情况表。
利用鼠标拖动数据环境中的相应字段选项添加到表单中,作为表单的编辑对象,并添加一个对数据记录进行操作的类对象,设置完毕的表单如图1。
图1
3.添加活动文档类到项目,在建立好用户应用程序界面后,就可以向项目中添加活动文档类,其步骤如下:
在项目管理器中选择“类”页面,单击“新建”按钮,创建一个活动文档类,设定其基类为活动文档,将之存储于自定义的类库文件中。
设定好新类后双击对象,打开新类对象的代码窗口,为新类对象的Destory Events事件设定程序代码如下:
DO FORM BD1
READ EVENTS
设定新类对象的属性:
ContainerReleaseType=1
&&&&用户离开活动文档时,VFP将自动退出
4.设定生成的新类为主文件,VFP6中活动文档应用程序的编译方式与其他普通VFP应用程序相同。将活动文档表单连接为应用程序,编译后将生成一个new.app应用程序,这个应用程序可以在VFP环境下或在浏览器中运行。
为了在浏览器中运行活动文档,我们要在系统选单“工具”中选择“运行Active Document”,在文件名编辑框中输入要运行的活动文档的文件名new.app,单击“运行”按钮,系统会提示你对欲运行的文件处理进行选择,这里我们要选择“在文件的当前位置打开”选项,便可在浏览器中运行活动文档,其结果如图
通过上面的操作步骤,我们就可以很方便地实现把使用VFP系统编写的应用程序移植到浏览器中去运行。
1.新建一个项目命名为new,并在该项目文件管理器添加一个表单BD1到项目中,设定该表单的属性如下:
TitleBar=0 &&&&关闭表单的标题栏
WindowState=2 &&&&设定表单运行时为最大化方式
ScollBar=3 &&&&设定当表格处于非整屏显示时,可以使用垂直和水平滚动条
在表单对象的Destory Events事件中加入如下程序代码:
clear Events&&&&保证当表单关闭时,用户能够退出应用程序的运行
2.在表单中添加数据环境和控件对象。
在表单的数据环境中添加一个数据表作为表单中的数据源,在这里我们增加的是一个人员情况表。
利用鼠标拖动数据环境中的相应字段选项添加到表单中,作为表单的编辑对象,并添加一个对数据记录进行操作的类对象,设置完毕的表单如图1。
图1
3.添加活动文档类到项目,在建立好用户应用程序界面后,就可以向项目中添加活动文档类,其步骤如下:
在项目管理器中选择“类”页面,单击“新建”按钮,创建一个活动文档类,设定其基类为活动文档,将之存储于自定义的类库文件中。
设定好新类后双击对象,打开新类对象的代码窗口,为新类对象的Destory Events事件设定程序代码如下:
DO FORM BD1
READ EVENTS
设定新类对象的属性:
ContainerReleaseType=1
&&&&用户离开活动文档时,VFP将自动退出
4.设定生成的新类为主文件,VFP6中活动文档应用程序的编译方式与其他普通VFP应用程序相同。将活动文档表单连接为应用程序,编译后将生成一个new.app应用程序,这个应用程序可以在VFP环境下或在浏览器中运行。
为了在浏览器中运行活动文档,我们要在系统选单“工具”中选择“运行Active Document”,在文件名编辑框中输入要运行的活动文档的文件名new.app,单击“运行”按钮,系统会提示你对欲运行的文件处理进行选择,这里我们要选择“在文件的当前位置打开”选项,便可在浏览器中运行活动文档,其结果如图
通过上面的操作步骤,我们就可以很方便地实现把使用VFP系统编写的应用程序移植到浏览器中去运行。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式