第一篇 运行FoxPro 1
第一章 FoxPro平台 1
1.1 FoxPro 2.5系列产品 1
1.1.1 FoxPro的编译器——Distribution Kits 1
目录 1
1.1.2 FoxPro库建立工具 2
1.2 2.0以上版本的新特点 2
1.2.1 交叉平台与向下兼容性 4
1.3 FoxPro的硬件平台 6
2.1.1 打开文件个数参数FILES 8
第二章 FoxPro 2.5/DOS的软硬件配置 8
2.1 系统配置文件CONFIG.SYS 8
2.1.2 缓冲器参数BUFFERS 9
2.2 局域网与文件柄 10
2.2.1 Novell 286和Novell 386局域网 10
2.2.2 Novell NetWare Lite和Novell Els 11
2.2.3 基于DOS的局域网 11
2.2.4 DOS SHARE 11
2.2.5 快速打开文件的工具FASTOPEN 12
2.2.7 DOS 5.0 13
2.2.6 DOS 4.x 13
2.3 磁盘高速缓冲器 14
2.3.1 磁盘高速缓冲器软件SMARTDRV 15
2.3.2 磁盘高速缓冲器软件Super PC-KWIK 15
2.4 扩充内存管理器 15
2.5 一些术语 17
2.5.1 实址方式与保护方式 17
2.5.2 Wirtual-86方式(虚拟-86方式) 18
2.5.3 常规DOS内存 18
2.5.4 实际内存 18
2.5.8 扩充内存,EMS内存和EEMS内存 19
2.5.9 HIMEM.SYS驱动程序 19
2.5.5 高位内存块或高位内存 19
2.5.7 扩展内存和XMS 19
2.5.6 高位内存区 19
2.5.10 EMM386.EXE驱动程序 20
2.5.11 EMM386.SYS驱动程序 22
2.5.12 Quarterdeck公司的QRAM软件 22
2.5.13 Quarterdeck公司的QEMM386软件 22
2.5.14 Qualitas公司的386MAX和BlueMax 25
2.6.2 AT档次计算机 26
2.6 硬件平台的内存管理 26
2.6.1 XT档次计算机 26
2.6.3 386和486档次计算机 27
2.7 Quarterdeck公司的DESQview软件 27
2.7.1 FoxPro2.5/DOS和MS-Windows 28
2.8 Novell局域网配置 30
2.9 OS/2局域网服务器配置 31
2.10 InvisibleNET局域网的配置 32
2.11 LANtastic网络 32
第三章 FoxPro的配置 33
3.1.2 开关“-c” 34
3.2 FoxPro装载器 34
3.1 FoxPro命令行开关 34
3.1.1 取消FoxPro的启动信息 34
3.3 没有写入说明书的设置 36
3.4 配置文件CONFIG.FP 38
3.4.1 只能通过CONFIG.FP文件来指定的配置 38
第四章 FoxPro资源文件 44
4.1 什么是资源文件 44
4.2 FoxPro资源文件中储存的是什么 44
4.3.2 ID字段 45
4.3 资源文件结构 45
4.3.1 TYPE字段 45
4.3.3 Name字段 46
4.3.4 READONLY字段 46
4.3.5 CKVAL字段 46
4.3.6 DATA字段 47
4.3.7 Update字段 47
4.4 FoxPro怎样找到资源文件 47
4.5 什么时候和怎样使用资源文件 47
4.7 资源文件开关 48
4.6 通过用户界面来控制资源信息 48
4.8 资源文件和应用程序 49
4.9 资源文件的维护 50
4.10 多用户环境下的资源文件 50
4.11 在程序控制下增加日志记录 51
第二篇 应用程序的建立 53
第五章 应用程序设计过程 53
5.1 协议书和预付款 54
5.2 指定功能的开发 56
5.3 开发指定系统 59
5.4 数据结构和规范化 61
5.5 数据字典 64
5.6 编程说明 65
第六章 用户界面设计概念 68
6.1 直观的用户界面 68
6.2 将控制权交给用户 69
6.3 前后一致 69
6.4 宽容性 70
6.5 保持屏幕整洁 70
6.5.1 CUA(普通用户存取)界面设计 71
6.5.2 以用户为中心的设计 72
第七章 事件驱动程序设计 77
7.1 新途径的起源 77
7.2 程序设计方法的变迁 77
7.3 用户界面的目的和行为 77
7.3.1 面向对象的用户界面 78
7.3.2 一种新思想 78
7.4 FoxPro/DOS菜单 79
7.4.1 怎样组织菜单系统 79
7.4.3 菜单结构 80
7.4.2 菜单设计 80
7.5.1 控制 81
7.5 窗口 81
7.5.2 其他对象 82
7.5.3 编程方面的考虑 82
7.5.4 输入任务 82
7.6.1 菜单 83
7.6.2 屏幕集 83
7.6 FoxPro的有力工具 83
7.5.5 写源代码的一种新方法 83
7.6.3 基本的READ语句 84
7.7 考察应用程序的一种新方法 84
7.7.1 事件循环 84
第八章 FoxPro程序设计的实现 86
8.1 事件循环和任务处理怎样工作 86
8.1.1 主程序 86
8.1.2 捕获任务 87
8.1.3 任务的处理 89
8.1.4 控制调色板源码 90
8.2 使用磁盘上代码 91
8.1.5 退出 91
8.2.1 项目管理器 92
8.2.2 产生屏幕 92
8.2.3 屏幕Setup程序段 94
8.2.4 屏幕Deactiveat程序段 95
8.2.5 关于项目管理器的进一步内容 96
第九章 安全性问题 98
9.1 数据安全性 98
9.2 数据损坏 118
9.3 数据完整性 119
9.3.1 重复记录的避免 120
9.3.2 确保唯一的特征数 120
9.3.3 数据加密 122
9.4 灾害恢复 127
9.5 容错 127
9.6 文件损坏 128
9.6.1 口令安全性 129
第十章 程序调试和测试 173
10.1 常见的编程错误 173
10.2.1 模块化编程 175
10.2 有助于减少错误的设计与编程方法 175
10.2.2 两个编程小诀窍 178
10.2.3 将程序段标准化 178
10.3 测试 179
10.3.1 单元测试 179
10.3.2 程序测试实践 179
10.4 使用FoxPro的调试工具 180
10.4.1 编译 180
10.4.2 跟踪和调试 180
10.3.4 错误类型 180
10.3.3 认可性测试 180
10.5 调试提示 183
10.5.1 关掉NO KEY LABEL并恢复菜单条 183
10.5.2 使用清理程序 183
第三篇 新的特性和技巧 185
第十一章 错误处理 185
第十二章 SQL 295
12.1 为什么使用SQL? 295
12.2 SQL方式和Xbase方式 295
12.3 何时使用SQL 296
12.3.1 SQL SELECT命令的语法和使用 296
12.3.2 控制SQL SELECT输出 296
12.4 列表 297
12.5 使用WHERE子句 298
12.5.1 用WHERE子句指明搜索条件 298
12.5.2 用WHERE子句联系文件 299
12.6 分组查询结果 300
12.7 子查询 300
12.8 模拟外部连接 301
12.9 SQL输出 301
12.11 FoxPro SQL技巧 302
12.10.3 CREATE CURSOR 302
12.10.2 CREATE TABLE 302
12.10.1 INSERT 302
12.10 其他SQL命令 302
12.12 用SQL SELECT进行修改 303
12.13 用宏代换建立查询 303
12.14 建立动态采集表 304
12.15 FoxPro SQL的行为 304
12.16 与ANSI SQL的区别 304
12.17 系统目录 305
13.1.1 DOS文件属性 306
13.1 文件管理概念 306
第十三章 低级文件输入输出 306
13.1.2 文件存取方式 307
13.1.3 磁盘缓冲器 307
13.2 LLFIO函数 307
13.2.1 FOPEN() 308
13.2.2 FULLPATH() 309
13.2.3 LOCFILE() 309
12.2.4 FCREATE() 309
13.2.5 FGETS() 310
13.2.8 FREAD() 311
13.2.6 FPUTS() 311
13.2.7 用低级文件I/O字符串功能修改CONFIG.SYS文件 311
13.2.9 FWRITE() 312
13.2.10 通过调制解调装置使用FREAD()和FWRITE() 312
13.2.11 FSEEK() 312
13.2.12 FEOF() 313
13.2.13 FCLOSE() 313
13.2.14 FFLUSH() 313
13.2.15 FERROR() 313
13.3 低级文件I/O范例 314
13.2.16 FCHSIZE() 314
13.3.1 修复丢失的备注文件 315
13.3.2 修改DOS日期/时间 316
13.4 建立和阅读外部文件 316
13.4.1 无界文本文件 316
13.4.2 非文本文件 316
13.4.3 建立文本文件 317
13.5 低级文件I/O的用途 317
14.1 备注字段的结构 318
14.1.1 损坏的备注字段 318
第十四章 备注字段 318
14.1.2 与dBASE和Foxbase+/Mac共享备注数据 319
14.1.3 FPT备注字段的结构 319
14.1.4 备注字段块的大小选定 320
14.2 删去不用的备注字段数据 320
14.3 使用备注字段文本 320
14.3.1 隐含的行长度 320
14.3.2 搜索备注字段 320
14.3.3 备注字段与SQL 321
14.4 备注字段的显示和编辑 321
14.4.2 备注字段和@SAY/GET命令 322
14.4.1 用BROWSE显示备注字段 322
14.4.3 文本编辑区域 323
14.4.4 存储备注数据 323
14.4.5 打印备注字段 324
14.4.6 裁剪文本 324
14.5 备注字段中的操作文本 324
14.6 在文件中传送备注字段内容 326
14.7 对非文本内容使用备注字段 327
14.8 备注字段的用途 328
15.2 BROWSE优先级 329
15.1 捕获记录级事件 329
第十五章 浏览技术 329
15.3 浏览窗口的运行控制 330
15.3.1 浏览窗口 330
15.3.2 冻结一个字段 330
15.4 浏览范围 331
15.5 命名一个浏览 331
15.5.1 分割BROWSE窗口 331
15.5.2 在字段级控制浏览 332
15.6 一对多支持 333
15.7 浏览的增量搜索 333
15.8 用浏览挑选多个记录 337
15.9 在BROWSE中做计算 340
15.10 通过屏幕建立程序调用BROWSE 341
第十六章 FoxPro的优化功能 342
16.1 LAN配置 342
16.1.1 非专用服务器 342
16.1.2 配置计算机 342
16.2 运行FoxPro程序 343
16.3 处理删除的记录 344
16.4 SEEK,LOCATE,SCAN 344
16.5.1 Rushmore优化的结构化索引 345
16.5 Rushmore优化 345
16.5.2 对单数据库的Rushmore优化 347
16.6 关闭Rushmore优化 350
16.7 使用索引文件 351
16.8 搜索串和备注字段 352
16.9 建立临时文件 352
16.9.1 提高REPORT FORM和LABEL FORM的速度 352
16.10 优化语法 353
16.10.1 数值字段、字符字段和字符串 354
16.11 数据库的物理排序 355
16.13 在FoxPro中使用数组 356
16.12 加速浏览 356
16.14 更快锁定 357
16.15 宏替换,间接引用,EVALUATE() 357
16.16 参数传递 358
16.17 添加新记录 358
16.18 删除备注字段中的无用空间 358
16.19 保持数据库打开 359
16.20 鼠标 359
16.22 磁盘高速缓冲器 360
16.21 窗口,弹出式菜单,菜单 360
第四篇 多用户应用程序及其网络 361
第十七章 多用户概念 361
17.1 并行(共享) 361
17.2 文件的独享 361
17.3 冲突 362
17.4 死锁 363
17.5 记录和文件锁定 363
17.6 内存变量,SQL临时表,数组和记录指针 364
17.7 静态命名与动态命名的比较 364
17.8 动态数据的处理 365
17.9 文件和记录的直接使用 367
17.10 打开和关闭文件 368
17.11 删除记录 370
17.12 局域网(LAN)环境的打印 371
17.13 局域网信息交换 372
第十八章 多用户程序设计 373
18.1 文件的独享 374
18.3 分级锁定 377
18.3.1 FoxPro的隐含(自动)记录和文件锁定 377
18.2 记录和文件锁定 377
18.3.2 显含记录和文件的锁定 394
18.4 内存变量的使用 399
18.5 重新锁定 402
18.6 读取锁定记录 402
18.7 更新屏幕 402
18.8 动态命名 403
第十九章 改装单用户应用程序 405
19.1 将文件置为可用 405
19.2 文件的独享 405
19.3 实现记录和文件锁定 406
19.2.1 建立和使用临时文件 406
19.3.1 记录锁定 407
19.3.2 文件锁定 409
19.4 多用户浏览 410
19.5 多用户弹出式菜单 410
19.6 查询表 411
19.7 分配唯一的识别号 412
第二十章 Novell网上的工作 415
20.1 处理跟踪系统(TTS) 415
20.1.1 TTS能做什么 415
20.1.4 FoxPro的TTS函数 416
20.1.2 TTS怎样工作 416
20.1.3 通过NetWare来管理TTS 416
20.1.5 如何建立TTS处理 418
20.2 在NetWare下打印 418
20.3 FoxPro与FoxBASE+/Mac共享文件 418
20.3.1 文件名 420
20.3.2 数据库文件和索引文件 420
附录A FoxPro 2.5出错信息 421
附录B FoxPro缺省值 464
附录C 故障检修 469