美国微软公司的VisualFoxPr08.0版推出后,由于其7.0版在VisualStudio.NET正式版中未曾见到而引起的该公司今后是否还发展Fox数据库的疑虑便在用户中释然了。VisualFoxPro(简称VFP,是FoxPr03.0以后的称谓,包括VFP5.0、6.0、7.0、8.0等)是当今运行速度最快、使用最广的数据库之一,它已取代原来占微机用户80%的dBASE的地位而成了xBASE类关系数据库的工业标准。
本书包括14章及两个附录,以VFP6.0和8.0为背景(前者用户广泛,后者的新特点全部兼容前者)详细叙述了VFP程序设计(包括报表、菜单设计器)、表操作、数据库意义的扩展、VFP同其他软件共享和交换数据(对象链接和嵌入OLE及ActiVex)等,并着重介绍VFP的表单(Form)及面向对象的程序设计、视图(SQLViews)、CursorAdapter和客户服务器编程,以及VFP的ActiveDocument、VFPWebServices,在Internet国际互联网上的工作等。本书是作者十多年前(1987)归国时最早将Fox软件介绍到我国写的第10部Fox软件的书。
本书加强了面向对象程序设计的实例介绍,且图文并茂,强调实用性。
本书可供高等学校计算机类专业和非计算机专业(等级考试)的学生作教材使用,也可作为广大VFP开发者的参考书。
第1章运行使用VFP的第一个程序
1.1程序设计
1.1.1程序设计的概念和步骤
1.1.2面向对象的程序设计
1.2VisualFoxPro程序语言
1.2.1什么叫数据库
1.2.2VFP是数据库管理和程序设计的实用语言
1.2.3建立程序
1.2.4运行程序
1.2.5修改程序及调试
1.3VFP的窗口、菜单及其他
1.3.1启动VisualFOxPrO
1.3.2窗口和菜单操作
1.3.3退出VisualFOxPrO
1.4实验一
1.5习题
第2章VFP勺数据
2.1常量
2.2变量
2.2.1字段变量
2.2.2内存变量
2.2.3数组变量
2.2.4变量的级
2.3表达式
2.3.1运算符+
2.3.2表达式的分类
2.4系统设置命令与选项(OPTION)对话框
2.5运行环境配制文件
2.6优化VisualFOxPrO
2.7实验二
2.8习题
第3章VFP的类与对象
3.1VFP中的对象(Object)
3.1.1对象具有的属性(Properties)
3.1.2对象具有事件(Events)和方法(Methods)
3.2VFP中的类(Classes)
3.3VFP类的层次
3.3.1VFP的基类和层次
3.3.2容器(Container)类和控件(Contr01)类
3.4对象的处理
3.4.1在容器层次中引用对象
3.4.2设置属性
3.4.3调用方法
3.4.4响应事件
3.5编程定义类
3.6习题
第4章VFP的自由表(FreeTable)
4.1创建和修改表文件结构
4.1.1表的结构
4.1.2建立表结构命令(CREATE)
4.1.3修改表结构
4.2输入表数据
4.2.1在CREATE命令期间输入数据
4.2.2表添加命令(APPEND)
4.2.3在表中插入记录命令(1NSERT)
4.2.4用BROWSE命令追加数据记录
4.3打开、关闭、显示和定位表
4.3.1打开和关闭表文件命令(USE)
4.3.2表的显示和列表
4.3.3记录的定位
4.4修改和删除记录数据
4.4.1修改表数据
4.4.2删除表记录
4.4.3删除表文件
4.5排序、索引和查寻表
4.5.1什么是排序与索引
4.5.2表的排序
4.5.3表的索引
4.5.4表的查询
4.5.5Rushmore优化技术
4.6计算、汇总表
4.6.1表的计算命令
4.6.2表的汇总命令
4.7关联、连接和更新表
4.7.1关联
4.7.2数据工作窗口与.VUE视图文件
4.7.3不同工作区中表的连接
4.7.4更新
4.8其他有关命令操作
4.8.1RUN命令(!)和运行二进制文件
4.8.2关闭命令
4.8.3复制表文件
4.8.4数据结合文件
4.8.5文件操作命令
4.9结构化查询语言(SQL)
4.9.1数据库标准语言SQL概述
4.9.2Select查询
4.9.3用SQL定义、修改、删除表
4.9.4数据操纵语言(1nsert、Delete、Update)
4.10实验三
4.11题
第5章表单(Form)应用及其编程技术
5.1表单和表单设计及VFP8.0的工具箱(ToolBox)
5.1.1表单的类型
5.1.2创建新的表单
5.1.3添加和操作表单对象
5.1.4存储和运行表单
5.1.5VFP8.0的工具箱
5.2表单对象的应用实例——大学生通用习题测试系统
5.2.1系统的表单流程图
5.2.2系统的实现及表单对象的应用
5.3设置表单或表单集模板(Template)
5.4实验四
5.5题
第6章函数
6.1数值和数学函数
6.2三角函数
6.3字符串操作函数
6.4表(.DBF)操作函数
6.5日期、时间函数及对2000年日期的支持
6.5.1日期、时间函数
.6.5.2对2000年日期的支持
6.6显示、打印位置函数
6.7系统函数
6.8其他函数
6.9实验五
6.10题
第7章输入、选择、循环及子程序设计
7.1程序的交互式命令
7.1.1人机交互式输入语句(ACCEPT、INPUT、WAIT)
7.1.2程序设计的辅助命令(CANCEL、NOTE/*)
7.2结构化程序设计
7.2.1结构化N-S流程图
7.2.2Jl顷序结构程序设计
7.2.3分支结构程序设计
7.2.4循环结构程序设计
7.3子程序与过程文件及用户自定义函数
7.3.1子程序与过程的调用
7.3.2过程文件的建立
7.3.3用户自定义函数(函数过程)
7.4报表程序设计与报表设计器(ReportDesigner)
7.4.1创建报表布局
7.4.2报表设计器应用实例——一对多报表设计
7.5菜单程序设计与菜单设计器(MenuDesigner)
7.5.1创建菜单、菜单项和子菜单
7.5.2为菜单系统指定任务
7.5.3测试与调试菜单系统
7.5.4定制菜单系统
7.6实验六
7.7实验七
7.8习题
第8章数据库(Database)
8.1数据库的意义
8.1.1表(Table)和数据库(Database)
8.1.2数据库的优缺点
8.1.3数据库的使用范围
8.2建立数据库(.DBC)文件
8.2.1打开、关闭和删除数据库
8.2.2在数据库中创建新表
8.2.3添加一个表到数据库
8.2.4使用数据库中的表和视图
8.2.5对一个项目(Proiect)添加或移去数据库
8.2.6查看和修改数据库结构
8.3数据字典(DataDictionary)
8.3.1字段级和表级数据字典特性
8.3.2建立存储过程(StoredProcedures)
8.3.3建立永久性(Persistent)关系
8.3.4生成参照完整性(m)
8.3.5查看和设置数据库属性
8.4实验八
8.5题
第9章设计应用程序实例——文档管理信息系统程序设计
9.1设计应用程序的方法
9.2文档管理信息系统
9.3题
第10章SQL视图、VFP8.0的CursorAdapter和客户朋匠务器编程
10.1客户/服务器(Client/Server)结构
10.2创建和使用视图(SQLView)
10.2.1创建本地视图(LocalView)
10.2.2创建多表视图
10.2.3定义一个连接(Connection)
10.2.4创建远程视图(RemoteView)
10.2.5更名或删除视图
10.2.6使用视图
10.3更新视图的数据
10.4集成视图(CombiningView)
10.5使用视图和SQL传递进行CIS模式编程
10.5.1使用视图进行CIS模式编程
10.5.2升迁及升迁向导(UpsizingWizard)
10.5.3使用SQL传递(SQLPass-through)进行C/S模式编程
10.6VFP8.0的CursorAdapter与C/S模式编程
10.6.1VFP8.0的CursorAdapter概述
10.6.2CursorAdapter的属性、事件、方法及工作
10.6.3使用Native的CursorA曲pter;
10.6.4使用ODBC的CursorAdapter
10.6.5使用ADO的CⅢsⅢAdapter
10.6.6使用XML的CursorAdapter
10.7实验九
10.8实验十
10.9题
第11章并发共享访问编程技术
11.1多用户环境及多用户操作函数、命令
11.2使用数据工作期
11.2.1使用私有数据工作期
11.2.2识别数据工作期
11.2.3使用多个表单实例更新数据
11.3用缓冲(Buffering)访问共享数据
11.3.1缓冲编辑结果
11.3.2执行更新
11.3.3检测并解决冲突
11.4用事务处(Transactions)管理更新数据
11.5Intemet与VFP的ACdVeDOcu毗nt
11.5.1用VFP在Intemet上工作
11.5.2VFP的ActiveDocument
11.6题
第12章同其他软件交换数据
12.1用APPEND和COPY命令与其他文件共享数据
12.1.1VFP和其他字处理软件(Word)之间交换数据
12.1.2注意VFP与其他xBASE之间的兼容性
12.2对象链接和嵌OLE及ActiveX控件
12.2.1剪贴板
12.2.2对象链接和嵌/X(OLE)
12.2.3OLE在VFP中的应用
12.2.4使用OLE自动化技术控制其他软件
12.2.5VFP的ActiveX
12.3OLE拖放
12.3.1设计时刻的OLE拖放
12.3.2运行时刻的OLE拖放
12.4实验十一
12.5>D题
第13章项目管理器及应用程序的分发技术
13.1项目管理器与应用程序(Application)
13.1.1项目管理器(ProjectManager)
13.1.2构成一个应用程序(Application)
13.1.3添加文件到一个项目(Project)
13.1.4从一个项目(.PJX)生成应用程序(.APP)文件
13.2建造分发(Distribution)应用程序
13.2.1分发工作步骤
13.2.2生成.EXE可执行文件
13.3制作分发磁盘
13.3.1分发树(DistributionTree)
13.3.2使用安装向导
13.4实验十二
13.5习题
第14章VFP的WebServiCeS
14.1VFP的WebServices简介
14.2VFP使用WebServices的准备工作
14.2.1创建虚拟目录
14.2.2创建项目(Project)
14.2.3创建COMServer
14.3创建和发布WebSerVlces
14.4登记WebServices
14.5在VFP中使用WebSerVices
14.6习题
附录A《VisualFoxPro面向对象程序设计》教学大纲
附录BFoxPro的历史地位、VFP8.0版本和展望
参考文献
21世纪是知识经济和信息的时代,信息技术的发展水平、运用水平和教育水平已经成为衡量社会进步的重要标志。面对挑战与机遇并存的发展形势,世界范围内的多层次、多侧面的计算机教育热潮正在掀起。
计算机的广泛普及及应用,使人们传统的工作、学习、生活乃至思维方式都发生了巨大变化。不会利用计算机进行读写、思维、工作和学习,将成为21世纪的“文盲”。另一方面,计算机技术与其他学科领域交叉融合,促进了学科发展与专业更新,引发了新兴交叉学科与技术不断涌现。人们若能很好地使用计算机,将会掌握最先进、最有效的研究与开发手段,直接有利于其所从事专业的发展。
高等学校计算机教学分为非计算机专业的计算机基础教学与计算机专业教学。前者又分为计算机文化基础、计算机技术基础和计算机应用基础三个层次的计算机基础教学。本教材适合第二层次中的高级语言课,也是计算机专业客户朋艮务器(C/S)模式教学中的前端语言工具的首选。本书介绍的美国微软公司的Fox软件VisualFoxPro是当今运行速度最快、使用最广的数据库之一,它已成了xBASE类关系数据库的工业标准,受到广大用户的青睐。
笔者1987年5月作为中国科学院公派访问学者从加拿大哈密尔顿McMaster大学归国时,引进了美国的Fox软件,使之取代占微机数据库用户80%的dBASE的地位而风靡全国。当时所主持的Fox软件的中国本地化工作、成都小Fox软件实验室以及国内第一部Fox软件著作闻名全国。现已主编Fox软件著作9本,其中《VisualFoxPro实用教程》获教育部2002年全国普通高校优秀教材二等奖。
本书是笔者第10部Fox方面的书。与前几部Visual FoxPro的教材相比,不同特点主要是:
(1)本书是以VisualFoxPro高版本8.0为基础的教材(当然与VFP6.0全兼容,也继续保留VFP6.0中文版的界面与内容),对VFPWeb Services (见第14章)、VFP8.0的用CursorAdapter(特别是使用ADO的CursorAdaptcr)进行C/S模式编程(见10.6节)、VFP8.0的工具箱(见5.1节)、VFP8.0在基类和控件上的提高(见3.2节)以及VFP8.0的自动增量计数字段(见4.1节)等进行了较详细的叙述。
(2)每章按“授课内容”、 “实训内容”和“上机练习及习题”三部分来安排。其中“实训内容”是按实用技术的技能模块的要求来编写的。从某种意义上说它比“授课内容”还重要,可看成是高级VFP,学生一定要上机动手自己摸索,以便得到相应技能的实训。
(3)增加了实际例子。例如3.5小节“编程定义类”等,继续保留表单设计器和报表设计器的例子和插图。特别是第5章表单(Form)应用及其编程技术的例子: “大学生通用习题测试系统”,完全是一个使用表单设计器进行面向对象程序设计的实例,学习此系统后学生便能用相同的方法研制实际系统了。
(4)本书在内容上尝试国外语言书大都采用的以面向对象编程的技术来展开的方式,以代替国内普通采用的先讲结构化程序设计的三个基本结构的方法,实验证明前者更适用。
(5)本书内容深入浅出,本着“精、简”的原则,难点分散,既体现了先进性,又注重了基础性。
(6)本书强调实用性和实践性的结合,提供有教学大纲、实验指导和习题,便于教师的教学和读者的上机实践。
另外,读者可以在http://computer.cec.edu.cn/Jingpinkecheng/JingPinlndexa.asp浏览如下资料:
(1)VisualFoxPro数据库课件。
(2)VisualFoxPro数据库精晶课程录像片段(流媒体)。
(3)多媒体VisualFoxPro数据库课程远程教学软件系统(VFP 。
(4) 网上考试系统。 _CAl)VisualFoxPro
(5)VisualFoxPro试卷及答案。
(6)本课程的创新和特色。
本书由刘甫迎教授和党晋蓉副教授编著。党晋蓉副教授编著了第7章、第8章、第4.7和4.8节,并绘制了书中全部的图形。刘甫迎教授编著了其余章节,并统稿全书。
希望广大读者多提批评意见,以利本教材今后的改进。希望读者能喜欢此书!
(本书作者网址:www.1ifoxsoft.cec.edu.cn)