第一章 FoxPro2.5概述 1
1.1 FoxPro2.5 for DOS的特点 1
1.2 FoxPro2.5 for Windows的特点 2
第二章 FoxPro2.5的环境、安装和运行 5
2.1 系统运行的基本要求 5
2.1.1 FoxPro 2.5 for DOS的系统要求 5
2.1.2 FoxPro2.5 for Windows的系统要求 5
2.2 选择FoxPro2.5的中文环境 5
2.2.1 西文软件使用汉字的途径 5
2.2.2 选择FoxPro2.5的中文环境 6
2.3 FoxPro2.5的安装 9
2.3.1 FoxPro2.5 for Windows的安装 9
2.3.2 FoxPro2.5 for DOS的安装 9
2.4 FoxPro2.5系统的启动和使用 10
2.4.1 启动FoxPro 10
2.4.2 装载诊断工具"FOX.EXE和FOXR.EXE 11
2.4.3 FoxPro2.5系统菜单的使用 12
2.4.4 初次使用可能出现的问题 12
2.5 本章小结 13
第三章 数据库的规范化设计 14
3.1 逻辑数据库的设计 14
3.2 逻辑数据库设计的规范化理论 15
3.2.1 范式定义 15
3.2.2 范式的具体讨论 16
3.3 设计规范化的逻辑数据库 20
3.3.1 字段列表并分组构成原始表 21
3.3.2 原始表转换成1NF表 21
3.3.3 1NF表转换成2NF表 22
3.3.4 2NF表转换成3NF表 23
3.3.5 高阶范式的选择 24
3.3.6 制一个连接图表 25
3.4 创建物理数据库 25
3.4.1 创建数据库结构 25
3.4.2 有效的字段名 27
3.4.3 FoxPro2.5支持的数据类型 27
3.4.4 数据库的打开 28
3.5 本章小结 30
第四章 窗口结构及其编程 31
4.1 窗口的结构 31
4.2 窗口的定义 32
4.2.1 窗口定义 32
4.2.2 窗口定义的修改 35
4.3 窗口的使用 35
4.3.1 显示窗口 35
4.3.2 隐藏窗口 37
4.3.3 释放窗口 37
4.3.4 窗口的保存和恢复 37
4.3.5 窗口的变化 38
4.4 窗口函数 39
4.4.1 确定窗口间从属关系的函数 39
4.4.2 确定窗口活动性的函数 40
4.4.3 确定窗口属性的函数 42
4.4.4 确定窗口大小和位置的函数 46
4.5 用窗口进行特技画面设计 47
4.5.1 局部信息区域着色 47
4.5.2 局部信息区域的变长和移动技术 51
4.5.3 提出窗口信息关键词演示 54
4.5.4 信息窗口的动态组装 55
4.6 本章小结 60
第五章 备注字段和通用字段 61
5.1 FoxPro2.5的备注字段 61
5.1.1 备注字段的新特点 61
5.1.2 备注字段的应用实例 62
5.2 FoxPro2.5 for Windows的通用字段 70
5.2.1 通用字段 70
5.2.2 FoxPro2.5的DDE和OLE技术 70
5.2.3 在系统菜单界面使用OLE对象 73
5.2.4 在程序中使用OLE对象 77
5.2.5 通用字段的应用实例 79
5.3 本章小结 80
第六章 数据库浏览命令Browse的使用 81
6.1 数据库浏览命令Browse 81
6.1.1 Browse窗口的操作 81
6.1.2 Browse窗口中备注字段和通用字段的编辑 82
6.2 Browse命令的使用 82
6.2.1 Browse命令的使用格式 82
6.2.2 Browse窗口的编辑字段控制 83
6.2.3 建立计算字段 85
6.2.4 大型数据库的查询编辑 85
6.2.5 为Browse窗口设置一个标题 87
6.2.6 为Browse窗口指定背景窗口 88
6.2.7 Browse窗口的分裂和Change/Browse编辑方式 88
6.2.8 对Browse窗口中的制表线的控制 89
6.2.9 Browse窗口的刷新和影子的保留 89
6.2.10 编辑数据的控制 89
6.2.11 Browse窗口的时间控制 91
6.2.12 Browse窗口的色彩、字体和风格的控制 91
6.2.13 Browse窗口属性的保存和恢复 92
6.2.14 与Browse应用有关的函数 92
6.3 Browse的应用 92
6.3.1 Browse处理多库 92
6.3.2 Browse处理一对多关联 93
6.3.3 对Browse窗口的功能键的控制 93
6.3.4 用Browse建立单项工资录入程序 95
6.4 本章小结 97
第七章 全屏幕编辑命令的使用 98
7.1 全屏幕编辑命令 98
7.1.1 全屏幕编辑命令 98
7.1.2 WHEN和VALID子句的设计 101
7.2 GET命令的激活 107
7.2.1 READ命令 107
7.2.2 READ事件期间的记录上锁 108
7.2.3 GET对象的循环激活 108
7.2.4 由一个READ控制多个编辑窗口 108
7.2.5 READ窗口与非READ窗口的切换 109
7.2.6 READ窗口切换时的动作控制 109
7.2.7 当前READ事件GET对象定义的保存 110
7.2.8 Foundation READ和READ的嵌套应用 110
7.2.9 READ事件和子句的执行顺序 111
7.3 GET对象的重显 112
7.4 GET对象的拾取 116
7.5 通用数据库浏览程序 117
7.6 本章小结 132
第八章 控制钮的设计 134
8.1 按钮(Push) 135
8.2 无线按钮(Radio) 137
8.3 不可见按钮(Invisible) 138
8.4 复选框(Check) 140
8.5 弹出按钮(Popup) 141
8.6 滚动列表(List) 143
8.7 旋转器控制(spinner) 145
8.8 文本编辑区(Text Edit Regions) 146
8.9 屏幕生成器 148
8.9.1 屏幕生成器的使用 148
8.9.2 区域变量声明命令:REGIONAL 151
8.9.3 屏幕生成器指令 153
8.9.4 快速屏幕 154
8.10 本章小结 154
第九章 索引与Rushmore技术 156
9.1 索引类型和特点 156
9.1.1 索引类型 156
9.1.2 复合索引的特点 157
9.2 索引的操作 157
9.2.1 建立索引 157
9.2.2 使用索引 158
9.3 Rushmore技术 159
9.4 优化表达式 160
9.4.1 基本可优化表达式 160
9.4.2 复合的优化表达式 161
9.5 Rushmore技术的局限 161
9.6 本章小结 162
第十章 结构化查询和多库查询 163
10.1 RQBE和结构化查询 163
10.1.1 RQBE查询构造器及查询命令 163
10.1.2 指定要查询的条目 165
10.1.3 指定数据源 166
10.1.4 指定查询结果输出去向 166
10.1.5 记录选择和子查询 168
10.1.6 分组处理查询结果 169
10.1.7 查询结果的联合 169
10.1.8 指定查询结果的顺序 170
10.1.9 查询的执行和修改 170
10.1.10 FoxPro2.5的另外三条标准SQL命令 170
10.1.11 SQL与Rushmore 171
10.2 多库查询 171
10.2.1 用公共字段建立关联 171
10.2.2 处理相关表中一对多关联关系 172
10.2.3 一对多关联数据的浏览 173
10.3 本章小结 174
第十一章 文件的目录操作 175
11.1 FoxPro系统的路径设置 175
11.1.1 设置默认目录和公用路径 175
11.1.2 目录选择 176
11.2 两个目录文件间的相对路径 176
11.3 创建、选择和保存时的文件名设置 178
11.3.1 创建或打开文件时的文件名设置 178
11.3.2 选择文件时的文件名设置 179
11.3.3 以…保存文件时的文件名设置 180
11.4 拾取内存文件的文件名及其磁盘位置 181
11.5 对文件路径进行分解和合成 182
11.6 本章小结 186
第十二章 数组的应用 187
12.1 数组的定义、声明和初始化 187
12.1.1 数组的定义 187
12.1.2 全局数组、局部数组和区域数组的声明 189
12.1.3 数组元素下标和元素号的转换 190
12.1.4 数组的初始化 191
12.2 数组元素的操作 191
12.2.1 数组元素的插入、删除和查找 191
12.2.2 数组元素的拷贝 192
12.2.3 数组元素的排序 192
12.2.4 数组元素的其它操作 193
12.3 利用数组获得特殊数据 194
12.3.1 获取目录文件信息 194
12.3.2 获取数据库结构信息 200
12.3.3 获取当前有效字体信息 200
12.4 数组/数据库间数据的相互转换 200
12.5 数组作为参数传递给过程或函数 202
12.6 本章小结 203
第十三章 系统菜单及菜单系统的设计 204
13.1 用户菜单的基本类型 204
13.2 系统菜单结构及其编程接口 205
13.2.1 系统菜单结构 205
13.2.2 系统菜单的编程接口 206
13.3 利用数组建立菜单系统 207
13.3.1 利用数组建立弹出菜单 207
13.3.2 利用数组建立下拉菜单 209
13.4 高级组合菜单系统 212
13.4.1 高级组合菜单命令和函数 212
13.4.2 高级组合菜单的设计 215
13.5 系统菜单的动态调整 223
13.5.1 对系统菜单进行扩充 223
13.5.2 系统菜单的汉化 226
13.5.3 菜单系统的控制 231
13.6 通用菜单驱动器的设计 232
13.6.1 通用菜单驱动器的功能和特点介绍 232
13.6.2 通用菜单驱动器韵程序设计 232
13.7 本章小结 240
第十四章 色彩控制技术 241
14.1 有关色彩的基本知识 241
14.1.1 色彩(Color) 241
14.1.2 色彩对(Color Pair)和色彩对表(Color Pair List) 241
14.1.3 色彩模式(Color Scheme) 242
14.1.4 RGB色彩值 244
14.1.5 色彩集(Color Set)和色彩拾取器(Color Picker) 245
14.2 色彩操作的命令和函数 245
14.2.1 使用色彩的命令 245
14.2.2 色彩设计命令和函数 246
14.3 FoxPro for DOS的自动配色程序 247
14.4 本章小结 251
第十五章 键盘和鼠标控制 252
15.1 功能键的定义 252
15.2 键盘状态的控制 253
15.3 键盘事件陷井 254
15.3.1 键盘事件陷井的设置 254
15.3.2 键盘事件陷井的善后命令的获取 259
15.4 键盘缓存区的使用 259
15.4.1 预置键盘缓冲区 259
15.4.2 键盘缓存区按键的检测和拾取 260
15.4.3 编辑事件退出时的按键检测和拾取 264
15.4.4 检测键盘缓存区是否为空 266
15.5 鼠标动作的时间调整 267
15.6 宏定义键 269
15.6.1 有关宏键操作的几条命令 270
15.6.2 程序中使用宏键实例 271
15.7 本章小结 273
第十六章 报表打印和打印机控制技术 274
16.1 报表的程序生成 274
16.2 文本合并输出命令 276
16.3 报表生成器 278
16.3.1 打开报表定义窗口 278
16.3.2 报表定义窗口的分区和大小 280
16.3.3 定义报表对象 281
16.3.4 报表定义的控制键 281
16.3.5 调整区的空间大小 282
16.3.6 对象特性的修改 282
16.3.7 报表分组 282
16.3.8 报表标題和总结 283
16.3.9 报表变量 283
16.3.10 快速报表 283
16.3.11 报表定义的保存 284
16.3.12 报表预视和远行 284
16.4 标签设计 285
16.4.1 标签定义窗口的打开 285
16.4.2 标签布局格式 287
16.4.3 定义标签对象 287
16.4.4 标签的预视和运行 287
16.5 打印机设置与驱动器 287
16.5.1 FoxPro for DOS的打印机支持系统 287
16.5.2 打印系统支持流程 294
16.6 本章小结 295
第十七章 帮助设计和错误捕获处理 296
17.1 联机帮助(HELP)手册 296
17.1.1 系统本身的联机帮助手册 296
17.1.2 帮助主题过滤器 299
17.1.3 应用软件的简易联机帮助手册设计 301
17.2 应用软件中实时帮助信息的设计 301
17.3 上下文相关联机帮助的设计 302
17.3.1 SET TOPIC TO<字符表达式>命令方式 302
17.3.2 SET TOPIC TO<逻辑表达式>命令方式 303
17.3.3 在多个帮助主题间建立关联 304
17.3.4 非标准HELP窗口的帮助方式 305
17.4 为系统帮助提供一个帮助树 306
17.5 错误的捕获和处理 318
17.6 错误信息的汉化 322
17.7 本章小结 324
第十八章 表达式和数值计算 325
18.1 表达式及表达式构造器 325
18.1.1 表达式 325
18.1.2 名字表达式 326
18.1.3 表达式构造器 327
18.2 系统的数值计算 330
18.2.1 数值计算的函数和命令 330
18.2.2 计算命令CALCULATE 331
18.2.3 财政计算 333
18.3 本章小结 334
第十九章 应用环境保护技术 335
19.1 应用程序环境 335
19.2 内存变量的保护 336
19.3 工作区状态和SET参数的保护 336
19.3.1 单一工作区状态和SET参数的保护和恢复 336
19.3.2 整个工作区状态的保存和恢复 339
19.4 热键和宏定义键的保护 340
19.4.1 当前ON KEY LABEL命令的设置的保存和恢复 340
19.4.2 宏定义键的保存和恢复 341
19.5 窗口和菜单的保护 341
19.5.1 窗口的保存和恢复 341
19.5.2 菜单定义的保存和恢复 341
19.6 本章小结 343
第二十章 低级文件操作 344
20.1 文件的创建、打开和关闭 344
20.1.1 创建文件 344
20.1.2 打开文件 345
20.1.3 关闭文件 346
20.2 文件指针的定位 347
20.3 低级文件操作的检测函数 348
20.3.1 确定文件是否结束 348
20.3.2 查询低级文件操作的错误 348
20.3.3 一组可用于数据库文件低级文件操作的函数 348
20.4 文件的输入输出 349
20.4.1 文件读 349
20.4.2 文件写 350
20.5 文件内容的刷新 351
20.6 改变文件长度 352
20.7 在FoxPro环境阅读WPS文书文件 352
20.8 本章小结 354
第二十一章 程序的调试和运行 355
21.1 程序的调试 355
21.1.1 软件调试的原则 356
21.1.2 软件调试的步骤 356
21.1.3 软件调试的用例设计 357
21.2 使用调试工具进行调试 359
21.2.1 调试命令 359
21.2.2 跟踪调试窗口 360
21.3 在程序中调试FoxPro程序 363
21.4 程序的运行 364
21.4.1 程序的运行方式 364
21.4.2 源程序编译器:COMPILE 365
21.4.3 编译预处理器 366
21.5 本章小结 368
第二十二章 应用程序生成器和软件项目管理 369
22.1 应用程序生成器 369
22.2 使用FOXAPP生成应用程序的步骤 369
22.2.1 选择一个数据库 371
22.2.2 选择一个屏幕 371
22.2.3 生成一个应用 372
22.3 生成的应用程序菜单系统 372
22.3.1 System(Help)菜单基 372
22.3.2 Edit菜单基 372
22.3.3 Application菜单基 373
22.3.4 Utilities菜单基 373
22.3.5 Browse菜单基 374
22.4 软件项目管理 374
22.5 项目管理器的使用 374
22.6 确保项目的更新 376
22.7 解决项目中的未知引用问题 377
22.8 EXTERNAL命令的使用 377
22.9 在项目中包含/排除文件 378
22.10 项目编译和运行中可能的问题 378
22.11 本章小结 379
第二十三章 系统的性能优化 381
23.1 系统运行环境的优化 381
23.1.1 提高磁盘存取效率 381
23.1.2 减少FoxPro的启动时间 382
23.1.3 有效利用系统内存 383
23.1.4 优化配置CONFIG.SYS 383
23.1.5 数学协处理器的使用 384
23.2 FoxPro2.5应用程序的优化 384
23.2.1 充分利用Rushmore技术 384
23.2.2 避免内存占用 384
23.2.3 打开和关闭文件 384
23.2.4 设置TALK和DOHISTORY项为OFF 384
23.2.5 使用名字表达式代替宏代换(&)命令 385
23.2.6 将多个文件组合成项目文件 385
23.2.7 执行SQLSELECT命令的优化 385
23.2.8 其它优化编程性能 385
23.3 本章小结 386
附录一 FoxPro2.5系统性能指标—览表 387
附录二 FoxPro2.5的文件扩展名及其意义—览表 389
附录三 FoxPro2.5 的系统菜单接口 391
附录四 系统内存变量—览表 399
附录五 FoxPro2.5错误信息—览表 401