VFP教程 十一、应用程序开发

时间:2023年01月21日

/

来源:Serein

/

编辑:本站小编

收藏本文

下载本文

下面是小编帮大家整理的VFP教程 十一、应用程序开发,本文共6篇,希望对大家带来帮助,欢迎大家分享。本文原稿由网友“Serein”提供。

篇1:VFP教程 十一、应用程序开发

11.1 开发应用程序的基本步骤

在开发应用程序时,首先应进行系统环境规划,规划中要考虑的因素有:应用程序所面向的用户及其可能需要的各种操作、数据库规模、系统工作平台(单用户或是网络)、程序要处理的数据类型(是本地数据还是远程数据)等,

VFP教程 十一、应用程序开发

。规划完成之后,即可利用项目管理器来进行每一步开发,它可以帮助管理开发过程中的所有文件,并最终连编成应用程序。应用程序的开发步骤大致如下图所示:

1. 数据库结构设计

2. 系统功能模块设计

3. 菜单设计

4. 用户界面设计

5. 查询设计

6. 报表设计

7. 系统维护设计

8. 系统模块调试

9. 用项目管理器连编成应用程序

11.2 优化应用程序的技巧

1. 优化表和索引

(1) 如果没有启用记录或表缓冲,应该使用INSERT-SQL命令(因索引只需更新一次),而不要使用APPEND BLANK 命令后再使用REPLACE;

(2) 当需要将大量记录追加到索引过的表中时,应先取消或关闭索引,在数据追加完毕,再重建索引,这样速度会快些;

(3) 在SQL语句中要尽量避免函数调用;

(4) 如果需要经常使用某种索引顺序,应周期性使用此索引对表进行排序,提高表的性能;

(5) 在多用户环境中,使用CDX 索引文件比 IDX 索引文件快。

2. 使用Rushmore 技术加速数据访问

使用 Rushmore 技术可以显著地提高查询的速度,

电脑资料

Rushmore 是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒。访问单表时,使用 FOR 子句,访问多表时,使用SELECT-SQL 查询,可自动隐含地使用该技术。

(1)访问单个表中的数据,使用一个FOR子句;

(2)访问多个表中的数据,使用SELECT-SQL、DELETE-SQL、UPDATE-SQL命令。

3. 优化表单和控件

(1) 使用数据环境;

(2)在表单集里限制表单数目;

(3)在页框中动态加载页面控件;

(4)动态绑定控件与数据;

(5)当必须对屏幕进行多处更改时,延迟屏幕刷新;

(6)在经常使用的方法程序中减少代码。

4. 提高VFP程序性能的一般技巧

(1)数据要选择正确的数据类型

(2)避免重复打开文件,需要打开多个文件时,将它们分配给不同的工作区,需要时使用SELECT命令选择工作区;

(3)尽量使用FOR…ENDFOR循环,而不要使用DO WHILE…ENDDO循环,因为FOR循环较快;

(4)从多个字段复制数据时,用SCATTER TO ARRAY 比用SCATTER MEMVER快;

(5)为了有效的使用内存,避免在需要对象之前就创建它们,当不要该对象时应及时清除它;

(6)尽量将输出发送到顶层窗口,速度快些;

(7)使用SET TALK OFF命令取消状态显示,可节省屏幕顶端更新时间;

(8)将SET DOHISTORY 设置为OFF,避免当运行程序时每次都更新命令窗口;

(9)使用名称表达式代替宏替换,因为名称表达式更快;

(10)有效地引用对象属性:

·优化对属性的重复引用,可将属性值保存到一个变量中,再进行更改,在完成时一次性的设置属性;

·有效地引用多个属性,可以用WITH…ENDWITH命令避免重复查找同一个对象,或将对象的引用保存在变量中。

篇2:VFP教程 七、表单设计

7.1 基本概念

1.名词解释

表单:

即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改,

VFP教程 七、表单设计

。该界面可以自行设计和定义,是一种容器类,可包括多个控件(或称对象)。

表单集:

可包含一张或多张表单的容器。

数据环境:

在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用数据环境设计器来创建和修改表单的数据环境。

2.表单设计界面

主要包括: 表单向导、表单设计器、表单设计器工具栏、表单控件工具栏、属性窗口

3.表单设计中常用的属性、事件与方法介绍

属性、事件、方法

说明

默认值

AlwaysOnTop属性控制表单是否总是处在其他打开窗口之上假(.F.)AutoCenter属性控制表单初始化时是否让表单自动地在Visual FoxPro主窗口中居中假(.F.)BackColor属性决定表单窗口的颜色255,255,255BorderStyle属性决定表单是否有边框,若有边框,是单线边框、双线边框,还是系统边框,

电脑资料

如果BorderStyle为3(系统),用户可重新改变表单大小3Caption属性决定表单标题栏显示的文本FormlClosable属性控制用户是否能通过双击“关闭”框来关闭表单真(.T.)MaxButton属性控制表单是否具有最大化按钮真(.T.)MinButton属性控制表单是否具有最小化按钮真(.T.)Movable属性控制表单是否能移动到屏幕的新位置真(.T.)WindowState属性控制表单是最小化、最大化还是正常状态0 正常WindowType属性控制表单是非模式表单(默认)还是模式表单。如果表单是模式表单,用户在访问应用程序用户界面中任何其他单元前必须关闭该表单0 非模式Activate事件当激活表单时发生Click事件在控制上单击鼠标左键时发生DblClick事件在控制上双击鼠标左键时发生Destroy事件当释放一个对象的实例时发生Init事件在创建表单对象时发生Error事件当某方法(过程)在运行出错时发生KeyPress事件当按下并释放某个键时发生Load事件在创建表单对象前发生Unload事件当对象释放时发生RightClick事件在单击鼠标右键时发生AddObject方法运行时,在容器对象中添加对象Move方法移动一个对象Refresh方法重画表单或控制,并刷新所有值Release方法从内存中释放表单Show方法显示一张表单

篇3:在应用程序中修改VFP数据表结构

早期有不少用FOXPRO编写的数据库应用程序喜欢用6位字符型字段来记录日期,随着的到来,这个字段的宽度显然已经不适用了,需要修改。 ---- 修改FOXPRO数据表结构,常用MODIFY STRUCTURE命令。这种方法虽然方便,但必须在人机对话中实现。若您的程序已交付许多用户使用,要求用户采用MODIFY STRUCTURE命令修改数据表结构势必会带来许多麻烦。是否可通过执行预先编制好的程序来完成扩大字段宽度工作?笔者最近做了一个尝试,其程序思路是:

---- 1、利用AFIELDS函数获取要修改的数据表结构信息,并将信息存放在STR_FIL数组内。AFIELDS()函数的语法:AFIELDS(ArrayName),ArrayName是放置表结构信息的数组名(可由自己命名,本例中命名为STR_FIL),数组为每一个字段创建一行数据,其每一列里存储的信息如下:

----

列号 字段信息 数据类型 列号

字段信息 数据类型

1 字段名 字符型

2 字段类型 字符型

3 字段宽度 数值型

4 小数点位置 数值型

5 容许的空值 逻辑型

6 字段有效准则 字符型

7 字段有效文本 字符型

8 字段缺省值 字符型

9 表有效准则 字符型

10 表有效文本 字符型

---- 2、根据要求修改STR_FIL数组内容(本例,修改字段宽度)。 ---- 3、利用CREATE CURSOR 命令,按STR_FIL数组内容创建一临时表结构。

---- 4、将原表数据添加到临时表中。

---- 5、利用COPY TO 命令,将临时表覆盖原表。

---- 下面是修改字段宽度的原代码:

*参数:SOU_FILE(修改的数据表文件名),字符型

*参数:FIE_NAME(要修改的字段名),字符型

*参数:FIE_WID(修改后的字段宽度),数字型

PARA SOU_FILE,FIE_NAME,FIE_WID

PRIV STR_FIL,FIEL_SUM,N, STR_TMP

IF USED(“&SOU_FILE”)

&&打开要修改的数据表

SELE &SOU_FILE

ELSE

SELE 0

USE &SOU_FILE

ENDIF

=AFIELDS(STR_FIL)

&&获取表结构,并存储在STR_FIL数组内

FIEL_SUM=FCOUNT() &&计算表字段数

N=1

DO WHILE N<=FIEL_SUM

&&查找要修改的字段名

IF ALLT(STR_FIL(N,1))=FIE_NAME

&&如果是要修改的字段名

IF STR_FIL(N,3)=FIE_WID

&&判别字段宽度是否相同

RETURN

&&相同返回

ELSE

&&否则修改表结构

wait “正在修改数据结构,

请稍侯...” WIND NOWAIT

STR_FIL(N,3)=FIE_WID

&&确定字段长度

EXIT &&退出循环

IF N= FIEL_SUM &&如果循环结束

wait “无修改的字段,按任意键返回….

” WIND &&提示用户

RETURN

ENDIF

ENDIF

ENDIF

N=N+1

ENDDO

*按STR_FIL数组内容,创建临时表结构

SELE 0

*根据STR_FIL数组规定的字段名字、

类型、宽度创建临时表STR_TMP

CREATE CURSOR STR_TMP

FROM ARRAY STR_FIL

SELE &SOU_FILE

USE &&关闭原数据表

*将原数据表数据添加到临时表STR_TMP中

SELE 0

APPE FROM &SOU_FILE

COPY TO &SOU_FILE &&复制新的数据原表

RETURN

本文来源: Computer World 本文作者: 程建平

篇4:开发简单的Silverlight 2应用程序

准备工作做好了之后,下面就可以开始进行Silverlight 2的应用程序的开发了,

启动VS,“新建项目”,可以看到 “项目类型”下面有“Silverlight”,选择“Silverlight” ,在右边的模板里面可以看到“已安装的模板”列出了 “Silverlight Application”和“Silverlight Class Library”两种类型的模板。

选择“Silverlight Application”模板,出现下面的对话框:

由 于Silverlight应用程序目前还无法单独运行,它必须嵌入页面里面,通过object标签元素来启动 它,所以,在创建“Silverlight Application”的时候,VS会提示你选择一种运行Sliverlight程序的方 法。如果选择“Add a new Web to the solution for hosting the control”,此时需要创建一个Web站 点:既可以创建Web网站,也可以创建Web Application类型的项目,如下图:

如 果选择“Generate an HTML test page to host Silverlight within this project”的方法,则 会在项目文件夹的ClientBin下创建一个TestPage.html文件,以用来运行Silverlight程序。

下面,我们选择“Web Application Project”的方法来做一个简单的例子。单击“ok”按钮后,出现 下面的界面:

可以通过上下箭头切换设计区和代码区的位置,也可以通过右边蓝色框里面的按钮隐藏区域和横向、纵向切分窗口。

在XAML代码区的标记之间,输入下面的代码:

请输入您的姓名:

在输入的过程,VS出现智能提示,方便输入,

在XAML代码区,单击鼠标右键,可以从右键菜单上选择“查看代码”,切换到代码区域,以处理用户 单击按钮执行的任务。也可以在事件名称上选择“导航到事件处理程序”来进入代码输入界面:

当前XAML的所有成员都可以从右边的下拉列表中进行查找到。

在Button_Click的事件处理函数内,输入以下的内容:

string UserInputContent = this.UserInput.Text;

if (UserInputContent.Equals(String.Empty))

{

this.Msg.Text = “HelloSilverlightWorld!”;

}

else

{

this.Msg.Text = “你好,” + UserInputContent;

}

整个Hello World的开发过程到现在就完成了。单击F5健,在文本输入框里面输入你的名字,可以看到 程序运行结果如下:

几点说明:

1,工具箱中的控件只能拖放到XAML代码区域,不能拖放到设计区域,该界面布局带来很多的不方便;

2,文档大纲的预览和属性框都不可用,估计是Beta版还没有完成吧。

3,元素定位需要放在Canvas里面,具体介绍参见:

dotnet.aspx.cc/SilverlightSDK/Silverlight/conceptual/c_Silverlight_positioning.htm

篇5:Android应用程序开发个人总结

一、项目简介:

送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。

二、个人在项目中承担的任务:

我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面

三、学习本门课程收获、体会及建议:

在本门课程中,我初步认识了安卓应用开发所需基本知识,比如安装体系结构,常用的控件以及API的使用方法,知道了安卓体系存储数据的方式。这一学期,安卓相关的知识自己掌握的不多,不过也透过安卓课程看到移动端应用的火热。这一个学期里,老师讲得比较细,自己单独下来练一个知识点了,也可以,不过当几个知识点的内容整合到一起,自己就凌乱了,自己的思路就不清晰。在期末项目中,我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面,由于时间和能力的限制,只完成了部分功能,功能没有完全实现。

篇6:马虎词汇教程(十一)

aesthetic博士小李探花是和平的advocate,面对adversity,依然那么沉着,深深的affect了阿飞,阿飞看到情形对小李飞刀是adverse,advance联手对抗少林,面对advisable advice,affable小李advise阿飞冷静考虑对林仙儿的affection,不可以为自己冒险,一想到自己affectionate女人,阿飞的心软了。

affiliate v. 加盟,入会

affinity n. 亲密关系;类似处

affirm v. 断言;批准;证实

afflict v. 折磨;使痛苦

afflicting adj. 痛苦的

*affluence n. 丰富;富裕;流入

affluent adj. 富裕的

afford v. 付的起;提供

*age v. 老化

aged adj. 老年的,陈年的

agenda n. 议程

陈近南:小宝,affiliate天地会吧,我们afford给你的工资很高的,而且在你aged时候,提供养老金,affluent过你的下半生。

韦小宝:师傅,没有搞错?今天会议没有这个agenda吧?我现在affirm,如果我保持和小玄子的affinity,我怎么可能过afflicting生活,师傅您老人家别afflict我了好不好?

aggravate v. 恶化

aggregate n. 总数

aggression n. 侵犯

aggressive adj. 好斗的

aghast adj. 惊骇的,恐怖的

agile adj. 敏捷的,活泼轻快的

agility n. 敏捷,活泼

agitate v. 煽动

agonize v. 使受苦,使苦闷

agrarian adj. 土地的,农业的

随着环境的aggravate,agrarian收成越来越差,agonize更多的农民,据说受灾的aggregate超过了200万,aggressive韦小宝骑着agility的小鹿到神龙岛,agitate神龙教领导东北农民造反,神龙教主aghast的看着小宝,以为康熙要aggression神龙教,吓得agile逃跑了。

agreeable adj. 宜人的

aim v. 打算,意欲,瞄准;n.目的

akin to adj. 有亲密关系的,相似的

alert adj. 机敏的

algebra n. 代数

alien adj. 外国的;陌生的

alkali n. 碱

allege v. 宣称,主张

allegiance n. 忠诚

allot v. 指派;分配

VFP编程:VFP报表输出

确保PHP应用程序的安全[4]WEB安全

十一祝福语

十一短信

房地产英语十一

下载VFP教程 十一、应用程序开发(精选6篇)
VFP教程 十一、应用程序开发.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档