目录 1
第1章 运行使用VFP的第一个程序 1
1.1 程序设计 1
1.1.1 程序设计的概念和步骤 1
1.1.2 面向对象的程序设计 2
1.2 Visual FoxPro程序语言 3
1.2.1 什么叫数据库 3
1.2.2 VFP是数据库管理和程序设计的实用语言 6
1.2.3 建立程序 9
1.2.4 运行程序 10
1.2.5 修改程序及调试 11
1.3 VFP的窗口、菜单及其他 13
1.3.1 启动Visual FoxPro 13
1.3.2 窗口和菜单操作 14
1.3.3 退出Visual FoxPro 15
1.4 实验一 16
1.5 习题 16
第2章 VFP的数据 18
2.1 常量 18
2.2 变量 19
2.2.1 字段变量 19
2.2.2 内存变量 21
2.2.3 数组变量 28
2.2.4 变量的级 29
2.3 表达式 30
2.3.1 运算符 31
2.3.2 表达式的分类 34
2.4 系统设置命令与选项(OPTION)对话框 35
2.5 运行环境配制文件 41
2.6 优化Visual FoxPro 42
2.7 实验二 43
2.8 习题 43
第3章 VFP的类与对象 45
3.1 VFP中的对象(Object) 45
3.1.1 对象具有的属性(Properties) 45
3.1.2 对象具有事件(Events)和方法(Methods) 45
3.2 VFP中的类(Classes) 46
3.3 VFP类的层次 47
3.3.1 VFP的基类和层次 47
3.3.2 容器(Container)类和控件(Control)类 47
3.4 对象的处理 49
3.4.1 在容器层次中引用对象 50
3.4.2 设置属性 51
3.4.3 调用方法 51
3.4.4 响应事件 52
3.5 编程定义类 54
3.6 习题 63
第4章 VFP的自由表(Free Table) 64
4.1 创建和修改表文件结构 64
4.1.1 表的结构 64
4.1.2 建立表结构命令(CREATE) 67
4.1.3 修改表结构 70
4.2 输入表数据 71
4.2.1 在CREATE命令期间输入数据 71
4.2.2 表添加命令(APPEND) 72
4.2.3 在表中插入记录命令(INSERT) 75
4.2.4 用BROWSE命令追加数据记录 76
4.3 打开、关闭、显示和定位表 77
4.3.1 打开和关闭表文件命令(USE) 77
4.3.2 表的显示和列表 77
4.3.3 记录的定位 81
4.4 修改和删除记录数据 82
4.4.1 修改表数据 82
4.4.2 删除表记录 87
4.4.3 删除表文件 89
4.5 排序、索引和查寻表 89
4.5.1 什么是排序与索引 89
4.5.2 表的排序 89
4.5.3 表的索引 91
4.5.4 表的查询 97
4.5.5 Rushmore优化技术 100
4.6 计算、汇总表 102
4.6.1 表的计算命令 102
4.6.2 表的汇总命令 104
4.7 关联、连接和更新表 105
4.7.1 关联 108
4.7.2 数据工作窗口与.VUE视图文件 111
4.7.3 不同工作区中表的连接 112
4.7.4 更新 113
4.8 其他有关命令操作 114
4.8.1 RUN命令(!)和运行二进制文件 114
4.8.2 关闭命令 116
4.8.3 复制表文件 116
4.8.4 数据结合文件 118
4.8.5 文件操作命令 118
4.9 结构化查询语言(SQL) 119
4.9.1 数据库标准语言SQL概述 119
4.9.2 Select查询 121
4.9.3 用SQL定义、修改、删除表 125
4.9.4 数据操纵语言(Insert、Delete、Update) 125
4.11 习题 126
4.10 实验三 126
第5章 表单(Form)应用及其编程技术 131
5.1 表单和表单设计及VFP8.0的工具箱(ToolBox) 131
5.1.1 表单的类型 131
5.1.2 创建新的表单 134
5.1.3 添加和操作表单对象 137
5.1.4 存储和运行表单 142
5.1.5 VFP8.0的工具箱 143
5.2 表单对象的应用实例——大学生通用习题测试系统 145
5.2.1 系统的表单流程图 145
5.2.2 系统的实现及表单对象的应用 145
5.3 设置表单或表单集模板(Template) 155
5.4 实验四 156
5.5 习题 157
6.1 数值和数学函数 158
第6章 函数 158
6.2 三角函数 160
6.3 字符串操作函数 161
6.4 表(.DBF)操作函数 168
6.5 日期、时间函数及对2000年日期的支持 173
6.5.1 日期、时间函数 173
6.5.2 对2000年日期的支持 176
6.6 显示、打印位置函数 177
6.7 系统函数 181
6.8 其他函数 185
6.9 实验五 186
6.10 习题 186
第7章 输入、选择、循环及子程序设计 188
7.1 程序的交互式命令 188
7.1.1 人机交互式输入语句(ACCEPT、INPUT、WAIT) 188
7.1.2 程序设计的辅助命令(CANCEL、NOTE/*) 190
7.2.1 结构化N-S流程图 191
7.2 结构化程序设计 191
7.2.2 顺序结构程序设计 192
7.2.3 分支结构程序设计 193
7.2.4 循环结构程序设计 196
7.3 子程序与过程文件及用户自定义函数 200
7.3.1 子程序与过程的调用 200
7.3.2 过程文件的建立 202
7.3.3 用户自定义函数(函数过程) 205
7.4 报表程序设计与报表设计器(Report Designer) 206
7.4.1 创建报表布局 206
7.4.2 报表设计器应用实例——一对多报表设计 209
7.5 菜单程序设计与菜单设计器(Menu Designer) 217
7.5.1 创建菜单、菜单项和子菜单 218
7.5.2 为菜单系统指定任务 219
7.5.4 定制菜单系统 222
7.5.3 测试与调试菜单系统 222
7.6 实验六 223
7.7 实验七 224
7.8 习题 224
第8章 数据库(Database) 229
8.1 数据库的意义 229
8.1.1 表(Table)和数据库(Database) 229
8.1.3 数据库的使用范围 230
8.1.2 数据库的优缺点 230
8.2 建立数据库(.DBC)文件 231
8.2.1 打开、关闭和删除数据库 231
8.2.2 在数据库中创建新表 232
8.2.3 添加一个表到数据库 233
8.2.4 使用数据库中的表和视图 233
9.2 文档管理信息系统 233
8.2.5 对一个项目(Project)添加或移去数据库 234
8.2.6 查看和修改数据库结构 234
8.3 数据字典(Data Dictionary) 236
8.3.1 字段级和表级数据字典特性 236
8.3.2 建立存储过程(Stored Procedures) 246
8.3.3 建立永久性(Persistent)关系 246
8.3.4 生成参照完整性(RI) 248
8.3.5 查看和设置数据库属性 249
8.4 实验八 249
8.5 习题 250
第9章 设计应用程序实例——文档管理信息系统程序设计 252
9.1 设计应用程序的方法 252
9.3 习题 269
第10章 SQL视图、VFP8.0的CursorAdapter和客户/服务器编程 270
10.1 客户/服务器(Client/Server)结构 270
10.2 创建和使用视图(SQL View) 272
10.2.1 创建本地视图(Local View) 273
10.2.2 创建多表视图 274
10.2.3 定义一个连接(Connection) 275
10.2.4 创建远程视图(Remote View) 277
10.2.5 更名或删除视图 277
10.2.6 使用视图 278
10.3 更新视图的数据 280
10.4 集成视图(Combining View) 282
10.5 使用视图和SQL传递进行C/S模式编程 283
10.5.1 使用视图进行C/S模式编程 283
10.5.2 升迁及升迁向导(Upsizing Wizard) 284
10.5.3 使用SQL传递(SQL Pass-through)进行C/S模式编程 285
10.6 VFP8.0的CursorAdapter与C/S模式编程 286
10.6.1 VFP8.0的CursorAdapter概述 286
10.6.2 CursorAdapter的属性、事件、方法及工作 287
10.6.3 使用Native的CursorAdapter 291
10.6.5 使用ADO的CursorAdapter 293
10.6.4 使用ODBC的CursorAdapter 293
10.6.6 使用XML的CursorAdapter 295
10.7 实验九 299
10.8 实验十 299
10.9 习题 300
第11章 并发共享访问编程技术 301
11.1 多用户环境及多用户操作函数、命令 301
11.2 使用数据工作期 305
11.2.1 使用私有数据工作期 305
11.2.2 识别数据工作期 305
11.2.3 使用多个表单实例更新数据 306
11.3 用缓冲(Buffering)访问共享数据 306
11.3.1 缓冲编辑结果 306
11.3.2 执行更新 308
11.3.3 检测并解决冲突 309
11.4 用事务处理(Transactions)管理更新数据 311
11.5 Internet与VFP的ActiveDocument 314
11.5.1 用VFP在Internet上工作 314
11.5.2 VFP的ActiveDocument 316
11.6 习题 318
第12章 同其他软件交换数据 319
12.1 用APPEND和COPY命令与其他文件共享数据 319
12.1.1 VFP和其他字处理软件(Word)之间交换数据 321
12.1.2 注意VFP与其他xBASE之间的兼容性 322
12.2 对象链接和嵌入OLE及ActiveX控件 323
12.2.1 剪贴板 323
12.2.2 对象链接和嵌入(OLE) 324
12.2.3 OLE在VFP中的应用 326
12.2.4 使用OLE自动化技术控制其他软件 328
12.2.5 VFP的ActiveX 331
12.3.2 运行时刻的OLE拖放 334
12.3.1 设计时刻的OLE拖放 334
12.3 OLE拖放 334
12.4 实验十一 335
12.5 习题 335
第13章 项目管理器及应用程序的分发技术 336
13.1 项目管理器与应用程序(Application) 336
13.1.1 项目管理器(Project Manager) 336
13.1.2 构成一个应用程序(Application) 339
13.1.3 添加文件到一个项目(Project) 341
13.1.4 从一个项目(.PJX)生成应用程序(.APP)文件 341
13.2 建造分发(Distribution)应用程序 342
13.2.1 分发工作步骤 342
13.2.2 生成.EXE可执行文件 342
13.4 实验十二 343
13.3.2 使用安装向导 343
13.3.1 分发树(Distribution Tree) 343
13.3 制作分发磁盘 343
13.5 习题 344
第14章 VFP的Web Services 345
14.1 VFP的Web Services简介 345
14.2 VFP使用Web Services的准备工作 345
14.2.1 创建虚拟目录 345
14.2.2 创建项目(Project) 346
14.2.3 创建COM Server 346
14.3 创建和发布Web Services 348
14.4 登记Web Services 348
14.5 在VFP中使用Web Services 349
14.6 习题 350
附录A 《Visual FoxPro面向对象程序设计》教学大纲 351
附录B FoxPro的历史地位、VFP8.0版本和展望 353
参考文献 358