第○章 看谁在说话 1
目录 1
第一篇 入门篇 4
第一章 FoxPro简介及安装 4
1.1 FoxPro的过去、现在及未来 4
1.2 FoxPro的安装 5
1.2.1 所需之软硬件设备 5
1.2.2 FoxPro的安装 5
1.3.1 进入FoxPro for MS-Windows 8
1.3 进入及退出FoxPro for MS-Windows 8
1.3.2 退出FoxPro for MS-Windows 9
第二章 FoxPro的集成环境 11
2.0 本章提要 11
2.1 集成环境的外观 11
2.2 命令窗口 15
2.3 状态行 16
2.4 使用FoxPro for MS-Windows的求助 17
3.1 数据库的创建 20
3.0 本章提要 20
第三章 数据库的管理 20
3.2 数据库的打开及关闭 23
3.3 数据库的修改及拷贝 26
3.4 常用的磁盘及目录管理命令 28
3.5 数据的增加及显示 31
3.5.1 数据的增加 31
3.5.2 数据的显示 34
3.6 各种数据类型的运算 37
4.1 记录的增加 40
4.1.1 一般字段的数据储存及增加 40
第四章 数据库创建及编辑 40
4.0 本章提要 40
4.1.2 备注字段的数据储存 42
4.1.3 通用字段的数据储存 42
4.2 记录指针的移动 44
4.2.1 利用GOTO命令移动指针 44
4.2.2 利用SKIP命令移动指针 45
4.3 记录的插入及删除 46
4.3.1 插入一个记录——INSERT 46
4.2.3 移动其他工作区的指针 46
4.3.2 记录的删除——DELETE 47
4.3.3 显示删除记录的开关 49
4.3.4 已删除记录的恢复——RECALL 49
4.3.5 记录的清除——PACK 49
4.3.6 删除所有记录的命令——ZAP 51
4.4 BROWSER的使用 51
4.4.1 BROWSER的外观 51
4.4.3 同时启动BROWSER的二种模式 52
4.4.2 BROWSER的二种编修模式 52
4.4.4 在BROWSER中删除记录 54
4.4.5 在BROWSER中增加数据 54
4.4.6 在BROWSER中编修数据 55
4.4.7 改变BROWSER的字模及字体 55
4.4.8 保持字段——FREEZE 56
4.4.9 同时固定数个字段——LOCK 57
4.4.10 设定字段显示的最长宽度——WIDTH 57
4.4.11 自行设定BROWSER的标题——TITLE 57
4.4.12 有条件的浏览记录 58
4.4.13 重要的控制开关 59
4.4.14 有条件的编辑特定字段 61
4.4.15 几个重要的概念 61
4.5 脑筋急转弯 61
第五章 排序、索引及检索 64
5.0 本章提要 64
5.1 记录的排序——SORT 64
5.2 索引 68
5.2.1 概念说明 68
5.2.2 索引的创建 69
5.2.3 索引文件的打开 73
5.2.4 设定主索引 74
5.2.5 索引文件的关闭及索引标识的删除 75
5.2.6 重整索引文件——REINDEX 76
5.3 检索 77
5.3.1 最简单的检索——LOCATE 77
5.3.2 较少用的检索命令——FIND 80
5.3.3 最快的检索命令——SEEK 80
5.4 脑筋急转弯 82
6.1.1 打开程序的窗口 84
6.1 程序的开始 84
6.0 本章提要 84
第六章 编译指引、变量及宏指令 84
第二篇 程序篇(一) 84
6.1.2 开始键入程序 85
6.1.3 储存及放弃 86
6.1.4 程序的运行 86
6.2 算符及前置编译指引 87
6.2.1 各类算符 87
6.2.2 #DEFINE定义常量 88
6.2.3 #UNDEF取消常量定义 90
6.2.4 #IF..#ENDIF判别编译指引 91
6.3 存储器变量(Memory Variable) 93
6.3.1 变量的命名 93
6.3.2 整体变量(G1obal Memory Variable) 94
6.3.3 专用变量(Private Variable) 95
6.3.4 区域性变量(Regional Variable) 96
6.3.5 系统变量(System Variable) 97
6.3.6 其他的存储器变量管理命令 98
6.3.7 存储器变量的储存及取出 98
6.4.1 %运算符 100
6.4 其他运算符 100
6.4.2 $部分字符串运算符 101
6.4.3 宏指令替换 101
6.4.4 ()名称运算式 103
6.4.5 =可运行函数命令 105
6.5 脑筋急转弯 105
7.1 屏幕输出 107
7.1.1 最常用的输出命令——? 107
7.0 本章提要 107
第七章 基本输入输出设计 107
7.1.2 整篇画面输出命令——TEXT..ENDTEXT 108
7.2 基本的输入命令 110
7.2.1 INPUT命令 110
7.2.2 ACCEPT命令 110
7.3 定位输出命令——SAY 111
7.3.1 屏幕的定位问题 111
7.3.2 输出数据 112
7.3.3 设定字模、大小及样式 112
7.4 定位的输入命令——GET 113
7.5.2 循环读取 119
7.5.1 基本之READ 119
7.5 启动GET物件 119
7.5.3 保留读取状态 120
7.5.4 设定读取边框 120
7.6 其他有关屏幕的命令 120
7.6.1 清屏——CLEAR 120
7.6.2 储存屏幕——SAVE SCREEN 121
7.6.3 回存屏幕——RESTORE SCREEN 122
7.6.4 等待命令——WAIT 122
7.6.5 重要的画线命令 123
8.1 条件分支 125
8.1.1 IF..ELSE..ENDIF区块 125
第八章 程序流程控制及过程 125
8.0 本章提要 125
8.1.2 DO CASE..ENDCASE区块 129
8.2 循环结构 130
8.2.1 固定次数循环(FOR..ENDFOR) 130
8.2.2 条件式循环(DO WHILE..ENDDO) 132
8.2.3 数据库扫描(SCAN..ENDSCAN) 134
8.3.2 何谓程序及用户自定函数 137
8.3.1 程序及函数的意义 137
8.3 程序与函数 137
8.3.3 程序及用户自定函数之命名 138
8.3.4 程序及函数的运行及结束 139
8.3.5 程序的运行顺序 141
8.3.6 函数的返回值 143
8.4 参数的传递方式 143
8.4.1 改变传递方式 145
8.5 GET物件的守护者 146
8.5.1 门前守护者——WHEN 146
8.4.2 二者之比较 146
8.5.2 VALID条件式 147
8.6 脑筋急转弯 149
第九章 另一种变量——数组 154
9.0 本章提要 154
9.1 数组的使用 154
9.2 数组的说明 155
9.3 元素的使用 156
9.4 数组的元素处理 157
9.4.1 数组元素的排序——ASORT() 157
9.4.3 元素的删除——ADEL() 159
9.4.2 元素的扫描——ASCAN() 159
9.4.4 元素的插入——AINS() 160
9.4.5 数组的传递 162
9.5 另一种记录访问技巧——SCATTER GATHER 162
9.5.1 使用一般存储器变量 162
9.5.2 使用数组方式 164
9.6 数组与记录之间的纠葛 166
9.6.1 记录到数组 166
9.6.2 从数组到记录 171
9.6.3 二组命令的比较 173
9.7 脑筋急转弯 174
第三篇 程序篇(二) 177
第十章 多数据库控制 177
10.0 本章提要 177
10.1 关联的概念 177
10.1.1 记录指针概念说明 178
10.2 多数据库运作(Multi Tables) 179
10.2.1 创建关联 179
10.1.2 创建关联的限制 179
10.2.2 BROWSER在多数据库下的设计方式 181
10.2.3 两个以上关联的创建 184
10.2.4 三代同堂与多子多孙 187
10.3 创建一对多的关联 188
10.4 结束数据库间的关联 191
10.5 脑筋急转弯 195
11.1.1 资源(Resource) 197
11.1 窗口的一些概念 197
11.0 本章提要 197
第十一章 窗口的控制 197
11.1.2 本章的命令预视 198
11.2 窗口的创建 198
11.3 窗口的行为 204
11.3.1 启动窗口 204
11.3.2 关闭窗口 205
11.3.3 释放窗口 205
11.3.4 隐藏窗口 206
11.3.5 显示窗口 207
11.3.6 改变窗口的位置 207
11.3.7 窗口的状态改变 209
11.3.8 窗口的大小改变 210
11.3.9 测试窗口是否存在 212
11.3.10 测试窗口是否隐藏 212
11.4 各类窗口的使用 213
11.5 启动FoxPro for MS-Windows的系统窗口 214
11.6 脑筋急转弯 215
12.1.1 READKEY()函数 217
12.1 按键的取得 217
12.0 本章提要 217
第十二章 按键及鼠标器的控制与应用 217
12.1.2 取得最后一键 219
12.1.3 INKEY()函数 219
12.1.4 通用型按键拦截 221
12.1.5 单一型按键拦截 222
12.1.6 多重按键拦截 224
12.1.7 连按数次的按键拦截制作 229
12.1.8 储存及回存按键 232
12.1.9 Esc键的拦截 233
12.2.1 鼠标器按钮的拦截 234
12.2 鼠标器的控制 234
12.2.2 取得鼠标器当前的位置 236
12.2.3 取得鼠标器左键事件 236
12.3 脑筋急转弯 242
第十三章 升级输入输出设计 245
13.0 本章提要 245
13.1 按钮(Push Button) 246
13.1.1 一般按钮制作 246
13.1.2 图形按钮制作 247
13.1.3 位元对应图及遮罩图之制作 248
13.2 检查框(Check Box) 250
13.3 单一选择钮(Radio Button) 254
13.4 显示图案(Display BITMAP) 258
13.5 隐藏式按钮(Invisible Button) 259
13.6 下拉表列(List) 261
13.7 突现式菜单——Popup 264
13.8 文字编辑区(Text Editing Region) 266
13.9 数值旋转钮(Spinner) 267
13.10 设定物件位置 269
13.11 改变字模及字体 270
13.13 设定物件变量的缺省值 271
13.12 设定物件的信息 271
13.14 禁用物件 272
13.15 设定物件显示区域 273
13.16 设定颜色 273
13.17 物件的守卫——WHEN 274
13.18 另一个守卫——VALID 275
第十四章 功能表设计 279
14.0 本章提要 279
14.1 简单型功能表 279
14.2 Lotus系列功能表 281
14.3 光棒式功能表 285
14.4 常驻型功能表(TSR-style MENU) 286
14.4.1 使用的命令 286
14.5 弹出式菜单 292
14.5.1 使用的命令 292
14.6 下拉式菜单 299
14.6.1 使用的命令 299
14.6.2 设定选项标记 304
14.6.3 禁用各类选项 305
14.7.1 使用的命令 306
14.7 主功能表 306
14.7.2 程序说明 315
14.8 释放各类菜单及选项 316
14.9 脑筋急转弯 316
第十五章 程序排错 318
15.0 本章提要 318
15.1 追踪窗口(Trace) 318
15.1.1 启动追踪窗口 318
15.1.2 加载程序 319
15.1.3 开始追踪 319
15.1.5 设定中断点 320
15.1.4 直接退出过程 320
15.1.6 设定追踪速度 321
15.1.7 设定字模 321
15.1.8 其他说明 321
15.1.9 程序的问题 322
15.2 排错窗口(Debug) 323
15.2.1 启动排错窗口 323
15.2.2 开始排错 324
15.2.3 追入函数中 325
16.0 目录管理器的外观 326
第四篇 魔法师系统——Wizards 326
第十六章 目录管理器 326
16.1 目录管理器的功能表 327
16.2 开始一个新的目录文件 328
16.3 加入数据库文件 329
16.3.1 增加已有的数据库于目录文件 329
16.3.2 新建数据库 330
16.4 数据库的修改与打开 331
16.5 其他文件功能 331
16.6.1 控制索引文件 333
16.6 索引文件的使用 333
16.6.2 设定主索引 336
16.7 数据的输入输出 336
16.7.1 数据的汇入(Import) 337
16.7.2 数据的汇出(Export) 338
16.8 其他工具 340
16.8.1 快速创建屏幕文件 340
16.8.2 快速创建报表文件 342
16.8.3 控制开关的设定 343
17.1 数据库魔法师——Table Wizard 345
第十七章 各类魔法师 345
17.2 查询魔法师——Query Wizard 348
17.2.1 单一数据库 348
17.2.2 多数据库 353
17.3 屏幕魔法师——Screen Wizard 355
17.3.1 使用数据库 355
17.3.2 使用查询文件 357
17.4 报表魔法师 359
17.4.1 分类报表 360
17.4.2 多栏报表 362
17.4.3 标准之魔法师 363
17.5 标签魔法师 364
17.6 应用程序魔法师 365
17.7 邮寄魔法师 369
附录A 系统功能表及选项之缺省名称 371
附录B BEADKEY()返回值 376
附录C INKEY() LASTKEY()按键返回值 377
附录D ON KEY LABEL的按键代号 379
附录E ON KEY按键代码 381
附录F 扩展名之意义 382