第一章 概述 2
1.1 前言 2
目录 2
第一部分 基础篇 2
1.2.2 一个数据库的多个关联关系 3
1.2.1 内存变量数组 3
1.2 FoxBASE+的若干优点 3
1.2.8 DTOC()的提高 4
1.2.7 MIN()/MAX()函数可用于日期型数据 4
1.2.3 系统参数函数 4
1.2.4 每个过程文件中可以更多的过程 4
1.2.5 过程文件的“装订” 4
1.2.6 对dBASE Ⅱ和FoxBASE数据库的直接访问 4
1.2.12 允许同时打开16个文件以上 5
1.2.11 对符号$的支持 5
1.2.9 BROWSE的提高 5
1.2.10 MODIFY COMMAND的提高 5
1.3 FoxBASE+中不支持的功能 6
1.2.13 用户控制的打印机命令重复执行次数 6
1.5 系统容量 7
1.4 硬件要求 7
2.2.2 内存要求和CONFIG文件 8
2.2.1 安装 8
第二章 准备工作 8
2.1 备份 8
2.2 安装FoxBASE+ 8
2.3.2 执行QUIT命令的重要性 9
2.3.1 数据备份保存的重要性 9
2.3 重要注意事项 9
2.5.1 FoxBASE+的编译功能 10
2.5 编译FoxBASE+程序文件 10
2.4 索引文件的转变 10
2.6.1 如何使用foxbind 12
2.6 FoxBASE+过程文件编辑 12
2.5.2 使用过程文件的优越性 12
2.6.2 过程文件程序设计 13
2.7.2 Runtime FoxBASE+ 14
2.7.1 交互FoxBASE+ 14
2.7 执行FoxBASE+程序 14
3.2.1 常量 16
3.2 常量与变量 16
第三章 FoxBASE+常用概念及术语 16
3.1 本书中使用印刷符的约定 16
3.2.2 变量 17
3.4 表达式 18
3.3 运算符 18
3.5 文件类型 19
3.6 “范围”子句 20
3.7 “别名”的运用 21
3.9 出错信息 22
3.8 FoxBASE+下的DOS路径支持 22
3.10 光标控制键(DOS FoxBASE+) 23
3.10.1 光标控制键一览表 24
3.10.2 向前移动 25
3.10.3 向后移动 26
3.10.7 文本编辑 27
3.10.6 退出 27
3.10.4 插入 27
3.10.5 删除 27
3.11 命令行的输入和编辑 28
3.10.8 其他 28
4.2 ? 30
4.1 概述 30
第二部分 命令与函数 30
第四章 命令 30
4.3.1 @ 31
4.3 @ 31
4.3.5 @GET VALID 32
4.3.4 @GET RANGE 32
4.3.2 @SAY 32
4.3.3 @GET 32
4.3.7 PICTURE子句 33
4.3.6 FUNCTION子句 33
4.3.8 @BOX 34
4.3.9 @MENU 35
4.4 ACCEPT 36
4.3.10 @PROMPT 36
4.5.5 APPEND FROM TYPE 37
4.5.4 APPEND FROM FOR 37
4.5 APPEND 37
4.5.1 APPEND 37
4.5.2 APPEND BLANK 37
4.5.3 APPEND FROM 37
4.7 BROWSE 38
4.6 AVERAGE 38
4.7.7 WIDTH 39
4.7.6 NOAPPEND 39
4.7.1 FIELDS 39
4.7.2 LOCK 39
4.7.3 FREEZE 39
4.7.4 NOFOLLOW 39
4.7.5 NOMENU 39
4.8 CALL 40
4.7.9 跳转功能菜单的选择项 40
4.7.8 NOMODIFY 40
4.10 CHANGE 41
4.9 CANCEL 41
4.11.6 CLEAR PROGRAM 42
4.11.5 CLEAR MEMORY 42
4.11 CLEAR 42
4.11.1 CLEAR 42
4.11.2 CLEAR ALL 42
4.11.3 CLEAR FIELDS 42
4.11.4 CLEAR GETS 42
4.11.8 CLEAR TYPEAHEAD 43
4.11.7 CLEAR PROMPT 43
4.13 CONTINUE 44
4.12.6 CLOSE PROCEDURE 44
4.12 CLOSE 44
4.12.1 CLOSE ALL 44
4.12.2 CLOSE ALTERNATE 44
4.12.3 CLOSE DATABASES 44
4.12.4 CLOSE FORMAT 44
4.12.5 CLOSE INDEX 44
4.14.1 COPY TO 45
4.14 COPY 45
4.14.4 COPY TO STRUCTURE EXTENDED 46
4.14.3 COPY STRUCTURE TO 46
4.14.2 COPY FILE 46
4.16 CREATE 47
4.15 COUNT 47
4.16.3 CREATE LABEL 48
4.16.2 CREATE FROM 48
4.16.1 CREATE 48
4.16.4 CREATE REPORT 49
4.16.5 CREATE VIEWFROM ENVIRONMENT 50
4.18 DIMENSION 51
4.17.2 DELETE FILE 51
4.17 DELETE 51
4.17.1 DELETE 51
4.19 DIR或DIRECTORY 52
4.20.4 DISPLAY MEMORY 53
4.20.3 DIPLAY HISTORY 53
4.20 DISPLAY 53
4.20.1 DISPLAY 53
4.20.2 DISPLAY FILES 53
4.20.6 DISPLAY STRUCTURE 54
4.20.5 DISPLAY STATUS 54
4.21.1 DO 55
4.21 DO 55
4.21.3 DO WHILE...LOOP...EXIT...ENDDO 56
4.21.2 DO CASE...OTHERWISE...ENDCASE 56
4.23 EJECT 58
4.22 EDIT 58
4.25 EXIT 59
4.24 ERASE 59
4.26 FIND 60
4.29.2 GO TOP/BOTTOM 61
4.29.1 GO 61
4.27 FLUSH 61
4.28 GATHER 61
4.29 GO 61
4.30 HELP 62
4.31 IF 63
4.32 INDEX 64
4.33 INPUT 65
4.35 JOIN 66
4.34 INSERT 66
4.38 LIST 68
4.37 LABEL 68
4.36 KEYBOARD 68
4.39 LOAD 69
4.41 LOOP 70
4.40 LOCATE 70
4.42 MENU 71
4.42.3 MENU 72
4.42.2 MENU BAR 72
4.42.1 MENU TO 72
4.43.1 MODIFY COMMAND 74
4.43 MODIFY 74
4.44 NOTE 75
4.43.5 MODIFY STRUCTURE 75
4.43.2 MODIFY FILE 75
4.43.3 MODIFY LABEAL 75
4.43.4 MODIFY REPORT 75
4.45.1 ON ERROR/ESCAPE/KEY 76
4.45 ON 76
4.46 PACK 78
4.45.2 ON KEY= 78
4.48 PRIVATE 79
4.47 PARAMETERS 79
4.49 PROCEDURE 80
4.52 READ 81
4.51 QUIT 81
4.50 PUBLIC 81
4.52.2 READ MENU BAR TO 82
4.52.1 READ 82
4.54 REINDEX 83
4.53 RECALL 83
4.52.3 READ MENU TO 83
4.55.3 RELEASE MODULE 84
4.55.2 RELEASE ALL 84
4.55 RELEASE 84
4.55.1 RELEASE 84
4.57 REPLACE 85
4.56 RENAME 85
4.58 REPORT 86
4.59.2 RESTORE SCREEN 87
4.59.1 RESTORE FROM 87
4.59 RESTORE 87
4.63 RUN/! 88
4.62 RETURN 88
4.60 RESUME 88
4.61 RETRY 88
4.64.1 SAVE TO 89
4.64 SAVE 89
4.66 SCROLL 90
4.65 SCATTER 90
4.64.2 SAVE SCREEN 90
4.69 SET 91
4.68 SELECT 91
4.67 SEEK 91
4.70.3 SET CARRY 92
4.70.2 SET BALL 92
4.70 SET命令 92
4.70.1 SET ALTERNATE TO或SET ALTERNATE 92
4.70.6 SET COLOR TO 93
4.70.5 SET CLEAR 93
4.70.4 SET CENTURY 93
4.70.10 SET DEBUG 94
4.70.9 SET DATE 94
4.70.7 SET CONFIRM 94
4.70.8 SET CONSOLE 94
4.70.15 SET DEVICE TO 95
4.70.14 SET DELIMITERS或SET DELIMITERS TO 95
4.70.11 SET DECIMALS TO 95
4.70.12 SET DEFAULT TO 95
4.70.13 SET DELETED 95
4.70.20 SET FIELDS 96
4.70.19 SET EXACT 96
4.70.16 SET DOHISTORY 96
4.70.17 SET ECHO 96
4.70.18 SET ESCAPE 96
4.70.22 SET FILTER TO 97
4.70.21 SET FIELDS TO 97
4.70.25 SET FUNCTION 98
4.70.24 SET FORMAT TO 98
4.70.23 SET FIXED 98
4.70.31 SET INTENSITY 99
4.70.30 SET INDEX TO 99
4.70.26 SET HEADING 99
4.70.27 SET HELP 99
4.70.28 SET HISTORY 99
4.70.29 SET HISTORY TO 99
4.70.37 SET ORDER TO 100
4.70.36 SET ODOMTTER TO 100
4.70.32 SET MARGIN TO 100
4.70.33 SET MEMOWIDTH TO 100
4.70.34 SET MENU 100
4.70.35 SET MESSAGE TO 100
4.70.42 SET RELATION TO 101
4.70.41 SET PROCEDURE TO 101
4.70.38 SET PATH TO 101
4.70.39 SET PRINT 101
4.70.40 SET PRINTER TO 101
4.70.43 SET SAFETY 102
4.70.48 SET TYPEAHEAD TO 103
4.70.47 SET TALK 103
4.70.44 SET SCOREBOARD 103
4.70.45 SET STATUS 103
4.70.46 SET STEP 103
4.71 SKIP 104
4.70.50 SET VIEW TO 104
4.70.49 SET UNIQUE 104
4.73 STORE 105
4.72 SORT 105
4.76 TEXT 106
4.75 SUSPEND 106
4.74 SUM 106
4.77 TOTAL 107
4.80 USE 108
4.79 UPDATE 108
4.78 TYPE 108
4.82 ZAP 109
4.81 WAIT 109
5.2 110
5.1 概述 110
第五章 函数 110
5.5 ASC() 112
5.4 ALIAS() 112
5.3 ABS() 112
5.7 BOF() 113
5.6 AT() 113
5.10 CMONTH() 114
5.9 CHR() 114
5.8 CDOW() 114
5.13 DATE() 115
5.12 CTOD() 115
5.11 COL() 115
5.16 DELETED() 116
5.15 DBF() 116
5.14 DAY() 116
5.18 DOW() 117
5.17 DISKSPACE() 117
5.20 EOF() 118
5.19 DTOC() 118
5.23 FCOUNT() 119
5.22 EXP() 119
5.21 ERROR() 119
5.25 FILE() 120
5.24 FIELD() 120
5.28 FOUND() 121
5.27 FKMAX() 121
5.26 FKLABEL() 121
5.30 IIF() 122
5.29 GETENV() 122
5.31 INKEY() 123
5.34 ISCOLOR() 124
5.33 ISALPHA() 124
5.32 INT() 124
5.37 LEFT() 125
5.36 ISUPPER() 125
5.35 ISLOWER() 125
5.41 LTRIM() 126
5.40 LOWER() 126
5.38 LEN() 126
5.39 LOG() 126
5.44 MESSAGE() 127
5.43 MAX() 127
5.42 LUPDATE() 127
5.47 MONTH() 128
5.46 MOD() 128
5.45 MIN() 128
5.51 PROW() 129
5.50 PCOL() 129
5.48 NDX() 129
5.49 OS() 129
5.52 READKEY() 130
5.54 RECNO() 131
5.53 RECCOUNT() 131
5.56 REPLICATE() 132
5.55 -RECSIZE() 132
5.60 RTRIM() 133
5.59 ROW() 133
5.57 RIGHT() 133
5.58 ROUND() 133
5.62 SOUNDEX() 134
5.61 SELECT() 134
5.66 STUFF() 135
5.65 STR() 135
5.63 SPACE() 135
5.64 SQRT() 135
5.69 TIME() 136
5.68 SYS() 136
5.67 SUBSTR() 136
5.72 TYPE() 137
5.71 TRIM() 137
5.70 TRANSFORM() 137
5.73 UDF() 138
5.76 VAL() 139
5.75 UPPER() 139
5.74 UPDATED() 139
5.78 YEAR() 140
5.77 VERSION() 140
6.1.2 数据库与数据库系统 142
6.1.1 数据与数据处理 142
第三部分 应用篇 142
第六章 建立数据库 142
6.1 数据库的一些基本概念 142
6.2.1 一个实例 144
6.2 建立数据库 144
6.2.2 建立数据库命令 145
6.2.3 建立数据库实例 146
6.3.1 CREATE命令 148
6.3 数据库数据的输入 148
6.3.2 APPEND命令 149
6.3.3 INSERT命令 150
6.4 由旧库建新库 152
6.3.4 BROWSE命令 152
6.4.1 COPY命令 153
6.4.3 MODIFY STRUCTURE命令 156
6.4.2 RENAME命令 156
7.1.1 DISPLAY命令 159
7.1 数据库的显示 159
第七章 数据库操作 159
7.2.1 GO命令 161
7.2 记录的定位 161
7.1.2 LIST命令 161
7.2.2 SKIP命令 162
7.3.1 DELETE命令 163
7.3 数据库的删除 163
7.3.4 PACK命令 164
7.3.3 RECALL命令 164
7.3.2 ERASE和DELETE FILE命令 164
7.3.5 ZAP命令 165
7.4.2 CHANGE命令 166
7.4.1 EDIT命令 166
7.4 编辑和修改 166
7.4.3 BROWSE命令 167
7.4.4 REPLACE命令 168
7.5 数据的查询 169
7.4.5 UPDATE命令 169
7.5.1 直接查找LOCATE和CONTINUE命令 170
7.5.3 索引查找SEEK命令 171
7.5.2 索引查找FIND命令 171
7.6.1 ?命令 172
7.6 数据的输入与输出 172
7.6.2 @命令 173
7.6.3 ACCEPT命令 177
7.6.4 INPUT命令 178
7.7.1 AVERAGE命令 179
7.7 统计汇总 179
7.6.5 WAIT命令 179
7.7.2 SUM命令 180
7.7.4 COUNT命令 182
7.8.2 RESTORE命令 183
7.8.1 SAVE命令 183
7.8 有关内存变量的操作 183
7.8.3 RELEASE和CLEAR MEMORY命令 185
第八章 排序、联接和格式文件 186
8.1 排序SORT 186
8.2 索引INDEX 187
8.2.1 INDEX命令 187
8.2.3 重新建立索引文件 189
7.7.3 TOTAL命令 189
8.2.2 索引文件的打开与关闭 189
8.3.2 JOIN命令 190
8.3.1 SELECT命令 190
8.3 联结JOIN 190
8.4 报表格式文件.FRM 193
8.4.1 报表文件的建立——CREATE REPORT命令 194
8.4.2 建立报表格式文件的小结 197
8.4.4 报表文件的输出——REPORT命令 198
8.4.3 报表文件的修改——MODIFY REPORT命令 198
8.5.1 标签文件的建立——CREATE LABEL命令 199
8.5 标签文件.LBL 199
8.5.3 标签文件的输出——LABEL命令 202
8.5.2 标签文件的修改——MODIFY LABEL命令 202
8.6.1 格式文件的建立 203
8.6 屏幕格式文件.FMT 203
8.6.2 格式文件的使用 204
9.1 命令文件的建立与执行 205
第九章 命令文件 205
9.2.1 条件语句 206
9.2 命令文件的组成 206
9.2.2 循环语句 211
9.3.1 过程说明和过程调用——PROCEDURE命令 216
9.3 过程和参数传递 216
9.3.2 参数说明与参数传递 218
9.4 命令文件举例 220
10.3 调用汇编语言子程序 224
10.2 新的范围选择参数 224
第十章 FoxBASE+的新颖之处 224
10.1 多页屏幕格式 224
10.5 FOR子句与WHILE子句的改进 225
10.4 MODIFY COMMAND命令的“块操作”的扩充 225
10.6 交互式程序调试纠错功能 226
10.9 数值精度 227
10.8 PICTURE子句的改变 227
10.7 注释指示符&& 227
10.11 新增加的数值型函数 228
10.10 数值溢出 228
10.14 对于用户输入的测试和响应方法 229
10.13 用于日期字段和备注字段的新命令 229
10.12 有关数据库文件的新命令和新函数 229
10.17 IIF()函数代替条件选择 230
10.16 其他一些新增加的函数 230
10.15 新的字符串函数 230
10.18 数组功能DIMENSION 231
10.21 从FoxBASE+ 2.00到 2.10 232
10.20 字符串的精确匹配运算符 232
10.19 调用外部字处理程序 232
10.21.4 文档生成器FoxDoc 233
10.21.3 应用程序生成器FoxCode 233
10.21.1 非编程用户接口FoxCentral 233
10.21.2 屏幕设计工具FoxView 233
10.21.8 屏幕滚动 234
10.21.7 下拉与弹出菜单 234
10.21.5 带过滤的索引功能 234
10.21.6 视图功能 234
10.21.10 一般变化 235
10.21.9 命令和函数的提高 235
11.1 屏幕菜单设计 236
第十一章 FoxBASE+编程技巧 236
11.2 自定义函数功能UDF的应用 239
11.2.1 汉字星期函数 240
11.2.2 定义三角函数 241
11.2.3 定义随机数函数 242
11.3.1 ON KEY=命令使用的键值 244
11.3 ON命令妙用 244
11.3.3 设置HELP功能 246
11.3.2 中断警告 246
11.4 BROWSE命令与屏幕浏览 248
11.5 用程序方式删改库结构 249
11.6 计算数据库文件占用的磁盘空间 251
11.7 计算磁盘文件占用的磁盘空间 252
11.8 打印机故障及其解决办法 254
11.10 出错控制与处理 255
11.9 在FoxBASE+下拷贝屏幕 255
11.11 活用SCATTER与GATHER命令 261
11.12 记录在数据库中的移动 262
11.13 .fox程序的反编译 265
11.14 编译程序的扩充功能 266
11.14.1 加强.fox模块的安全性 266
11.14.2 改变.fox模块所存放的目录 267
11.15 READKEY()函数与全屏幕编辑 267
11.16 FoxBASE+的断电处理 270
11.17 在XENIX环境下FoxBASE+的高级透明打印 271
11.18 5K以上多用户FoxBASE+源程序的调试 274
11.19 Novell网下从单用户过渡到多用户 274
11.20 INKEY()函数的使用 275
第十二章 FoxBASE+系统的配置与调整 280
12.1 系统基本配置文件 280
12.1.1 BUFFERS=n 280
第四部分 提高篇 280
12.1.2 FILES=n 281
12.2 FoxBASE+配置文件 281
12.2.1 可设置的存贮分配项 282
12.2.2 CONFIG.FX/DB参数 283
12.3 优化FoxBASE+的性能 284
12.3.1 减少DOS目录中的文件个数 285
12.3.5 状态行的使用 286
12.3.4 “TALK”选择项的使用 286
12.3.6 运行数组 286
12.3.7 过程文件的使用 286
12.3.3 为FoxBASE+运行留有足够的磁盘空间 286
12.3.2 为FoxBASE+运行准备足够的内存 286
13.1 使用FoxBASE+时常见的一些问题 287
13.1.1 内存用光了 287
第十三章 常见问题及其解决办法 287
13.1.4 打印机没有准备好 288
13.1.3 RUN命令不能工作 288
13.1.5 某些功能不支持 288
13.1.2 程序太大 288
13.1.6 过程文件的调用发生困难 289
13.1.7 使用SET命令要注意的两点 289
13.2 寻求帮助前的检查步骤 290
14.1.2 软件 291
14.1.1 硬件 291
14.2 多用户FoxBASE+初步 291
14.1 系统要求 291
第十四章 多用户FoxBASE+ 291
14.2.4 执行多用户FoxBASE+ 292
14.2.3 尚不支持的功能 292
14.3 术语汇编 292
14.2.2 多用户FoxBASE+的扩展 292
14.2.1 多用户FoxBASE+的兼容性 292
14.4 多用户编程 293
14.4.2 要求独占USE的操作 294
14.4.3 自动加锁的操作 294
14.4.1 对修改一个数据库的要求 294
14.4.4 加锁函数 295
14.4.5 ON ERROR程序 296
14.5.1 数据库的独占运用 299
14.5.2 自动文件加锁命令 299
14.5 记录和文件加锁的约定 299
14.5.3 自动记录加锁命令 300
14.5.5 不加锁命令 301
14.6 多用户命令 301
14.5.4 不自动记录加锁命令 301
14.6.2 DISPLAY STATUS 302
14.6.3 EDIT 302
14.6.1 CHANGE 302
14.6.6 SET 303
14.6.5 RETRY 303
14.6.7 SET EXCLUSIVE 303
14.6.4 LIST STATUS 303
14.6.9 UNLOCK 304
14.6.10 USE EXCLUSIVE 304
14.6.8 SET PRINTER 304
14.7.2 FLOCK() 305
14.7.1 ERROR() 305
14.7.3 MESSAGE() 305
14.7 多用户函数 305
14.7.4 RLOCK()或LOCK() 306
14.7.5 SYS() 306
14.8 死锁的预防和恢复 310
14.9 加锁时间的控制 314
14.9.1 共享记录加锁时间的控制 315
14.9.2 请求加锁时间的控制 316
14.10 多用户出错信息 316
第五部分 附录 319
附录A 命令总结 319
附录B 函数总结 326
附录C 出错信息 330
参考书目 349