敬业的IT人 >> 数据库 >> Foxpro >> VFP基础教程 第十一章 应用程序开发

VFP基础教程 第十一章 应用程序开发

敬业的IT人 互联网 佚名 2008-1-8 14:34:06

    ·应用MFC开发高级应用程序
    ·在VC++应用程序中读取文本数据
    ·使用GWT开发AJAX应用程序
    ·DirectSound应用程序开发快速入门
    ·在Ajax应用程序中实现数据交换
    ·用Indy组件开发Socket应用程序
    ·MFC应用程序框架入门
    ·用VC++建立Service服务应用程序
    ·用VC++编制FTP客户端应用程序
    ·Java桌面应用程序设计:SWT

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命令避免重复查找同一个对象,或将对象的引用保存在变量中。

 

    ·应用MFC开发高级应用程序
    ·在VC++应用程序中读取文本数据
    ·使用GWT开发AJAX应用程序
    ·DirectSound应用程序开发快速入门
    ·在Ajax应用程序中实现数据交换
    ·用Indy组件开发Socket应用程序
    ·MFC应用程序框架入门
    ·用VC++建立Service服务应用程序
    ·用VC++编制FTP客户端应用程序
    ·Java桌面应用程序设计:SWT

11.3 程序开发实例

—— 简单的高校教学管理系统

1. 设计数据库

    数据库的组成:学生登记表、教师登记表、院系登记表、专业登记表、班级登记表、教学计划表、课程登记表、成绩登记表

    数据表的结构:各数据表的结构如下表。

    表名字段名及字段类型 学生登记表 学号姓名性别出生日期 班级 年级专业院系特长政治面貌C8C8 C2DC5 C2 C4 C3 MC10教师登记表教工号姓名性别出生日期职称晋升时间职务专业院系 参加工作时间C5C8C2DC10D C10 C4 C3 D 成绩登记表学号姓名 课程代号 平时成绩 期末考试 总评成绩 考试类型教师考试日期 C7 C8 C5 N5.1N5.1N5.1C10C5D教学计划表院系名称班级名称课程名学年/学期学时数考试类型教室任课教师C10C10C16C5N3C10C4C8课程登记表课程代号类别课程名学分是否考试是否必修    C5C2C16N3.1LL      班级登记表班级代号班级名称班级人数专业代号      C5 C10 N3 C4       专业登记表专业代号专业名称 部门代号       C4 C20 C3       院系登记表院系代号 院系名称          C3 C20         

2. 设计基本表单

    总表单:设计主界面表单与口令检查表单(采用表单集)并运行测试。

    数据表表单:先用向导创建各数据表的表单,再用表单设计器修改成所需的样式。

    数据测试:利用各表单向每个数据表输入部分数据,并进行简单测试。

3. 设计菜单

主菜单组成:根据需要本系统设置6大项菜单:系统维护(需密码才可进入)、浏览、查询、信息输出、帮助、退出。

菜单设计:根据需要完成的各项功能,在菜单设计器中设计各菜单的子菜单和菜单项。

4. 设计浏览表单

    设计成表单集的形式,该表单集既要能浏览到各表的详细信息,又要能浏览到相关表的统计信息。在此表单中出现的任何信息仅供浏览。

5. 设计查询表单

    先在表单设计器中设计一个查询总表单,再用表单向导中的一对多表单向导设计几个分表单,并在表单设计器中进行所需的修改, 最后在总表单的命令按钮中添加所需代码, 使各项查询功能得到实现。

6. 设计输出报表

    根据学校通常所需的教学管理信息,设计一组报表,需要时可以打印出来。

    输出报表包括:学生一览表、教师一览表、部门一览表、专业一览表、班级一览表、课程一览表、成绩一览表、教学计划一览表。

7. 完善菜单设计

    编制各菜单项的过程代码使菜单功能得以实现。

8. 编制帮助信息

    将帮助信息以独立的文件形式保存在计算机中,通过表单的调用来显示帮助信息。帮助信息主要介绍本系统的各项功能及使用方法。

9. 连编应用程序

设计一个主程序,并在项目管理器中用连编按钮将系统所有文件连编成一个应用程序。

10.测试

对不符合要求的部分进行修改,重新连编,再调试,直到完全满足要求为止。

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com