第一章 概述 1
1.1 解释器(Interpreter)与编译器(Compiler) 1
1.2 编译 2
1.3 连结 3
1.4 程序库 4
1.5 外界函数 5
1.6 使用MAKE 5
1.7 Clipper套装软件 6
1.8 安装CLIPPER 6
1.9 专案介绍 7
1.10 结论 8
第二章 CLIPPER的基本概念 9
2.1 CLIPPER的系统规格 9
2.2 CLIPPER所使用的文件 10
2.3 CLIPPER的数据库文件的结构 11
2.4 存储器变量 12
2.5 表达式 13
2.7 算术表达式 13
2.8 逻辑表达式 14
2.9 字符串表达式 14
2.10 用户自定义函数 14
2.11 与DBASE Ⅲ PLUS兼容的索引 15
2.12 全屏幕操作的光标移动键 16
2.13 全屏幕编辑键 16
2.14 全屏幕退出键 16
2.15 全屏幕模式键 16
2.16 DOS的命令处理程序 17
2.17 DOS的文件及缓冲区 17
2.18 计算机存储器使用 18
2.19 存储器变量 18
第三章 Clipper语言及环境 21
3.1 基础 21
3.2 用户定义函数 25
3.3 逻辑表达式 27
3.4 WHILE和FOR条件 27
3.5 变量的使用范围 28
3.6 程序和PRG文件 32
3.7 传值调用和传地址调用 32
3.8 错误处理 33
3.9 环境 44
3.10 建议警告 45
第四章 编译及连结应用程序 46
4.1 CLIPPER编译程序 46
4.2 执行CLIPPER编译程序 46
4.3 编译程序的选择项 46
4.4 建立一个.CLP文件 47
4.5 连结程序 48
4.6 利用PLINK86-PLUS连接程序来连接你的程序 48
4.7 交互式方式 48
4.8 命令行方法 49
4.9 使用.LNK文件的方法 49
4.10 执行PLINK86-PLUS 50
4.11 利用批处理文件来编译及连接应用程序 50
4.12 与函数程序库连接 51
第五章 连接文件的覆盖 52
5.1 什么是覆盖 52
5.2 设计覆盖结构 53
5.3 覆盖的产生 53
5.5 内部覆盖及外部覆盖 55
5.6 程序嵌套覆盖 55
5.7 覆盖的管理 57
5.8 DOS的目录 58
5.9 PLINK86-PLUS的对映图 59
第六章 CLIPPER调试程序 61
6.1 CLIPPER的调试程序 61
6.2 使用clipper的调试程序 61
6.3 CONTROL功能表 62
6.4 DISPLAY功能表 63
6.5 Variable功能表 64
6.6 Help功能表 65
6.7 Break功能表 66
6.8 Watch功能表 67
第七章 数组 68
7.1 数组 68
7.2 数组的声明及使用 68
7.3 数组类型的参数 70
7.4 处理数组的函数 72
7.5 二分搜寻法 89
7.6 多维数组 91
7.7 数组和宏 93
7.8 将数组存储在磁盘上 95
7.9 建议和警告 99
第八章 SET KEY TO指令 100
8.1 SET KEY的用法 100
8.2 Help Key(F1) 100
8.3 依环境改变的HELP 101
8.4 递归和多层的HELP程序 102
8.5 存储程序的状态 104
8.6 SET KEY和INKEY 106
8.7 用户自定义的HELP 108
8.8 SET KEY和宏 111
8.9 SET KEY的其他用法 111
8.10 建议和警告 113
第九章 用户接口 115
9.1 简单的功能表 115
9.2 BOX 120
9.3 按键的处理 127
9.4 光标的处理 131
9.5 填充键盘缓冲区 132
9.6 SAVE SCREEN/RESTORE SCREEN 142
9.7 屏幕和MEM文件 146
9.8 摘要 148
9.9 GET的处理 148
9.10 计算表接口 166
9.11 对话窗口 174
9.12 垂直滚动 176
9.13 建议和警告 188
第十章 备注字段的处理及操作 190
10.1 简介 190
10.2 使用备注字段 191
10.3 编辑备注字段 193
10.4 GET一个备注字段 195
10.5 用用户自定义函数处理备注字段 197
10.6 处理备注字段 204
10.7 MLCOUNT和MEMOLINE函数 207
10.8 在MEMOEDIT中的字符串搜寻 209
10.9 流览备注字段 211
10.10 显示备注字段 216
10.11 DBT文件的结构 219
10.12 输入/输出 222
10.13 建议和警告 224
第十一章 有效的查询方法 225
11.1 数据库系统的范例 225
11.2 打开数据库 227
11.3 搜寻一个值 232
11.4 通过关联指令连结数据库 234
11.5 多重索引 238
11.6 建立数据库 239
11.7 JOIN 242
11.8 模拟JOIN 247
11.9 REPLACE 249
11.10 在数据文件中编辑数据项 250
11.11 在一个数据文件中增加数据项 261
11.12 删除数据项 266
11.13 数据文件的各种设置(SET) 267
11.14 范例 268
11.15 建议和警告 289
第十二章 直接处理文件 290
12.1 底层文件与设备处理 290
12.2 文件拷贝 294
12.3 文件保护 295
12.4 文件大小 297
12.5 设备控制 297
12.6 读入一行 298
12.7 多用途读入暂存区 300
12.8 文件内的数据寻找 306
12.9 与C语言的比较 308
12.10 建议与警告 311
第十三章 网络 312
13.1 Clipper与局部网络 312
13.2 设计网络程序的困扰 312
13.3 Clipper的网络命令 313
13.4 Clipper所强迫遵守的原则 316
13.5 错误事件的处理 318
13.6 索引文件 327
13.7 其他类型的文件 328
13.8 读取/修改/写入周期 331
13.9 用到整个文件数据的命令 336
13.10 在单用户系统下测试 344
13.11 总结 346
13.12 局部网络 346
13.13 在局部网络上开发应用程序 347
13.14 在局部网络环境下编写程序 348
13.15 网络环境对文件的影响 351
13.16 LOCKS.PRG的原始程序 352
13.17 NET_USE函数 352
13.18 FIL_LOCK函数 353
13.19 REC_LOCK函数 354
第十四章 在Clipper中使用C语言 355
14.1 概论 355
14.2 在Clipper中调用C程序 355
14.3 从Clipper中取得数据 356
14.4 将数据返回Clipper 360
14.5 编译和连结 362
14.6 光标控制 365
14.7 获取Clipper的内部值 366
14.8 Hot Key表 370
14.9 实际的处理 374
14.10 鼠标器接口 376
14.11 鼠标器模拟MENU/PROMPT指令 380
14.12 串口通讯 393
14.13 窗口 404
14.14 建议和警告 405
第十五章 利用C与汇编语言编写用户自定义函数 406
15.1 与C语言的界面 406
15.2 C程序的编译及连接 408
15.3 扩增系统的C语言函数 410
15.4 Clipper与汇编语言界面 418
15.5 汇编语言的扩增宏 421
15.6 扩增系统的汇编语言函数 423
第十六章 文件结构 433
16.1 概论 433
16.2 编译和连结 435
16.3 DBF的文件结构 437
16.4 DBT的文件结构 463
16.5 FRM的文件结构 479
16.6 LBL的文件结构 485
16.7 MEM的文件结构 488
16.8 NTX的文件结构 490
16.9 NDX的文件结构 496
16.10 建议与警告 501
第十七章 Clipper公用程序 502
17.1 DBU.EXE程序 502
17.2 无功能表程序 502
17.3 触键式选取 503
17.4 模式选择项 503
17.5 整体数据概观 504
17.6 报表格式文件 505
17.7 标签格式文件 506
17.8 INDEX程序 507
17.9 LINE程序 507
17.10 MAKE程序 507
17.11 如何使用MAKE 508
17.12 一个范例系统 510
17.13 推论规则(Inference rule) 511
17.14 SWITCH程序 512
17.15 结束SWITCH 513
第十八章 窗口和屏幕功能 515
18.1 创建一个窗口 515
18.2 属性和屏幕颜色 530
18.3 阴影(SHADOWING) 540
18.4 扩张窗口 546
18.5 在屏幕上处理正文 552
18.6 建立显示屏幕 555
18.7 相对窗口—@SAYGET 556
第十九章 数据驱动技术 565
19.1 在.EXE文件外部初设变量值 565
19.2 将正文文件读进数组 569
19.3 建立数据库 575
19.4 建立窗口 587
19.5 建立菜单 598
19.6 数据输入屏幕(DATA ENTRY SCREEN) 611
附录A dBASE Ⅲ PLUS中Clipper支持的命令及函数 630
附录B Clipper编译程序的错误信息 631
附录C PLINK86-PLUS连接程序的错误及警告信息 633
附录D ASCII字符集与INKEY()函数的传回值 639
附录E 在Clipper使用预处理器 642
附录F Set函数 649
附录G 嵌套的Read程序 664
附录H CLIPPER命令介绍 668
附录I CLIPPER函数介绍 754