第1章 Visual FoxPro 6.0概述 1
1.1 Visual FoxPro 6.0的新特性概述 1
1.2 Visual FoxPro 6.0的系统安装 2
1.3 使用“选项”对话框配置Visual FoxPro 3
1.3.1 “选项”对话框 4
1.3.2 “显示”选项 4
1.3.3 “常规”选项 5
1.3.4 “数据”选项 7
1.3.5 “远程数据”选项 9
1.3.6 “文件位置”选项 10
1.3.7 “表单”选项 12
1.3.8 “项目”选项 13
1.3.9 “控件”选项 13
1.3.10 “区域”选项 15
1.3.11“语法着色”选项 17
1.3.12 “字段映象”选项 18
1.4 用配置文件设置环境 19
1.5 Visual FoxPro 6.0的窗口界面 20
1.5.1 标题栏 20
1.5.2 主菜单栏 21
1.5.3 工具栏 21
1.5.4 常用工具栏 22
1.5.5 命令窗口 23
1.6 小结 24
第2章 程序设计基础 25
2.1 数据类型和字段类型 25
2.2 对2000年日期的支持 28
2.2.1 SET CENTURY TO 28
2.2.2 严格的日期格式 29
2.2.3 SET STRICTDATE 30
2.2.4 严格日期格式错误 31
2.3 常量 31
2.4 变量 32
2.4.1 控制变量的访问 32
2.4.2 内存变量与字段变量的优先级别 34
2.4.3 变量的命名规则 34
2.4.4 系统变量 35
2.5 数组 36
2.5.1 数组的创建 36
2.5.2 管理数组 36
2.6 表达式和操作符 37
2.6.1 字符操作符 38
2.6.2 日期和日期时间操作符 38
2.6.3 逻辑操作符 38
2.6.4 关系操作符 39
2.6.5 SET EXACT ON OFF 39
2.6.6 数值操作符 40
2.6.7 对null值的处理 40
2.7 程序结构 41
2.7.1 条件结构 41
2.7.2 循环结构 43
2.8 过程和函数 45
2.8.1 过程和函数定义 45
2.8.2 过程和函数调用 45
2.9 小结 48
第3章 表和索引 50
3.1 创建新表 50
3.1.1 确定表中的字段 50
3.1.2 确定表中的字段类型 50
3.1.3 利用表设计器创建新表 51
3.1.4 利用程序方法创建新表 52
3.2 添加记录 53
3.2.1 通过BROWSE或EDIT屏幕输入数据 53
3.2.2 利用程序的方法添加记录 54
3.3 修改表结构 56
3.3.1 利用表设计器修改表结构 56
3.3.2 利用程序方法修改表结构 56
3.4 表的浏览和记录的删除 57
3.4.1 打开表 57
3.4.2 关闭表 58
3.4.3 记录指针的移动 58
3.4.4 记录的删除 60
3.4.5 删除记录的恢复 61
3.4.6 清除被删除的记录 61
3.4.7 使用交互方式删除记录 62
3.5 定制表 62
3.6 表的索引 64
3.6.1 创建索引 64
3.6.2 使用索引和删除索引 66
3.6.3 改变记录的物理顺序 67
3.7 小结 68
第4章 数据库的管理和使用 69
4.1 数据库的创建和删除 69
4.1.1 创建新的数据库 69
4.1.2 “数据库设计器”工具栏 70
4.1.3 数据库中表的加入和删除 71
4.2 数据库中表的高级功能 72
4.2.1 长表名和表的注释 73
4.2.2 字段的长字段名、标题和注释 74
4.2.3 设置字段级规则 75
4.2.4 设置记录级规则 76
4.2.5 维护参照完整性 77
4.2.6 定义触发器 79
4.2.7 建立永久性关系 81
4.2.8 建立表之间的临时关系 83
4.2.9 建立自引用关系 84
4.3 使用多个数据库 85
4.3.1 打开多个数据库 85
4.3.2 使用数据库中的表 86
4.3.3 关闭数据库 86
4.3.4 检查数据库 86
4.4 小结 87
第5章 查询和视图 88
5.1 利用SELECT命令实现查询 88
5.1.1 最基本的SELECT语句 88
5.1.2 过滤记录 90
5.1.3 分组统计 92
5.1.4 多表查询 93
5.1.5 输出查询结果 93
5.1.6 DELECT语句的语法 96
5.2 利用查询设计器设计查询 96
5.2.1 建立一个新的查询 97
5.2.2 定制联接条件 98
5.2.3 使用多个条件过滤器 100
5.2.4 记录分组和记录排序 101
5.2.5 输出查询结果 102
5.2.6 将查询结果输出到报表 104
5.2.7 将查询结果输出到图形 105
5.2.8 保存和运行查询 107
5.3 创建视图 107
5.3.1 创建本地视图 107
5.3.2 定义连接 108
5.3.3 创建远程视图 110
5.3.4 设置视图属性和连接属性 110
5.3.5 视图更新选项 112
5.3.6 使用视图 114
5.4 小结 115
第6章 面向对象编程 116
6.1 类和对象 116
6.1.1 深入了解Visual FoxPro中的类 118
6.1.2 Visual FoxPro中的基类 119
6.2 使用对象 120
6.2.1 对象的属性 121
6.2.2 调用方法 123
6.2.3 对象的事件 123
6.3 以编程方法定义类 124
6.3.1 DEFINE CLASS命令的详细说明 124
6.3.2 创建简单的类定义 125
6.3.3 向类中加入新属性 127
6.3.4 向容器类中添加对象 127
6.3.5 为类定义添加事件 128
6.3.6 保护和隐藏类成员 131
6.3.7 创建成员数组 132
6.3.8 创建对象数组 133
6.3.9 使用域变换运算符引用方法 133
6.3.10 防止基类代码被执行 135
6.3.11 使用对象存储数据 136
6.3.12 创建自定义类 137
6.4 创建和使用类库 138
6.4.1 利用程序创建类库 138
6.4.2 使用类设计器 139
6.4.3 使用类库 140
6.4.4 修改库中的类定义 140
6.5 事件模型 141
6.5.1 Visual FoxPro中的事件 141
6.5.2 使用事件跟踪 141
6.6 ActiveDoc对象 144
6.6.1 ActiveDoc基类 145
6.6.2 创建Active Document 145
6.6.3 ActiveDoc对象 145
6.6.4 对表单对象的更改 147
6.6.5 Active Document中的表单 148
6.6.6 菜单融合 148
6.6.7 运行Active Document 150
6.6.8 Visual FoxPro运行时刻和Active Document 150
6.6.9 Active Document安全性 151
6.7 小结 152
第7章 表单创建 153
7.1 表单对象 153
7.2 创建新表单 153
7.2.1 表单创建 153
7.2.2 属性窗口 154
7.2.3 定义表单的属性 156
7.2.4 添加新的属性或方法 157
7.2.5 编辑事件代码和方法代码 158
7.2.6 保存表单 159
7.3 数据环境 160
7.3.1 向数据环境中添加或移去表或视图 160
7.3.2 常用数据环境属性 161
7.3.3 在数据环境设计器中设置关系 161
7.3.4 在数据环境设计器中编辑关系 162
7.4 向表单中加入对象 163
7.4.1 手工添加控件 163
7.4.2 利用拖放添加控件 165
7.4.3 在表单中加入用户自定义对象 166
7.5 修改表单 167
7.5.1 表单设计器 167
7.5.2 “表单设计器”工具栏 168
7.5.3 选择、移动和缩放控件 168
7.5.4 对齐控件 170
7.5.5 设置控件的【Tab】键次序 170
7.5.6 在表单中使用本地和远程数据 172
7.6 运行表单 173
7.6.1 交互地运行表单 173
7.6.2 从程序中运行表单 173
7.6.3 将参数传递到表单 174
7.6.4 从表单返回值 175
7.6.5 关闭表单 175
7.6.6 DO FORM命令总结 175
7.6.7 使用一个表单的多个实例 176
7.7 Access和Assign方法程序 178
7.7.1 利用DEFINE CLASS创建Access和Assign方法程序 179
7.7.2 表单和类设计器创建Access或Assign方法程序 180
7.7.3 在“表单设计器”中为原有属性创建Access或Assign方法程序 181
7.7.4 在“类设计器”中为类创建Access或Assign方法程序 181
7.7.5 THIS_ACCESS方法程序 182
7.8 用表单集扩充表单 182
7.8.1 创建表单集 183
7.8.2 添加和删除表单 183
7.9 基本控件简介 183
7.9.1 直线(Line)控件 184
7.9.2 形状(Shape)控件 185
7.9.3 标签控件 186
7.9.4 文本框(Text Box)控件 187
7.9.5 编辑框(Edit Box)控件 189
7.9.6 命令按钮(Command Button) 189
7.9.7 命令按钮组(Command Group)控件 190
7.9.8 选项按钮组(Option Group)控件 192
7.9.9 复选框(Check Box)控件 193
7.9.10 微调(Spiner)控件 195
7.9.11 图像(Image)控件 196
7.9.12 计时器(Timer)控件 197
7.9.13 超级链接控件 198
7.9.14 分隔符控件 198
7.9.15 容器(Container)控件 198
7.10 Visual FoxPro 6.0对GIF和JPEG图形的支持 198
7.10.1 Visual FoxPro语言对于图形的支持 199
7.10.2 Visual FoxPro控件和对象 199
7.11 小结 200
第8章 复杂的表单设计控件 201
8.1 列表框(List Box)的使用 201
8.1.1 在列表框中加入数据 202
8.1.2 将图片添加到列表项中 205
8.1.3 创建具有多列的列表框 206
8.1.4 在列表框中选定多项 206
8.2 使用组合框(Combo Box) 208
8.2.1 下拉组合框 208
8.2.2 下拉列表框 209
8.3 使用页框(Page Frame)控制 209
8.4 使用表格(Grid)控件 212
8.4.1 表格中的常用属性 213
8.4.2 在表格中显示控制 213
8.4.3 常用的表格属性 215
8.4.4 常用的列属性 215
8.5 小结 215
第9章 报表和标签 217
9.1 设计报表 217
9.2 创建报表和标签 218
9.2.1 创建快速报表 218
9.2.2 创建报表 219
9.2.3 利用标签设计器创建标签 219
9.3 “报表设计器”工具栏的使用 219
9.4 报表的布局 220
9.5 定制布局 221
9.5.1 添加标题和总结区 221
9.5.2 定义报表的页面 222
9.5.3 设置报表带区高度 223
9.6 在带区中添加控件和数据源 223
9.6.1 在报表中添加数据源 224
9.6.2 在报表中添加控件 224
9.7 使用报表变量 229
9.8 数据分组 231
9.9 报表的打印和预览 232
9.10 小结 233
第10章 设计菜单栏和工具栏 234
10.1 使用菜单设计器设计菜单 234
10.1.1 菜单的组成 234
10.1.2 创建菜单和快捷菜单 234
10.1.3 定义访问键和快捷键 236
10.1.4 启用和废止菜单项及标记菜单项的状态 237
10.1.5 为菜单或菜单项指定任务 237
10.1.6 菜单系统的初始化代码和清理代码 238
10.2 创建自定义工具栏 239
10.2.1 定义工具栏类 239
10.2.2 在表单集中添加自定义工具栏 240
10.2.3 工具栏所特有的事件 241
10.2.4 协调菜单和自定义工具栏 241
10.3 小结 242
第11章 创建和发布应用程序 243
11.1 使用“项目管理器” 243
11.1.1 创建项目 243
11.1.2 查看文件详细内容 244
11.1.3 创建、修改、添加和删除文件 244
11.1.4 折叠和停靠 245
11.1.5 为文件添加说明 246
11.1.6 使用“选项”对话框配置项目管理器 246
11.2 项目管理器挂接程序 248
11.3 编译应用程序 249
11.3.1 设置主文件 249
11.3.2 构造主程序 249
11.3.3 在.app和.exe文件中包含和排除文件 251
11.3.4 连编应用程序 252
11.4 创建发布磁盘 253
11.4.1 建立发布树 253
11.4.2 运行“安装向导” 253
11.5 小结 260
第12章 网络数据共享 261
12.1 访问数据的方式 261
12.1.1 以独占访问的方式使用表 261
12.1.2 以共享方式访问数据 262
12.2 共享方式下的文件访问 262
12.2.1 文件冲突、竞争和死锁 262
12.2.2 锁定的类型 263
12.2.3 自动锁定和人工锁定 263
12.2.4 解锁数据 267
12.3 缓冲编辑 268
12.3.1 选择锁定方式 268
12.3.2 使用SET REPROCESS命令管理冲突 270
12.3.3 使用“选项”对话框配置 272
12.3.4 管理和检测冲突的几个重要的函数 273
12.3.5 管理冲突的规则 277
12.4 使用事务处理管理数据更新 277
12.4.1 恢复事务处理 278
12.4.2 嵌套事务处理 279
12.5 小结 280
第13章 测试和优化应用程序 281
13.1 常见的错误类型 281
13.1.1 语法错误 281
13.1.2 逻辑错误 282
13.1.3 意外错误 282
13.2 使用“调试器”调试应用程序 283
13.2.1 跟踪代码 284
13.2.2 查看存储的值 286
13.2.3 显示输出结果 288
13.3 记录代码的覆盖范围 288
13.3.1 代码范围分析器应用程序 288
13.3.2 设定代码范围分析器应用程序 291
13.4 优化应用程序 292
13.4.1 使用Rushmore技术加速数据访问 292
13.4.2 优化表和索引 293
13.4.3 在表中使用Rushmore技术 293
13.4.4 创建准确的表达式 294
13.4.5 对DELETED()索引 295
13.4.6 定期索引 295
13.4.7 不使用EMPTY()或ISBLANK() 295
13.4.8 区别使用HAVING和WHERE 295
13.5 提高速度应注意的其他问题 296
13.5.1 避免函数的重复调用 296
13.5.2 把最可能的事件放在前面 296
13.5.3 用FOR...ENDFOR进行循环 297
13.5.4 避免宏替换 297
13.5.5 使数据文件一直保持打开 298
13.5.6 管理SQL命令的性能 298
13.5.7 引用对象属性 299
13.6 小结 299
第14章 创建帮助文件 300
14.1 创建.DBF样式的文件 300
14.1.1 帮助表的结构 301
14.1.2 创建.DBF样式帮助 302
14.1.3 使用.DBF样式帮助 303
14.1.4 根据应用程序的需要设计帮助信息 304
14.2 创建图形方式帮助 304
14.2.1 Windows图形样式帮助文件 304
14.2.2 几种不同类型的帮助 307
14.2.3 创建联机帮助文件 308
14.2.4 创建.rtf文件 309
14.2.5 创建帮助文件 311
14.2.6 在帮助系统中加入其他的功能 312
14.2.7 在帮助文件中加入图形 314
14.2.8 加入带热点的图形 314
14.2.9 定制窗口和加入按钮 316
14.2.10 设置非滚动区域 317
14.2.11 Windows 95帮助系统的其他功能 317
14.3 使用WinHelp函数 317
14.3.1 使用WinHelp函数 318
14.3.2 指定WinHelp参数 318
14.3.3 为帮助保留【F1】 320
14.3.4 退出帮助 320
14.4 HTML帮助系统 320
14.4.1 HTML文件说明 321
14.4.2 发布已编译的HTML帮助系统 321
14.5 小结 322
第15章 客户/服务器应用系统 323
15.1 基于文件服务器的网络数据库系统 323
15.1.1 文件服务器系统的模型 323
15.1.2 文件服务器系统的设计 324
15.1.3 文件服务器系统的适用范围 327
15.2 转入客户/服务器系统 327
15.2.1 为什么需要客户/服务器机制 327
15.2.2 客户/服务器的概念 328
15.2.3 客户/服务器系统的特征 328
15.3 客户/服务器系统的设计 329
15.3.1 客户/服务器系统设计的目标 329
15.3.2 使用Visual FoxPro作为系统的前端开发工具 329
15.3.3 使用SQL Server作为系统的后台数据库管理系统 330
15.3.4 使用ODBC连接Visual FoxPro和SQL Server 330
15.3.5 创建客户/服务器应用系统的基本方法 331
15.4 建立与远程数据源的连接 333
15.4.1 配置SQL Server服务器 333
15.4.2 配置SQL客户 336
15.4.3 创建ODBC数据源 337
15.4.4 实现Visual FoxPro与SQL Server的连接 339
15.5 升迁Visual FoxPro数据库 340
15.5.1 构造应用程序的本地原型 341
15.5.2 准备SQL Server端 342
15.5.3 准备客户端 343
15.5.4 使用SQL Server升迁向导升迁数据 344
15.5.5 升迁向导如何工作 348
15.5.6 升迁到Oracle上 352
15.6 远程视图直接访问SQL Server 353
15.6.1 远程视图的特点 353
15.6.2 创建远程视图 353
15.6.3 使用远程视图 357
15.7 使用SQL pass-through技术实现应用系统 357
15.7.1 使用SQL pass-through技术 357
15.7.2 介绍SQL pass-through函数 358
15.7.3 使用SQL pass-through函数访问远程数据 359
15.7.5 处理SQL pass-through错误 364
15.7.6 SQL pass-through与远程视图 364
15.8 客户/服务器系统及性能优化 365
15.8.1 系统登录的设计 365
15.8.2 根据用户权限定制系统菜单 366
15.8.3 控制访问和数据下载 368
15.8.4 平衡客户/服务器两端的数据和代码分配 371
15.8.5 确保数据完整性 373
15.9 小结 374
附录 375
附录A 菜单项 375
附录B Visual FoxPro 6.0中的文件类型及其结构 378
文件扩展名与文件类型 378
表文件的结构(.dbc、.dbf、.frx、.lbx、.mnx、.pjx、.scx、.vcx) 379
备注文件的结构(.fpt) 382
索引文件的结构(.idx) 382
压缩索引文件的结构(.idx) 384
复合索引文件的结构(.cdx) 386
宏文件的格式(.fky) 386