目录 1
简介 1
第Ⅰ部分 开发FoxPro应用程式 1
第1章 开发应用程式:大图片 3
1.1 什么是大型应用程式? 4
1.2 应用程式开发中的关键问题 5
1.3 与使用者的联系 6
1.3.1 基本原则 6
1.3.2 需求分析(实用规格说明书) 7
1.3.3 软体(技术)规格说明书 8
1.3.4 “有效作用蔓延”管理 9
1.3.5 更新过程 10
1.3.6 软体开发与交付 11
1.4 与开发小组的联系 12
1.4.1 规格说明书的编写过程 13
1.4.2 小组会 13
1.4.3 设计规格说明书 14
1.4.4 文件编写 14
第2章 技术标准与准则 15
2.1 标准 16
2.1.1 命名约定 16
2.1.2 栏位的命名 19
2.1.3 视窗的命名 20
2.1.4 资料库表格 20
2.2 原始程式码的格式化 21
2.2.1 头部格式 21
2.3 程式码格式化 22
2.4 建立可复用的程式码 22
2.5.1 可利用物件的描述 23
2.5 界面标准与准则 23
2.5.2 使用者界面的一致性 27
2.5.3 提供可视缐索 27
2.5.4 为使用者着想 29
2.5.5 模式使用的避免 31
2.5.6 易用性与特权 31
2.5.7 总结 32
2.5.8 额外资讯 32
2.6 功能表标准 33
2.6.1 单平台应用程式 33
2.6.2 交叉平台应用程式 34
第3章 多使用者程式设计 35
3.1 方法1:直接READ法 36
3.2 方法2:间接READ法 36
3.3 方法3:信号机加锁法 37
3.5 增加新记录 38
3.4 一致性问题 38
3.6 事件驱动处理环境 39
第4章 事件驱动程式设计 41
4.1 基本READ操作 43
4.2 事件循环的程式码编制 44
4.2.1 使用者退出应用程式 45
4.2.2 使用者按动功能表选项 45
4.2.3 使用者在视窗间按动 46
4.2.4 使用者退出视窗 47
4.2.5 建立与删除工具棒 48
4.2.6 关闭应用程式视窗 49
4.3 将最后几段程式就位 49
第5章 工具棒和物件导向的程式设计 51
5.1 方法1:使用CASE叙述 52
5.2 方法2:使用IN子句 53
5.3 方法3:使用呼叫堆叠 54
5.4 方法4:使用方法程式 55
第6章 建立可复用的物件 59
6.1 编写可复用的程式码 60
6.2 什么是可复用的程式码?为什么要使用可复用的程式码? 60
6.3 编码中的问题 60
6.4 程式码呼叫 61
6.5 PRIVATE陷阱 61
6.6 环境设置 62
6.7 参数使用 63
6.8 萤幕产生程式和可复用的程式码 64
6.9 专案产生程式和可复用的程式码 65
6.10 可复用程式码的管理 65
6.11 物件管理程式 66
6.12 资料驱动的可复用物件 66
6.13 实例 67
6.14 更改资料驱动常式 68
6.15 总结 69
第7章 Mover——一个可复用物件的范例 71
7.1 一个有用的可复用物件 72
7.2 可复用视窗的设计 73
7.3 OK,程式码在哪儿? 75
7.4 SETUP程式片段 75
7.5 ACTIVATE程式片段 79
7.6 全列表和选取列表程式片段 79
7.7 ValMover()函数 80
7.8 ValRemove()函数 82
7.9 Move和Remove按钮 83
7.10 Move All按钮 83
7.11 Remove All按钮 84
7.13 Cleanup程式片段 85
7.12 OK与Cancel按钮 85
7.15 总结 86
7.14 程式码产生选项 86
第8章 可用性技术 89
8.1 可用性技巧 90
8.2 资讯增添技术——交叉分析列表 91
8.3 资讯增添技术——A/R报告 94
8.4 资讯增添技术——飞行式使用者平衡技术 95
第9章 应用程式的测试 97
9.1 制定测试计划的时间 98
9.2 测试阶段 99
9.3 实现测试程序的方法 100
9.4 总结 101
第10章 使用OLE 103
10.1 什么是OLE? 104
10.3 REGEDIT 的高级界面 105
10.2 什么是注册资讯资料库? 105
10.4 REGEDIT的用途 106
10.5 使用OLE 107
10.6 Macintosh上的OLE 108
10.7 总结 108
第11章 使用DDE 109
11.1 DDE基础 110
11.2 建立连结 111
11.2.1 建立与FoxPro For Windows的连结 112
11.3 使用试算表 114
11.4 用DDE执行命令 115
11.5 试算表中项目的讨论 116
11.6 连结的终止 117
11.7 DDE函数列表 117
第Ⅱ部分 应用程式范例 119
第12章 应用程式范例——简介 121
12.1 资料结构 122
12.1.1 光碟存货清单资讯:CD.DBF 122
12.1.2 应用程式资源目录:CDRSRC.DBF 123
12.1.3 顾客资讯:CUSTOMER.DBF 123
12.1.4 栏位级资料目录:DATADICT.DBF 123
12.1.5 发票列-项目式购买记录:PURCHASE.DBF 125
12.1.6 报告目录:REPOLIST.DBF 125
12.1.7 使用者存取档案:SECURITY.DBF 126
12.1.8 状态有效性:STATES.DBF 127
12.1.9 执行期设定资讯:SETUP.DBF 127
12.1.10 错误讯息:ONERROR.DBF 128
12.1.11 应用程式辅助档案:CODEHELP.DBF 128
12.1.12 发票抬头资讯:INVOICE.DBF 128
12.1.13 开发者资讯:INTSETUP.DBF 129
12.1.14 表格级资料目录:TABLDICT.DBF 130
第13章 专案档案——CODEBOOK.PJX 131
13.1 普通专案目录结构设计 132
13.2 特定应用程式目录结构设计 133
第14章 我们的功能表——MAIN.MNX 135
14.1 通用的开始部分 136
14.2 此应用程式的功能表 138
14.2.1 Systern功能表选项 138
14.2.2 File功能表选项 140
14.2.3 Edit功能表选项 141
14.2.4 Database功能表选项 142
14.2.5 Record功能表选项 143
14.2.6 Program功能表选项 145
14.2.7 Output功能表选项 145
14.2.8 Window功能表选项 146
14.3 安全性的实现 147
第15章 特定应用程式的萤幕 149
15.1 存货清单的输入:CD.SCX 150
15.1.1 Setup程式片段 151
15.1.2 Deacrive程式片段 152
15.1.3 Cleanup程式片段 152
15.1.4 CD视窗——摘要 152
15.2 特定应用程式的萤幕——MUSICIAN.SCX 170
15.3 顾客资讯输入:CUSTOMER.SCX 185
15.3.1 Setup程式片段 186
15.3.2 Show程式片段 186
15.3.3 Cleanup程式片段 187
15.3.4 顾客视窗——摘要 187
15.4 发票输入:INVOICE.SCX 213
15.4.1 设计决策 214
15.4.3 建立视窗 215
15.4.2 资料结构 215
15.4.4 萤幕程式编码 216
15.4.5 视窗的Setup程式片段 216
15.4.6 READ WHEN程式片段 216
15.4.7 此物件的VALID程式片段 218
15.4.8 Cleanup程式片段 218
15.5 列-项目的修改:FILLITEM.SCX 252
第16章 特定应用程式的报告 265
16.1 顾客邮寄标签:CUSTLBL.LBX 266
16.2 存货清单列表:LISTCD.FRX 267
16.3 顾客列表:LISTCUST.FRX 276
16.4 顾客订单报告:ORDERS.FRX 283
16.4.1 查询 283
16.4.2 报表 283
16.5.2 报表 304
16.5 应收帐目变化报告:ARREPO.FRX 304
16.5.1 查询 304
第17章 可复用的程式 325
17.1 关于萤幕处理程式:ABOUT.PRG 326
17.2 给功能表加入视窗标题:ADDBAR.PRG 327
17.3 应收帐目变化计算:ARCOLHED.PRG 328
17.4 城市、州、邮政区域输出栏位的格式化:CSZ.PRG 329
17.5 多使用者删除检查:DELCHECK.PRG 330
17.6 建立交叉分析列表:GENXTAB.PRG 331
17.7 多使用者记录插入:INSREC.PRG 331
17.8 检查记录是否加锁:ISLOCKED.PRG 332
17.9 索引标记搜寻:ISTAG.PRG 333
17.10 从功能表中删除视窗:KILLBAR.PRG 334
17.11 从萤幕中删除视窗:KILLWIND.PRG 335
17.12 标准工具棒操作:METHODS.PRG 336
17.13 多使用者环境下唯一标识的增长:NETID.PRG 347
17.14 记录加锁:NETLOCK.PRG 349
17.15 唯一标识的压缩:NEXT207.PRG 350
17.16 资料驱动表格的打开:OPENDB.PRG 351
17.17 变数状态恢复:RESTMEM.PRG 354
17.18 变数状态保存:SAVEMEM.PRG 355
17.19 FoxPro环境的初始化:SETSETS.PRG 356
17.20 在报表中显示页号:SHOWPAGE.PRG 359
17.21 计算阵列填充栏位的长度:SIZEARRY.PRG 359
17.22 档案附加名的控制:STRIPEXT.PRG 360
17.23 档案路径的控制:STRIPPAT.PRG 361
17.24 阵列行相加:SUMARRY.PRG 362
17.25 一个有用的温度计:THERM.PRG 363
17.26 事件处理程式:TRAFICOP.PRG 364
第18章 可复用的萤幕 379
18.1 初始资讯萤幕:ABOUT.SCX 380
18.1.1 About :摘要 400
18.2 开发者资讯萤幕:ABOUTCOM.SCX 401
18.3 档案资讯萤幕:ABOUTFIL.SCX 414
18.4 多种资讯萤幕:ABOUTGEN.SCX 436
18.5 记忆体资讯萤幕:ABOUTMEM.SCX 459
18.6 警报对话框:ALERT.SCX 481
18.6.1 FoxPro For Windows和FOXTOOLS.FLL 489
18.6.2 FoxPro For the Mac和FOXTOOLS.MLB 491
18.6.3 交叉平台警报:总结 492
18.7 搜寻对话框:APPSRCH.SCX 493
18.8 确认对话框:AREUSURE.SCX 508
18.9 背景萤幕:BCKGRND.SCX 519
18.10 资料驱动压缩:DBFPACK.SCX 529
18.11 资料驱动重建索引:DBFREIND.SCX 540
18.11.1 无资料字典的原型开发 551
18.11.2 使用资料字典 552
18.12 删除确认对话框:DELREC.SCX 553
18.13 作用索引选取:GETORDER.SCX 563
18.14 工具棒:MCONTROL.SCX 577
18.15 多列选取:MOVER.SCX 608
18.16 错误对话框:ONERROR.SCX 629
18.17 超长处理警告:PACKALER.SCX 638
18.18 可复用的萤幕:REPORTS.SCX 647
18.19 展示萤幕:STARTUP.SCX 663
18.20 搜寻视窗:STATES.SCX 671
18.21 交叉分析列表视图:YEARSHOW.SCX 677
附录A 交叉平台提示与技巧 717
附录B 对本书初版的转换 723
关于作者 727