目 录 1
第1章Visual FoxPro开发环境概述 1
1.1系统菜单和工具栏 1
1.1.1常用工具栏 1
1.2在Visual FoxPro窗口下操作 2
1.2.1 Command窗口 3
1.2.2“有关微软Visual FoxPro”窗口 4
1.3使用工具栏 5
1.3.1 View/Toolbars 6
1.4创建/打开文件 7
1.5打印文件 8
1.6.3从其他应用程序中插入对象 9
1.6.2格式化文本 9
1.6.1查找文本 9
1.6编辑文本 9
1.6.4编辑一个嵌入对象 12
1.6.5编辑对象链接 14
1.7利用键盘宏命令使工作自动化 14
1.8管理项目 16
1.8.1创建一个新项目 16
1.8.2增加文件 17
1.8.3移动项目管理器 17
1.8.4工具概述 18
1.9小结 25
第2章表和数据 26
2.1表是什么 26
2.2创建FoxPro表和索引 27
2.1.3索引 27
2.1.2字段(列) 27
2.1.1记录(行) 27
2.2.1字段属性 29
2.2.2表设计器(Table Designer) 32
2.2.3检查所做的工作 33
2.2.4保存所做的工作 34
2.2.5用命令创建新表 34
2.2.6修改已存在的表 34
2.3打开及修改表 35
2.3.1管理数据 35
2.3.2导入数据 44
2.3.3导出数据 45
2.4小结 46
3.1.1表:自由表与包含表 47
3.1设计原理 47
第3章关系数据库及Visual FoxPro数据库设计器 47
3.1.2数据库集成器(DatabaseContainer) 48
3.2关系理论和实践 48
3.2.1分析系统需求 48
3.2.2建立数据模型 48
3.2.3父表和子表 51
3.2.4循序渐进的设计步骤 53
3.3活用数据库设计器 53
3.3.1租户数据库 53
3.3.2建立系统 55
3.4小结 68
第4章FoxPro程序设计语言 69
4.1字段、变量、特性和常量 70
4.1.1变量、字段和特性的分类 70
4.1.2变量和字段前缀 74
4.1.3变量类型 76
4.1.4变量的作用域 77
4.1.5命名变量、字段和特性 78
4.1.6系统内存变量 80
4.1.7数组变量 80
4.1.8处理常量 85
4.2 FOXPRO/XBASE语言入门 88
4.2.1 FoxPro命令 89
4.2.2表达式 90
4.2.3流控制指令 96
4.2.4非直接引用 98
4.3程序组装 101
4.3.1过程 101
4.3.2函数 101
4.3.4各种组装方法的差别 102
4.3.3方法 102
4.3.5处理参数 103
4.3.6管理过程和函数 104
4.3.7管理方法 105
4.4小结 106
第5章FoxPro数据管理命令 107
5.1命令概述 107
5.1.1范围参数 107
5.1.2 FOR和WHILE子句 108
5.1.3活用数据管理命令 108
5.1.4了解工作区 109
5.1.5打开一个表 109
5.1.6关闭一个表 109
5.1.9生成一个索引标签 110
5.1.7管理表的访问 110
5.1.8重定义表列 110
5.1.10指定一个索引标签 111
5.1.11重建一个索引 111
5.1.12通过命令删除记录 112
5.1.13通过命令恢复记录 113
5.1.14交互式处理被删记录 113
5.1.15删除做了删除标记的记录 114
5.1.16以网格形式浏览表 115
5.1.17使子集可见 115
5.1.18移动记录指针 115
5.1.19相关表 118
5.1.20修改一行或多行(记录) 119
5.1.21为表增加记录 120
5.2.1使用Rushmore优化 121
5.2数据管理经验 121
5.2.2当Rushmore并不快时 122
5.2.3什么时候不要使用Rushmore 123
5.2.4在可能情况下使用SQL 123
5.2.5不要产生额外的索引标签 123
5.2.6对大表使用分开查询法 123
5.3小结 124
第6章报表、标签和打印输出命令 125
6.1报表向导 125
6.1.1活用报表向导 125
6.2快速报表 127
6.2.4预览报表 128
6.2.3保存报表 128
6.2.2在记录间产生一些空间 128
6.2.1编辑文本标签 128
6.3运行报表 129
6.4报表设计器 130
6.4.1报表工具栏 130
6.4.2报表区 131
6.4.3运行专用数据会话过程 132
6.4.4设置数据环境 132
6.4.5安放控件 133
6.4.6带有作为数据源的视窗的报表 137
6.4.7在报表中嵌入程序代码 140
6.4.8用其他格式设置页 141
6.5格式化标签 147
6.6打印命令 148
6.7小结 149
第7章基本表单 150
7.1创建一个新项目 150
7.1.1增加数据库 150
7.1.2增加一个新表单 151
7.2表单向导(Form Wizard) 151
7.3表单设计器的概述 154
7.3.1 Form菜单 154
7.3.2表单设计器工具栏 155
7.3.3表单控件工具栏 156
7.3.4 Properties窗口 158
7.3.5 Options对话框中的Forms组件 159
7.4修改Customer表单 159
7.4.1过滤输入 160
7.4.2改变工具提示 161
7.4.3动态地改变标签栏 162
7.4.4数据有效性判断 163
7.4.5数据环境 164
7.4.6增加一个子浏览 166
7.4.7控件和数据 167
7.4.8把控件移到页帧中 167
7.5使用控件的技巧 169
7.5.1标签控件 170
7.5.2文本框控件 170
7.5.3编辑框控件 171
7.5.4命令按钮控件 171
7.5.5命令组控件 171
7.5.7复选框控件 172
7.5.8组合框控件 172
7.5.6选项组控件 172
7.5.9列表框控件 173
7.5.10数字微调器控件 173
7.5.11网格控件 174
7.5.12图形控件 175
7.5.13计时器控件 175
7.5.14页帧控制 175
7.5.15 OLE集成器和OLE限制控件 175
7.6调色板和布局工具栏 176
7.7快速创建表单 178
7.8在源代码中操作表单 179
7.8.1运行及释放表单 179
7.8.2从表单中返回值 179
7.9小结 179
8.1.1菜单的几个部分 180
第8章自定义菜单和工具栏 180
8.1定制System菜单 180
8.1.2根据System菜单创建一个快速菜单 181
8.2设置你所希望的System菜单 185
8.3设计应用程序菜单 187
8.3.1设计菜单的一般原则 187
8.3.2创建菜单 188
8.4通过编程设计一个菜单 194
8.4.1菜单编程指南 195
8.4.2菜单演示程序 196
8.4.3程序清单 196
8.4.4在程序中改动菜单 200
8.5.1修改Visual FoxPro工具栏 201
8.5.2用可能的按钮创建一个新的工具栏 201
8.5工具栏 201
8.5.3创建一个自定义工具栏类 202
8.6将自定义菜单和工具栏联合使用 208
8.6.1在菜单设计器中加入工具栏代码 208
8.7小结 208
第9章活用字符型数据和备注型字段 210
9.1操作备注型字段 211
9.1.1备注型字段是如何工作的 211
9.1.2显示及在备注型字段编辑窗口中移动光标 212
9.1.3字符表达式中的查找及替换 214
9.1.4删除字符表达式的一部分 217
9.1.5把备注型字段拷贝到磁盘文件中及把磁盘文件拷贝到备注型字段中 219
9.1.6把磁盘文件输入到备注型字段中去 219
9.1.7活用备注行 221
9.1.9将二进制数据存入二进制备注型字段 223
9.1.8在备注型字段中存储内存变量和数组 223
9.2有关字符数据的经验技巧和指南 224
9.2.1使用子串 224
9.2.2填充、修整和连接 226
9.3数据类型转换 228
9.3.1数字转换成为字符表达式 228
9.3.2把日期和日期时间表达式转换成字符表达式 228
9.3.3数字转换成字 229
9.3.4 TOMONEY3将数字转换为美元 230
9.3.5检测字符表达式中的数字和字母 233
9.4文本合并 233
9.4.1TEXTMERGE命令和分隔符是如何工作的 236
9.4.2 MERGFILE.PRG 237
9.5小结 238
9.4.3打印TEXTMERG输出结果 238
第10章 活用SQL SELECT命令 240
10.1选定字段 240
10.1.1消除重复值 241
10.1.2使用集合函数 241
10.2指定结果集的位置 242
10.3过滤结果集 243
10.3.1接收参数 243
10.3.2联接条件 244
1o.3.3使用集合和范围 244
10.3.4匹配子串 245
10.3.5检测NULL值 245
10.3.6在WHERE子句中使用函数 246
10.4.1应用过滤条件到分组 248
10.4将结果分组 248
10.5联合 250
10.5.1外部联接 251
10.6结果排序 251
10.6.1组排序 252
10.7小结 252
第11章使用视窗 253
11.1视窗设计器(View Designer) 253
11.1.1增加及删除表 254
11.1.2联接条件 254
11.1.3 Update Criteria组件 259
11.2用程序创建视窗 260
11.2.1范例 261
11.3使用视窗 261
11.3.1打开视窗 261
11.3.3改变视窗特性 262
11.3.2显示视窗的结构 262
11.3.4使视窗可更新 263
11.3.5视窗参数化 265
11.3.6重命名及删除视窗 265
11.4小结 266
第12章访问远程数据资源 267
12.1术语 267
12.2操作模式 268
12.3分担工作量 268
12.4设置ODBC 269
12.5创建新项目 271
12.6与服务器连接 272
12.6.1使用连接句柄 272
12.6.3改变连接特性 273
12.6.2连接设计器(Connect Designer) 273
12.7远程视窗 274
12.7.1远程视窗向导(Remote View Wizard) 274
12.7.2将数据从远程数据源复制到本地表中 277
12.7.3在同一个视窗中组合本地数据和远程数据 278
12.8 SQL PASS-THROUGH函数 279
12.8.1 使用SQLExecO 280
12.9检索多重结果集 281
12.9.1同步模式和异步模式 281
12.9.2批操作与非批操作 281
12.9.3模式比较 282
12.10优化查询 284
12.10.1优化数据检索 284
12.10.2更新远程表 286
12.11数据转换 287
12.12 UPSIZING 向导 289
12.12.1使用Upsizing向导 289
12.12.2关于Upsizing向导的注意事项 289
12.13小结 289
第13章Visual FoxPro中的面向对象 290
13.1面向对象来源何处 290
13.2为何突然流行起来 291
13.3面向对象编程的优点 291
13.3.1开发更快 291
13.3.2更易维护 291
13.5术语 292
13.4.2执行速度 292
13.4.1学习鸿沟 292
13.4缺陷 292
13.3.4总结 292
13.3.3更高的质量和适应性 292
13.5.1类 293
13.5.2对象 293
13.5.3特性(实例变量) 296
13.5.4方法 296
13.5.5 消息 297
13.5.6继承 299
13.5.7层次 301
13.5.8多态性 302
13.5.9封装 303
13.5.10集成对象(集成器) 304
13.5.11 指派 307
13.5.12属性和方法的作用域 308
13.5.13类的公共接口 310
13.5.14类库 310
13.5.15模板 311
13.5.16管理类 311
13.6可视工具 312
13.6.1类浏览器 312
13.6.2类设计器 317
13.7小结 321
第14章高级表单 322
14.1修改表单特性 322
14.1.1创建表单 322
14.1.2增加Init方法 323
14.1.3处理More按钮 324
14.2.1通过组合框挑选表记录 326
14.1.4从表单中删掉标题栏和边框 326
14.2使用组合框 326
14.2.2通过组合框选择数据 327
14.3创建可变化的图形 328
14.4操作网格 330
14.4.1活用网格生成器 330
14.4.2网格的PEM 331
14.4.3进行合法性检查 332
14.4.4改变单元和列的外观 333
14.5处理多页 336
14.5.1具有组件的页 336
14.5.2没有组件的页面 338
14.6试试计时器 340
14.7实现拖放功能 342
14.8创建表单集 343
14.9用代码创建表单 344
14.9.1运行SHOWTAGS 345
14.9.2作为函数的SHOWTAGS程序 345
14.9.3把表单作为函数使用 346
14.10有关表单和控件建议 348
14.11小结 354
第15章活用FOXPRO的可视类 355
15.1制定编程策略 355
15.1.1应把所有类都归于类吗 355
15.1.2管理类库 355
15.2基础可视类 360
15.2.1子类控件 360
15.2.2建立一个基本表单类 361
15.2.3进度条表单 362
15.3使用集成器类 364
15.3.1创建一个集成器控件 364
15.3.2访问集成器中的对象 366
15.3.3管理复杂的页帧页面 367
15.3.4改变表单以适应不同的屏幕分辨率 369
15.4创建一个应用程序类 371
15.4.1基本需求 373
15.4.2类设计器中的一个应用程序 373
15.4.3一个应用程序类的代码 374
15.4.4有关应用程序的重要提示 375
15.5.1利用frmDataent建立表单 376
15.5数据输入表单 376
15.6创建工具栏 379
15.6.1简单工具栏代码 380
15.6.2表单与工具栏的组合 381
15.7有关应用程序框架 384
15.8小结 385
第16章调试FoXPro应用程序 386
16.1开发调试 386
16.1.1测试命令 386
16.1.2避免编写代码 387
16.1.3让FoxPro生成代码 388
16.1.4防错程序设计 389
16.1.5使用WAIT WINDOW和MessageBoxO函数 389
16.1.6利用编译指令来管理代码 390
16.1.8试试View窗口 392
16.1.7标准的错误处理器 392
16.1.9使用Debug窗口 394
16.1.10利用Trace窗口观察代码 396
16.1.11创建调试工具栏 398
16.2处理应用程序错误 400
16.2.1 ON ERROR子例行程序 400
16.2.2 Error方法 404
16.3小结 407
第17章数据的完整性 408
17.1加强事务规则 408
17.1.1使用数据库 408
17.1.2加入规则 410
17.2使用缓冲 418
17.2.3缓冲选项 419
17.2.1延迟写入的旧方法 419
17.2.2延迟写入 419
17.2.4缓冲的复杂性 420
17.3管理多用户访问 424
17.3.1 自动及人工锁定 425
17.3.2积极和消极锁定 425
17.3.3用命令进行多用户设置 426
17.3.4用可视工具进行多用户设置 428
17.3.5人工加锁 431
17.3.6现实生活中的例子 432
17.3.7事务处理 433
17.3.8错误处理 435
17.4小结 437
18.1导入其他格式的数据 438
18.1.1导入电子表格 438
第18章连接外部世界 438
18.1.2使用IMPORT命令 439
18.1.3使用APPEND FROM命令 440
18.1.4使用Import向导 440
18.1.5限制 441
18.2导入ASCII文件 441
18.2.1字段是如何分界的 442
18.2.2使用APPEND FROM命令 442
18.2.3使用Import向导 443
18.3导出数据到其他产品中 444
18.3.1使用Export对话框 444
18.3.2使用COPY TO命令 445
18.3.3直接写入ASCH文件 445
18.4.1使用邮件合并(Mail Merge)向导 448
18.4字处理程序的接口 448
18.4.2 Word for Windows合并文件 449
18.4.3 WordPerfect for Windows合并文件 451
18.4.4 WordPerfect for DOS合并文件 452
18.5通过ODBC远程连接 455
18.6在应用程序中使用OLE 456
18.6.1 OLE集成器控件 457
18.6.2 OLE限制控件 460
18.7 OLE自动化 462
18.7.1创建及打印Word for Windows文档 462
18.8用MAPI发送E-MAlL消息 464
18.9小结 466
19.1配置 467
19.1.1配置文件 467
第19章配置和文档 467
19.1.2 Options对话框 470
19.2文档向导 483
19.2.1选定文件 483
19.2.2选择书写格式 483
19.2.3选择缩进 483
19.2.4选择在哪儿增加标题 483
19.2.5选择文档 485
19.2.6定制文档向导 490
19.3小结 491
附录A关于联机手册 492
B.2设置驱动器和路径 493
B.3检查项目文件 493
B.1安装 493
附录B关于配套磁盘 493
B.4 小结 494
附录C优化技巧及操作经验 495
C.1准备工作 495
C.1.1开发平台 495
C.1.2用于开发的硬盘 496
C.2.1一个简单的测试程序 499
C.2提高程序性能的程序设计方法 499
C.2.2程序循环方面的技巧 501
C.2.3显示方面的经验 503
C.2.4使用户眼见为实 506
C.2.5管理内存 507
C.3有关编程风格的建议 508
C.3.1注释 508
C.3.2大写 508
C.3.3简化逻辑 510