目 录 3
第一篇交互式Visual FoxPro 3
第一章Visual FoxPro的安装 3
1.1安装 3
9.1.2选择字段 (1 4
1.2启动Visual FoxPro 4
1.2.1 REG.DAT 6
1.2.2选项 6
1.2.3 CONFIG.FPW 12
1.2.4 DEFAULT.FKY 15
2.1 Windows 17
第二章Visual FoxPro界面 17
2.2工具条 20
2.3定制工具条 23
2.4工具提示 24
2.5菜单 24
2.6控制 26
2.7 页面分类框 27
2.8展开与折叠按钮 27
2.9摁钉(pushpins) 29
2.10文本框 30
2.11编辑框 30
2.12命令按钮 31
2.13选项按钮组 31
2.14复选框 31
2.15组合框 31
2.16列表框 31
2.17微调控制器 31
2.18 Visual FoxPro的界面 33
2.19设置Visual FoxPro界面 33
3.1 FoxPro的源头 36
第三章Xbase的简史 36
3.2技术的进化 38
第四章关系模型 41
4.1样例 42
4.2使样例与关系模型相一致 44
第五章Visual FoxPro数据结构 50
5.1表 50
5.2字段 51
13.3.1配置Editor使其满足你的需要 (1 51
13.3.3在程序执行当中控制Visual FoxPro的行为 (1 52
5.3 NULL(空值) 52
5.4索引 53
5.6数据库 56
5.5索引和快速查询 56
5.7.MEM文件 57
5.8 其它FoxPro文件 57
第六章表的操作 59
6.1访问一个现有的表 59
6.2独占与共享使用 60
6.3访问多个表 60
6.4查看表的内容 61
6.5指定记录的顺序 65
6.6建立索引 66
6.7创建表与修改现有表的结构 67
6.8设置过滤器 69
7.2访问多个数据库 70
7.1访问现有的数据库 70
第七章数据库的操作 70
7.3查看数据库的内容 71
7.4使用数据库设计器 73
7.4.1在数据库设计器窗口中操作表窗口 73
7.4.2向数据库中添加表 74
7.4.3关闭数据库 75
7.4.5对数据库中表的处理 76
7.4.4创建数据库 76
7.4.6 Visual FoxPro的数据字典 77
7.5创建固定关系 78
7.5.1删除固定关系 79
7.6 以编程的形式创建表 79
7.6.1表级子句 81
7.6.2字段级子句 83
7.7 用编程的方式修改表和数据字典的信息 85
8.1 基本的SELECT语法 88
第八章查询 88
8.2字段列表 89
8.3记录子集 91
8.4合计函数 94
8.5小计 95
8.5.1多表选取 96
8.5.2外部连接 97
8.6控制结果集:目标 99
8.7 控制结果集:ORDER BY 100
8.8控制结果集:DISTINCT 101
8.9 控制结果集:HAVING 102
9.1建立一个查询 103
9.1.1 Query Designer界面 103
第九章查询设计器 103
9.2运行查询 105
9.3 建立复杂的字段表达式及使用合计函数 105
9.4交叉表 106
9.5添加及删除表 106
9.6选择判定标准 108
9.6.1排序 109
9.6.2分组 109
9.6.3显示当前SQL 109
9.6.4表视图 111
9.7 对Query Designer的限制 111
9.6.5查询目标 111
第十章查找特定数据及表中移动 113
10.1 SKIP命令 113
10.2 BOF()、EOF()和影子记录(phantom record) 114
10.2.1 BOF() 114
10.2.2 EOF() 114
10.3 GO命令 116
10.4 SEEK命令 116
10.5 LOCATE命令 117
第十一章修改数据 119
11.1交互式添加记录 119
11.2 以编程的形式添加记录 119
11.2.1 APPEND BLANK/GATHER命令 119
11.2.2 SQL1NSERT命令 121
11.3从另外的源添加一批数据 122
11.4交互式删除记录 123
11.5 以程序的方式删除记录 123
11.6处理已被删除的记录:重新调用及清理 124
11.7交互式编辑记录 126
11.8用编程的方式编辑记录 126
11.8.1 FoxPro 2.x的解决办法 126
11.8.2 Visual FoxPro的多用户机制 127
11.8.3 OLDVAL、CURVAL及EVAL函数 128
11.8.4 存贮及TABLEUPDATE()函数 130
11.8.5 TABLEREVERT()函数 132
11.8.6修改不同的字段 132
11.8.7 表缓存(TABLE BUFFERING) 133
11.9结论 134
12.1建立文件卡视图关系 135
第十二章在表之间建立关系 135
12.2建立查找视图关系 142
第二篇Xbase编程示例 147
第十三章建立程序 147
13.1利用Editor(编辑器)建立文件 147
13.2编译及运行程序 149
13.3 配置Visual FoxPro以适合编程需要 150
13.3.2编辑文本时的选择 151
13.4 Visual FoxPro应用程序的结构 154
14.1命令 156
第十四章命令、变量、运算符、函数和表达式 156
14.2变量 160
14.2.1命名约定 163
14.2.2作用范围 163
14.3运算符 166
14.4函数 166
14.5表达式 167
第十五章函数 169
15.1确定表达式的数据类型 169
15.2数字与字符串之间的转换函数 170
15.3日期转换函数 171
15.4 日时(Date Time)转换函数 172
15.6逻辑转换函数 173
15.5货币转换函数 173
15.7串函数 174
15.8数组函数 178
15.8.1数组操作函数 178
15.8.2其它的数组函数 181
15.9后记 181
第十六章逻辑结构 182
16.1 IF/ELSE/ENDIF 182
16.2 DO CASE/OTHERWISE/ENDCASE 183
16.3 FOR/ENDFOR 184
16.4 DO WHILE/ENDDO 187
16.5 SCAN/ENDSCAN 187
16.6向可怕的逻辑结构告别 191
17.1 UDF放到哪里 192
17.2 向UDF传送一个参数 192
第十七章用户自定义函数 192
17.3 UDF的调用和返回的值 193
17.4构造稳定的UDF 195
17.5制做UDF“黑箱(black box)” 200
第十八章调试工具 202
18.1 Suspend/Resume 203
18.2 View窗口 203
18.3 Debug窗口 203
18.4 Trace窗口 204
第三篇 Visual FoxPro工具 209
第十九章项目管理器 209
19.1快步上路 209
19.2.1 Project Manager对话框 210
19.2深入现场实践Project Manager 210
19.2.2 Project菜单 213
19.3提示与技巧 214
第二十章数据库设计器 217
20.1快步上路 217
20.2现场实践Database Designet 222
20.2.1 Database Designer快捷菜单 222
20.2.2 Table快捷菜单 225
20.2.3 Relationship快捷菜单 228
20.2.4 Database菜单 228
20.3提示与技巧 230
20.3.1 Visual FoxPro表结构 230
20.3.2创建关键字 230
20.3.3典型问题 231
21.1快步上路 232
第二十一章菜单设计器 232
21.2现场实践Menu Designer 234
21.2.1 MenuDesigner对话框 234
21.2.2 Menu下拉菜单 238
21.2.3 View下拉菜单 239
21.2.4菜单生成过程 243
21.3提示与技巧 243
第二十二章表单设计器 247
22.1总体概述 247
22.2术语和工具 248
22.3快步上路 250
22.3.1创建和运行一个表单 250
22.3.2将表单与用户输入集成到一起 253
22.3.3从表单中控制表单对象 256
22.3.4将表单和数据集成到一起 259
22.3.5在一个表单中处理多个表 263
22.3.6创建一个One-To-Many(一对多)的表单 266
22.3.7创建一个表单集(多个表单) 267
22.4现场实践Form Designer 270
22.4.1 Properties窗口 271
22.4.2 Code窗口 272
22.4.3 Form Designer工具条 273
22.4.4 Forx Controls工具条 273
22.4.5 Color Palette工具条 274
22.4.6 Layout工具条 274
22.4.7菜单 274
22.4.8引用对象 276
22.5提示与技巧 281
23.1快步上路 283
第二十三章控制 283
23.1.1公共特性 284
23.1.2公共事件 286
23.1.3事件触发 286
23.2现场实践每一种控制 287
23.2.1触发动作的控制 287
23.2.2 VisualDelineators(直观绘制器) 293
23.2.3数据控制 295
23.2.4其它的表单控制工具条图标 315
24.1快步上路 317
24.2 简单的“快速报表” 317
第二十四章报表设计器和标牌设计器 317
24.3使用多张表 319
24.4使用报表变量 324
24.5现场实践Report Designer 327
24.5.1 Report Designer窗口 327
24.5.2 Report Controls工具条 328
24.5.3 Layout Controls工具条 328
24.5.4 Color Palette工具条 329
24.5.5 Report菜单 329
24.5.6 View菜单 330
24.6现场实践Label Designer 331
24.6.1 LabelDesigner窗口 331
24.7提示与技巧 331
25.1.1 创建一个本地视图 333
25.1快步上路 333
第二十五章视图设计器 333
25.1.2创建一个远程视图 335
25.2现场实践View Designer 337
25.2.1 View菜单 337
25.2.2 Query菜单 338
第二十六章类设计器和类浏览器 341
26.1 面向对象程序设计的快速入门 342
26.1.1原始表单和控制对象 343
26.1.2从初始版本中继承 343
26.1.3创建你自己的初始版本 344
26.1.4OOP术语 344
26.1.5不可视类 345
26.1.6 OOP放在Visual FoxPro中的什么地方 347
26.2.1创建你自己的表单基类 348
26.1.7在现实应用系统中的生产率 348
26.2快步上路 348
26.2.2创建表单子类 351
26.2.3在Visual FoxPro中登记表单类 351
26.2.4把定制的图标附着到一个已登记注册的类上 353
26.2.5从表单子类出发创建表单 354
26.2.6修改一个表单类 355
26.2.7创建你自己的控制基类 356
26.2.8从你的基类出发创建控制子类 356
26.2.9登记你的控制基类 357
26.2.10从你的基类或子类出发把控制放入表单 357
26.2.11控制类和容器类 357
26.2.12创建一个不可视类 358
26.2.13增加你自己的属性和方法 359
26.2.14考察一个类库的内容 362
26.2.15属性和方法的层次体系 362
26.3现场实践Class Designer 363
26.4现场实践Class Browser 364
26.4.1安装Class Browser 364
26.4.2使用Class Browser 364
第四篇 创建Visual FoxPro应用程序 369
第二十七章开发功能规范的过程 369
27.1应用程序的开发周期 371
27.2电话联系 371
27.3销售商谈 374
27.3.1审查现有应用软件 376
27.3.3缔约书 378
27.3.2你能给我一个棒球场的价格吗 378
27.4功能规范 380
第二十八章定制开发环境 382
28.1几个错误的开端 382
28.2开发者的环境需求 384
28.3驱动器分配 385
28.4根目录的内容 387
28.5应用程序目录的内容 388
28.6优化开发环境 389
第二十九章设置菜单和事件处理程序 394
29.1确定菜单风格 395
29.1.1以功能为中心的菜单风格 395
29.1.2 FILE/EDIT/DATA/REPORTS/UTILITIES/HELP 396
29.1.3以文档为中心的菜单风格 396
29.1.4 伪面向对象(PSEUDO-OBJECT-ORIENTED)菜单系统 397
29.2 用户和开发者的菜单 398
29.3时间与付帐及跟踪系统(TABETS)菜单结构 399
29.3.1 File 399
29.3.2 Edit 400
29.3.3 Record 400
29.3.4 Tools 401
29.3.5 1eveloper 401
29.3.6 Window 402
29.3.7 Help 402
29.4具有非常简单事件循环的菜单 402
29.4.1创建并运行一个具有非常简单事件循环的菜单 402
29.5 Visual FoxPro事件处理程序 411
29.6给程序框架添加功能 411
29.7.2创建非可视类 413
29.7 利用Visual FoxPro的面向对象功能 413
29.7.1快速复习非可视类 413
29.7.3实现非可视类 420
29.7.4增强非可视类 425
29.7.5创建应用程序层的非可视类 428
29.7.6开始习惯于非可视类中的方法和属性 431
29.8真正的菜单对象 432
第三十章建立应用程序的基础 433
30.1表单类型 434
30.2做好准备—创建自己的类库 435
30.2.1创建BASECTR L.VCX控制类库 435
30.2.2创建自己的控制类库 435
30.2.3创建BASEFORM.VCX表单类库 438
30.2.4 由基类来创建一个真实的表单 445
30.2.5幕后正在发生什么 446
30. 3代码放在何处 449
30.3.1创建一个具有启动部件的项目 449
30.3.2创建具有自己方法的表单 450
30.3.3创建文件打开表单 455
30.3.4总结 457
30.4创建表单并将其连接到工具条上 458
30.4.1将表单名放到窗口菜单上 458
30.4.2创建工具条类 460
30.4.3 在BASECTRL中创建新的控制类 460
30.4.4创建基工具条类 462
30.4.5让工具条和应用程序一起运行 466
30.5.1 除去命令按钮 467
30.5 除去表单上的命令按钮并使用工具条的一个拷贝 467
30.5.2创建一个实例处理程序 468
30.5.3使工具条自动泊留 470
30.5.4运行应用程序 470
30.6小结 471
第三十一章创建表单 472
31.1使数据处理功能更强 472
31.1.1数据处理的回顾 472
31.1.2以最佳的方式处理错误 473
31.2通用的Add方法 484
31.2.1 INCRID()--主关键字增加方法 485
31.2.2 ADD()方法 489
31.3 通用的删除方法 489
31.4雇员表单(轻松自如) 490
31.5.1 ITLOOK查询表 491
31.5用户表单(简单查询) 491
31.5.2利用下拉式列表框查询 493
31.5.3利用选择列表查询 494
31.6通用的选择列表 498
31.7项目表单(温故而知新) 504
31.8简单的Customer表单 505
31.9复杂的Customer表单 509
31.10时间项表单 512
第三十二章报表 516
32.1一对多报表 516
32.2一对多及多对多报表 518
32.3 Report Designer的限制 521
33.1设置源程序 525
第三十三章完成应用程序 525
33.2余下的零星事 527
33.2.1对_SCREEN.ACTIVEFORM的检测:问题 527
33.2.2解决办法 527
33.2.3使RECORD菜单组变暗:问题 528
33.2.4解决办法 528
33.2.5重新恢复被用户关闭的工具条:问题 529
33.2.6解决办法 530
33.2.7另一种选择 531
33.2.8没有选择选项时,FileOpen表单将遭破坏:问题 532
33.2.9解决办法 532
33.3处理开发目录结构 533
33.3.1设置所需路径 535
33.3.2使用多种数据集 544
33.4一般性查询表单 546
33.5下一个目标 550
33.5.1 去寻求更多的帮助 550
33.5.2避免重起炉灶 551
第五篇高级论题 557
第三十四章表单创建过程自动化:构造器 557
34.1 Visual FoxPro的构造器技术 557
34.2建立你自己的构造器 559
34.3 同时修改多个控制 560
34.4 以交互方式修改多个属性 562
34.5修改控制的类 565
34.6构造器登记注册表 572
35.1.1缺少的特性 574
35.1数据字典需求 574
第三十五章扩展数据字典 574
35.1.2可能的解决方案 575
35.1.3两种有效的扩展方法 576
35.2 使用EDC扩展Visual FoxPro数据库容器 577
35.2.1 启动并运行EDC 577
35.2.2创建EDC类库 578
35.2.3 EDC的结构 578
35.2.4作为EDC的开始:所用的最新ID 580
35.2.5 Input Mask(输入掩码) 581
35.2.6使用具有一个重建索引实用程序的EDC 586
35.2.7结论 591
35.3使用DBCX扩展Visual FoxPro数据库容器 591
35.4扩展DBC:结论 592
36.1什么是客户/服务器 593
第三十六章客户/服务器应用系统 593
36.2 Vi8ual FoxPro的客户/服务器范例如何工作 594
36.3如何访问服务器的数据 595
36.4问题 599
第三十七章与外部世界通信:OLE 602
37.1 OLE控制 602
37.1.1 访问OLE控制 603
37.1.2 MSOUTLINE 604
37.1.3 Graphics Server 607
37.2 OLE自动化 612
附录A: 协议书、附件及功能规范 614
A.1协议书 614
A.2协议书的附件 617
A.3功能规范 620
A.4功能规范的部分内容 621
A.4.1总则 621
A.4.2特定的功能 621
A.4.3文件的结构 622
A.4.4环境 622
A.4.5安装 623
A.4.6 目录结构 623
A.4.7原始数据 623
A.4.8主菜单 623
A.4.9控制 625
A.4.10应用程序屏幕 626
附录B: 关于本书的附随磁盘 628
B.1 重要的说明 628