目录 1
绪论 1
第六部分 强有力的FoxPro 2. 5
第一章 FoxPro基础知识 9
第一部分 FoxPro 2.0概述 9
1.1 准备工作 9
1.2 系统使用概述 10
1.3 运行示例程序ORGANIZE 13
1.4 建立和运行应用程序 19
1.5 其它FoxPro应用程序示例 28
1.6 终止和退出FoxPro系统 28
1.7 本章小结 28
第二章 FoxPro 2.0系统界面 29
2.1 熟悉FoxPro屏幕 29
2.2.1 怎样使用菜单系统 31
2.2 FoxPro菜单系统 31
2.2.2 选取菜单选择项 32
2.2.3 使用FoxPro 2.0菜单选择项进行工作 34
2.3 FoxPro 2.0窗口 40
2.3.1 窗口的组成 40
2.3.2 窗口控制 41
2.3.3 窗口的各种类型 44
2.3.4 其它窗口选择项 45
2.3.5 正确使用FoxPro窗口 46
2.4 FoxPro对话框 47
2.4.1 对话框的组成 48
2.4.2 正确使用对话框 50
2.5 编辑正文和鼠标器操作 51
2.5.1 建立、打开和保存文件 51
2.5.2 编辑正文 53
2.5.3 查找正文 55
2.5.4 查找和输入特殊字符 56
2.5.5 编辑器设置和Preferences(编辑器设置)对话框 57
2.6 输入命令指令 59
2.6.1 使用Command窗口 59
2.6.3 理解和响应错误信息 60
2.6.2 输入、重复执行和编辑命令 60
2.7 使用FoxPro 2.0帮助系统 61
2.8 本章小结 63
第三章 探索数据库和表 65
3.1 什么是数据库以及它的任务是什么 65
3.2 表在数据库中的作用 66
3.3 设计表结构和定义数据类型 66
3.4 FoxPro数据类型 67
3.5 使用View(查阅)窗口建立一个表 69
3.6 使用视图文件(View file)保存工作环境 73
7.8 增强Rushmore的性能 1 75
3.7 使用Browse浏览和输入数据 75
3.8 对文件执行Pack操作 79
3.9 快速输出结果 80
3.9.1 快速输出结果至屏幕 80
3.9.2 快速输出结果至打印机 81
3.9.3 快速输出结果至文件 84
3.10 重新整理和筛选表中记录 84
3.10.1 使用范围子句筛选记录 85
3.10.2 使用FOR,WHILE子句和SET FILTER TO命令筛选记录 85
3.10.3 条件 86
3.11 本章小结 87
第四章 数据库管理基础知识 88
4.1 构造数据库 88
4.1.1 输出综述 89
4.1.2 在表中组织信息 90
4.1.3 多个表的联接和相互作用 92
4.1.4 在记录中组织信息 93
4.2.1 正确使用索引 94
4.2 使用索引 94
4.2.2 选取索引 95
4.2.3 设置索引顺序 96
4.2.4 理解索引表达式 96
4.3 联接数据库中的多个表 101
4.3.1 使用SET RELATION(设置关系) 101
4.3.2 使用SET SKIP处理一对多关系 104
4.3.3 保持关系的完整性 106
4.4.1 项目的作用范围 107
4.4 设置数据库管理系统 107
4.4.2 设计系统 108
4.4.3 编写应用程序并且为应用程序提供文档 109
4.4.4 实现系统 109
4.4.5 管理整个项目 110
4.4.6 提高数据可用性 110
4.5 本章小结 112
第二部分 使用FoxPro 2.0数据库 117
第五章 查询入门——使用RQBE 117
5.1 查询的主要组成部分和查询的缺省值 118
5.2 使用RQBE 120
5.2.1 选择字段名 120
5.2.2 增加表 123
5.2.3 对输出记录排序 125
5.2.4 对数据进行统计 127
5.2.5 对数据进行过滤 129
5.2.6 对用户查询输出进行定向 131
5.3 本章小结 134
第六章 使用高级查询技术查询用户数据 136
6.1.1 使用AND及OR进行查询 136
6.1 建立复杂的过滤条件 136
6.1.2 区分AND、OR和NOT 141
6.2 使用Having对话框过滤组 143
6.3 联接两个以上的表 145
6.4 使用RQBE建立一对多关系 148
6.5 用交叉表输出用户数据 150
6.6 在RQBE中使用用户自定义函数 151
6.7 用程序执行查询 152
6.8 RQBE的其它用法 152
6.8.3 使用查询得到各部分数据字段的统计情况 153
6.8.4 同时查看多个查询结果 153
6.8.5 保持用户记录的顺序 153
6.8.6 加快用户查询速度 153
6.8.2 在过滤条件中使用变量名 153
6.8.1 建立查询模块(Skeletons) 153
6.8.7 保持RQBE表始终打开 154
6.8.9 运行RQBE后的文件清理工作 154
6.8.8 清理文件 154
6.8.10 一步步执行查询 155
6.8.11 保持表达式一致 155
6.9 本章小结 155
第七章 使用SQL查询和快速查询技术 156
7.1 SQL查询 156
7.2 从理论到实践 161
7.3 使用SQL SELECT超越RQBE 163
7.4 对输出结果的处理 166
7.5 提高SQL SELECT性能 168
7.5.5 优化索引和顺序 169
7.6 使用快速查询(Rushmore)技术进行查询 169
7.5.1 建立SELECT能使用的索引 169
7.5.4 控制HAVING和WHERE子句 169
7.5.3 仅在必要时才包含UDF(用户自定义函数) 169
7.5.2 尽量避免嵌套SELECT 169
7.7 使用优化表达式工作 172
7.7.1 建立完全优化表达式 173
7.7.2 识别非优化表达式 173
7.7.3 把完全优化表达式和非优化表达式联结起来 175
7.9 不用Rushmore进行工作 178
7.10 本章小结 179
第八章 使用BROWSE命令 180
8.1 打开和关闭Browse窗口 180
8.2 设计Browse窗口的外观 181
8.2.1 改变尺寸和重新安排各字段 181
8.2.3 分割Browse窗口 182
8.2.2 使用change选项查看整个记录 182
8.3 在Preference中保存一个Browse窗口外观 184
8.4 在Browse中创建记录子集 186
8.5 用FIEIDS进行控制 187
8.5.1 :P(Picture选项)的用法 188
8.5.2 :H(列标题选项)的用法 190
8.5.5 <n>(列宽度选项)的用法 191
8.5.6 :V(合法检查选项)的用法 191
8.5.7 :W(When选项)的用法 193
8.5.8 计算(Calculated)字段的用法 193
8.6.1 设置关系(SET RELATION)的用法 195
8.6 使用 BROWSE查阅相连的表 195
8.6.2 SET SKIP的用法 198
8.5.4 :R(写保护选项) 199
8.5.3 :B(边界选项)的用法 199
8.7 探究其它的BROWSE选项 200
8.7.1 BROWSE FORMAT的用法 200
8.7.2 BROWSE LOCK的用法 201
8.7.3 BROWSE TITLE的用法 201
8.7.4 BROWSE WIDTH的用法 202
8.7.5 BROWSE或BROWSE COLOR SCHEME的用法 204
8.8 本章小结 205
第九章 建立报表和标签 206
9.1 设计快速报表 206
9.2 检查报表设计屏幕 209
9.2.1 对报表设计窗口进行简单的调整 210
9.2.2 对报表进行全局改动 215
9.3 深入地了解报表和标签文件 217
9.4 设计基本标签 218
9.4.1 放置用户的标签表达式 220
9.4.2 输出标签和报表 220
9.5 本章小结 222
第十章 使用报表生成器(Report Writer)和标签生成器(Label Designer) 223
10.1 在报表或标签中使用相连的表 223
10.2 在报表中使用一对多关系 225
10.3 增加复杂的报表和标签表达式 226
10.3.1 在Report Writer中设计表达式的格式 227
10.3.2 在Label Designer和Report Writer中使用Expression Builder 228
10.3.3 使用用户定义函数 234
10.4 在报表和标签中压缩空白行 236
10.5 给报表增加Groups和Totalling 237
10.6 理解报表变量 240
10.7 报表变量的扩展使用 241
10.8 重叠表达式 245
10.9 本章小结 246
第三部分 建立FoxPro 2.0应用程序 249
第十一章 整理FoxPro 2.0应用程序 249
11.1 FoxPro 2.0与界面设计 249
11.2 界面设计的进一步要求 250
11.2.1 提供舒适的(comfortable)选项 250
11.2.2 清晰地(clearly)表达信息 251
11.2.3 使用一致的(consistent)界面 252
11.2.4 追求舒适、清晰和一致的界面 253
11.3 FoxPro 2.0设计工具 253
11.4 本章小结 257
第十二章 建立应用程序基础 258
12.1 使用屏幕生成器设计屏幕 259
12.1.1 使用Field Expression(字段表达式)对话框 261
12.1.2 对GET进行数据合法性检验 261
12.2 生成和运行屏幕程序 266
12.3 熟练掌握屏幕生成器的用法 272
12.4 本章小结 285
第十三章 使用复杂屏幕设置控制数据输入 287
13.1 了解系统生成的屏幕程序 287
13.2 提高屏幕设计技巧 290
13.2.1 设计数据输入窗口 291
13.2.2 概括描述Layout Screen 292
13.2.3 使用任选框 293
13.2.4 使GET合法化和使GET互相关联 294
13.2.5 增加查询操作和编辑操作 298
13.2.6 使用按钮来控制表 302
13.2.7 在屏幕上给对象排序 307
13.3 将对象并入完美的屏幕设置中 308
13.3.1 建立屏幕 308
13.3.2 在屏幕设置中使用Browse 311
13.3.3 增加更多的READ级子句和集成BROWSE 312
13.3.4 使用屏幕设置 316
13.4 更深入地了解FoxPro 2.0的READ命令 317
13.5 本章小结 320
14.1 建立用户菜单 321
第十四章 组织和装配用户应用程序 321
14.1.1 设计菜单选项 322
14.1.2 菜单生成器选项 325
14.1.3 使修改过的菜单可用 342
14.2 使用项目管理器将文件组织在一起 343
14.2.1 项目选项和交互式环境 347
14.2.2 与不同类型应用程序相对应的项目结构 351
14.2.3 使用Distribution Kit装配选项 354
14.2.4 创建用户应用程序的示范编辑 357
14.3 本章小结 358
第十五章 其它FoxPro 2.0高级性能 359
15.1 Resource File(资源文件) 360
15.1.1 管理用户的Resource File(资源文件) 364
15.2 文件管理器Filer 368
15.1.2 创建特定应用程序的Resource文件 368
15.3 FoxPro颜色控制 373
15.3.1 了解颜色对界面的影响 373
15.3.2 学习有关的颜色分配知识 374
15.3.3 编辑、保存和重新恢复颜色设置 375
15.4 宏 384
15.5 办公室辅助应用程序 390
15.6 打印机驱动程序 396
15.6.1 声明打印机设备驱动程序 397
15.6.2 有效地使用打印机设备驱动程序 400
15.6.3 创建打印机输出记录 404
15.7 外部函数库和应用程序接口 406
15.7.1 定义应用程序接口 406
15.7.2 使用外部函数库例程 406
15.7.3 使用二进制例程 411
15.8 本章小结 412
16.1 了解一个程序做些什么 415
16.1.1 将用户输入的命令移入程序 415
第十六章 掌握程序结构 415
第四部分 FoxPro程序设计:设计工具的高级用法和其它 415
16.1.2 检查程序的结构和风格 416
16.1.3 使用伪代码弄清用户的设计方法 417
16.2 组织程序的任务 419
16.2.1 存贮、设置并恢复环境 420
16.2.2 选择工作区并打开表 421
16.2.3 使用菜单提供选择 423
16.3 提高编程技术 423
16.3.1 理解并使用存贮变量 424
16.3.2 使用命令进行条件判断 425
16.3.3 使用子程序管理任务 436
16.4 本章小结 439
17.1 使用公共变量和私有变量 440
第十七章 FoxPro高级程序设计技巧 440
17.2 使用区域变量 442
17.3 使用子程序描述程序的步骤 442
17.4 通过抽象建立易读的程序 446
17.4.1 避免在程序中使用硬编码值 446
17.4.2 参照屏幕的相对位置 447
17.4.3 使用LEN()和FSIZE()来确定一个字段的长度 449
17.4.4 用SELECT()和SELECT 0选择下一个有效的工作区 450
17.5 使用宏替换、间接指针和EVALUATE()函数 451
17.6 其它一些高级技术 453
17.6.1 使用INKEY()函数和ON KEY LABEL来捕获击键 453
17.6.2 使用数据压缩技术 460
17.7 用FoxPro的正文合并特性建立模板 469
17.8 在编写程序时对程序进行说明 470
17.9 本章小结 470
第十八章 提高应用程序适用能力 472
18.1 增加FoxPro 2.0形式的Help系统 472
18.1.1 建立并组织帮助文件 472
18.1.2 使帮助文件可以进入 477
18.1.3 为最终用户提供对Help系统的控制 479
18.2 发现并处理程序错误 482
18.2.1 使用Debug窗口 484
18.2.2 使用Trace窗口 485
18.2.3 在应用程序中捕获错误 487
18.3 用FoxDoc生成应用程序文档 492
18.3.1 FoxDoc系统屏幕 493
18.3.2 FoxDoc配置选项 494
18.3.3 用SNIPFMT.APP格式化小段代码 497
18.4 本章小结 497
19.1 处理单一数据元素 501
19.1.1 处理字符串和备注型字段 501
第十九章 使用命令函数处理数据 501
第五部分 FoxPro 2.0命令和函数概述 501
19.1.2 处理数值型数据 509
19.1.3 处理日期型数据 512
19.2 使用TYPE()和EMPTY()函数检测变量 515
19.3 处理记录 517
19.3.1 移到指定记录和查询记录 517
19.3.2 建立记录子集 520
19.4 使用FoxPro 2.0的SQL命令 521
19.5 本章小结 523
20.1.1 定义数组 524
20.1 使用数组 524
第二十章 数组和低级文件函数 524
20.1.2 使用数组元素 529
20.1.3 处理数组 532
20.1.4 在数组和表之间进行数据拷贝 534
20.1.5 传递数组至过程和用户自定义函数 536
20.1.6 数组的一些使用限制 537
20.2 低级文件函数 537
20.3 本章小结 549
第二十一章 FoxPro 2.5新增功能和技巧 553
21.1 在各种FoxPro间移植程序 553
21.1.1 移植应用程序到FoxPro 2.5 554
21.1.2 评估跨平台策略 556
21.2.1 SQL命令 569
21.2 用SQL进行查询和用Rushmore进行检索 569
21.2.2 结果移位 577
21.2.3 纠正一些普通SQL错误 577
21.2.4 关于使用Rushmore进行工作的一些补充说明 579
21.3 控制窗口环境 580
21.3.1 窗口命令 580
21.3.2 通过命令管理窗口 584
21.3.3 获得对窗口对象的控制 589
21.4 小结 598
A.1 安装基本文件 599
附录A 安装FoxPro 2.0 599
A.2 安装附加文件 601
A.3 安装编译程序Distribution Kit 603
附录B 在网络中使用FoxPro 2.0 604
B.1 处理文件和记录的内容 604
B.2 根据网络队列进行打印 607
B.3 使用ADDUSER给每个最终用户提供配置文件和资源文件 608
B.4 把用于单用户的应用程序转化为可供多用户使用的应用程序 609
B.4.1 提供记录和文件锁 609
B.4.2 使用SYS(3)保存单个临时文件名 610
B.5 网络性能和其它问题 611
B.4.3 在多用户环境中维护应用程序 611
C.1 关于优化的知识 613
附录C 最优化FoxPro 2.0系统性能 613
C.2 人的因素 614
C.3 关于硬件的复杂问题 614
C.4 RAM磁盘,磁盘缓冲器和DOS 615
C.5 有关FoxPro 2.0性能的一些注意事项 616
C.6 优化FoxPro的工具 616
附录D 使用CONFIG.FP文件调整FoxPro 2.0系统配置 618
D.1 CONFIG.FP文件中的环境设置语句 618
D.2 指定一个CONFIG.FP文件 621
E.1 指定要加载的FoxPro版本 622
附录E 使用命令行参数和FoxPro 2.0加载程序 622
E.2 使用命令附加行参数 623
E.3 在启动时指定运行程序或应用程序 623
附录F FoxPro 2.0使用的键码值、键名和功能键 625
附录G FoxPro 2.0安装盘文件和文件扩展名含义 639
G.1 FoxPro系统主程序目录 639
G.2 示例文件目录 640
G.3 \GOODIES目录 640
附录H 获得帮助 644
附录I 数据库结构和应用程序示例 646