目录 1
第1部分 使用VISUAL FOXPRO 1
第1章 为何出现VISUAL FOXPRO 3
1.1什么是数据库 3
1.2 Visual FoxPro的来历 5
1.3 Visual FoxPro的优点 5
第2章 VlSUAL FOXPRO的环境 9
2.1窗口、对话框和常见控制 9
2.1.1Windows中的窗口 9
2.1.2对话框和常见控制 10
2.2 Visual FoxPro的集成环境和菜单系统 13
2.2.1 Visual FoxPro的集成环境 13
2.2.2 Visual FoxPro的菜单系统 14
2.3使用选项对话框 18
2.3.1“显示”选项卡 19
2.3.2“文件位置”选项卡 19
2.3.3“常规”选项卡 20
2.4使用命令窗口 21
2.4.1您的第一个命令 21
2.4.2您的第二个命令 22
2.4.3可以使用函数 22
2.5使用工具栏 22
2.5.1改变工具栏的外观 23
2.5.2打开其他工具栏 23
2.5.3定制工具栏 24
2.6使用项目管理器 24
2.6.1创建一个项目 25
2.6.2使用“数据”选项卡组织数据 25
2.6.3查看一个项目的内容 26
2.6.4定制项目管理器 26
2.6.5为文件添加说明 28
2.7使用向导 28
3.1.1确定字段的注意事项 29
3.1创建新表 29
第3章用表收集数据 29
3.1.2选择一个数据类型 30
3.1.3创建表 31
3.2用表存储和查看信息 34
3.2.1查看表的内容 34
3.2.2在表中移动指针 35
3.3修改表的内容 37
3.3.1更改或追加记录 37
3.3.2从其他表中追加记录 38
3.3.3删除记录 40
3.4修改表的结构 41
3.5定制表 42
3.5.1筛选表 42
3.5.2限制对字段的访问 42
3.6使用多个表 43
3.6.1工作区 43
3.6.2在一个工作区中打开和关闭表 44
3.6.3引用工作区 45
3.6.3.1使用表别名 45
3.6.3.2创建用户自定义别名 46
3.6.3.3使用Visual FoxPro指定的别名 46
3.6.3.4使用别名选择工作区 46
3.6.3.5引用在其他工作区中打开的表 46
第4章用索引对表进行排序 48
4.1什么是索引 48
4.2索引的种类 49
4.3创建索引 50
4.3.1创建索引 50
4.3.2筛选记录 52
4.4控制字段中重复值的输入 53
4.5使用其他种类的索引 54
4.5.1使用非结构复合索引 54
4.5.2使用独立索引 55
4.7删除索引 56
9.3.7整体测试 1 56
4.6重建索引 56
4.8改变记录的物理顺序 57
第5章创建数据库 58
5.1自由表与数据库表 58
5.2数据库的设计过程 59
5.2.2确定需要的表 60
5.2.1确定数据库的目的 60
5.2.3确定所需字段 62
5.2.4确定表之间的关系 63
5.2.4.1“一对多”关系 64
5.2.4.2“多对多”关系 64
5.2.4.3“一对一”关系 65
5.2.5改进设计 67
5.3创建及删除数据库 67
5.3.1创建数据库 68
5.3.2在数据库中添加、创建和移去表 68
5.3.3删除数据库 69
5.4.1长表名和表的注释 70
5.4使用数据字典 70
5.4.1.1长表名 71
5.4.1.2表的注释 72
5.4.2字段的长字段名、标题、注释 72
5.4.2.1长字段名 72
5.4.2.2给字段添加注释 73
5.4.2.3创建字段的标题 73
5.4.3字段默认值 74
5.4.3.1利用默认值来加快数据的输入 74
5.4.3.2允许的默认值 75
5.4.3.3何时使用默认值 75
5.4.3.4使用默认值来自动确定NOTNULL字段 75
5.4.5设置字段级规则 75
5.4.5.1何时实施约束 76
5.4.5.2字段值的限制 76
5.4.5.3何时检查字段级规则 77
5.4.6.1检查记录级规则 78
5.4.6设置表的有效性规则 78
5.4.7创建存储过程 79
5.4.6.2何时检查记录级规则 79
5.4.6.3从数据库中移去具有关联规则的表 79
5.4.8.1创建触发器 80
5.4.8设置触发器 80
5.4.8.2移去或删除触发器 81
5.4.8.3修改触发器 81
5.4.9创建关系 81
5.4.9.1创建表间的永久关系 82
5.4.9.2删除表间的永久关系 82
5.4.9.3创建表之间的临时关系 83
5.4.10生成参照完整性 85
5.5引用多个数据库 86
5.5.1打开多个数据库 86
5.5.2设置当前数据库 87
5.5.3使用当前数据库中的表 87
5.5.5关闭数据库 88
5.5.4使用其他数据库中的表 88
5.6.2扩展数据库文件 89
5.6查看或修改数据库的结构 89
5.6.1浏览数据库文件 89
5.6.3检查数据库 90
第6章查询数据 91
6.1查询的本质 91
6.2使用查询向导或查询设计器建立查询 92
6.3选择出现在查询结果中的表及字段 93
6.5设置排序选项来组织查询结果 95
6.4设置选择条件来查找可得到所需结果的记录 95
6.6设置分组选项来组织查询结果 96
6.7选择查询结果的输入类型 97
6.8运行查询 98
第7章用视图更新数据 100
7.1创建及删除视图 100
7.1.1创建单表本地视图 100
7.1.2创建多表本地视图 102
7.2.1使表可更新 103
7.1.3重命名视图 103
7.1.4删除视图 103
7.2在视图中更新数据 103
7.2.2设置关键字段 104
7.2.3使表中的指定字段可更新 104
7.3.1在视图中添加表达式 106
7.3.2创建提示输入值的视图 106
7.3定制视图 106
7.4使用视图 108
7.4.1打开一个视图 109
7.4.2打开视图的多个实例 110
7.4.3显示视图结构 110
7.4.4创建视图索引 110
7.4.5创建视图的临时关系 110
7.4.6使用视图中的数据字典功能 111
7.4.6.1为视图字段创建默认值 111
7.4.6.2在视图的字段和数据行上创建规则 111
第8章设计报表和标签 113
8.1设计报表 113
8.1.1决定报表的常规布局 114
8.2创建报表布局 115
8.2.1用报表向导创建报表 115
8.2.2创建快速报表 115
8.2.3用新建报表创建报表 117
8.3创建邮件标签布局 117
8.3.1使用标签设计器创建标签 117
8.4修改布局 118
8.4.1规划数据的位置 119
8.4.2修改报表带区 120
8.4.3选择和移动报表控制 120
8.4.4调整控制的大小 120
8.4.5对齐报表控制 121
8.5.1设置报表数据源 122
8.5定制布局 122
8.4.6调整控制的位置 122
8.5.2定义报表的页面 123
8.5.2.1设置页边距 123
8.5.2.2在页面上定义多列 124
8.5.2.3设置纸张大小和方向 125
8.5.2.4设置报表带区高度 125
8.5.2.5定义页面标头和注脚 126
8.5.2.6定义细节带区 126
8.5.2.7添加标题和总结带区 126
8.5.3插入报表控制 126
8.5.3.1添加字段控制 127
8.5.3.2插入连接的字段控制 127
8.5.3.3裁剪和连接字符表达式 128
8.5.3.4插入当前日期 128
8.5.3.5插入页码 129
8.5.4格式化字段控制 129
8.5.4.1定义字段控制格式 129
8.5.4.2调整字段控制中的文本 130
8.5.4.3定义字段格式模板 130
8.5.4.4更改报表中的字体 130
8.5.5向报表中添加标签控制 131
8.5.6添加线条、矩形和圆形 131
8.5.7向报表中添加图片 131
8.5.8更改报表控制颜色 132
8.5.9向报表控制添加注释 132
8.5.10控制报表控制的打印 133
8.5.10.1打印具有可变长度值的控制 133
8.5.10.2设置控制的打印选项 134
8.5.10.3在布局上分组数据 135
8.6预览和打印报表或标签 139
8.6.1预览结果 139
8.6.2打印报表—选择要打印的记录 140
8.6.3使用命令预览或打印报表 142
第2部分 VISUAL FOXPRO程序设计 143
第9章程序设计简介 145
9.1程序设计的优点 145
9.2 Visual FoxPro的程序设计体系 146
9.2.1使用命令窗口 146
9.2.2创建程序 147
9.2.2.1键入程序 147
9.2.2.2保存程序 148
9.2.2.3修改程序 148
9.2.2.4运行程序 148
9.2.3使用Visual FoxPro设计工具编写代码 148
9.2.4程序设计的基本概念 149
9.3程序设计的过程 149
9.3.1对问题进行说明 150
9.3.2分解问题 150
9.3.3编制模块 151
9.3.4示例程序 152
9.3.5测试模块 154
9.3.6组装全部模块 155
9.3.8使程序更可靠 157
9.3.9将程序转换成函数 158
9.4从结构化程序设计到面向对象程序设计 158
第10章语言概述 162
10.1数据类型和字段类型 162
10.2存储数据 167
10.2.1常量 167
10.2.2变量 168
10.2.2.1创建变量 168
10.2.2.2控制变量访问 169
10.2.2.3访问变量 169
10.2.3数组 169
10.2.3.1数组的声明 169
10.2.3.2为数组元素赋值 170
10.2.3.3处理数组元素 170
10.2.6对象 171
10.2.5记录 171
10.2.4字段 171
10.3操作符 172
10.3.1字符操作符 172
10.3.2日期和时间操作符 172
10.3.3逻辑操作符 172
10.3.4关系操作符 173
10.3.5数值操作符 173
10.4表达式 174
10.4.1创建Visual FoxPro名称 174
10.4.2使用命令和函数 174
10.4.3创建字符表达式 175
10.4.5创建日期表达式 175
10.4.6创建数值表达式 175
10.4.7创建逻辑表达式 176
10.4.8创建名称表达式 176
10.5程序流的控制 177
10.5.1条件分支 178
10.5.2循环 181
10.6处理数据 183
10.6.1用户自定义函数 183
10.6.1.1使用自定义函数 184
10.6.1.2以值方式或引用方式传递参数 185
10.6.1.3可变参数 185
10.6.2处理字段和记录 186
10.6.2.1作用域子句 186
10.6.1.4接收函数的返回值 186
10.6.2.2 FOR子句 187
10.6.2.3 WHILE子句 187
10.6.3处理数组 188
10.6.3.1在数组与表之间传送数据 188
10.6.3.2数组和SELECT-SQL 189
10.6.4处理类和对象 189
10.6.5处理Null值 190
10.6.5.1在值和表达式中使用Null 190
10.6.5.2使用NULL作为参数 191
第11章面向对象程序设计 193
11.1 Visual FoxPro中的类和对象 193
11.1.1类与对象:应用程序的组装模块 194
11.1.2 Visual FoxPro类的层次 195
11.1.2.1 Visual FoxPro基类 196
11.1.2.2容器与非容器 197
11.2处理对象 198
11.2.1在容器层次中引用对象 199
11.2.1.1绝对引用 199
11.2.1.2相对引用 200
11.2.2设置属性 201
11.2.3调用方法 201
11.2.4响应事件 202
11.3以编程方式定义类 202
11.3.2在容器类中添加对象 203
11.3.1保护类成员 203
11.3.3指派方法代码和事件代码 204
11.3.3.1按类层次调用事件代码 204
11.3.3.2防止基类代码被执行 205
11.3.3.3创建表定位按钮集合 206
11.3.3.4定义表格控制 211
11.3.5创建对象引用 213
11.3.5.1返回对象的引用 213
11.3.4定义自定义类 213
11.3.5.2从内存中释放对象和引用 214
11.3.5.3检查对象是否存在 214
11.3.6创建成员数组 215
11.3.7创建对象数组 215
11.3.8使用对象存贮数据 216
第12章事件模型 219
12.1事件驱动的程序设计 219
12.2 Visual FoxPro中的事件 220
12.3.1容器和对象事件 221
12.3在容器层次和类层次中的事件 221
12.3.2类和控制事件 223
12.4事件的分类 223
12.4.1鼠标事件 224
12.4.2键盘事件 226
12.4.3改变控制内容的事件 226
12.4.4控制焦点的事件 227
12.4.5表单事件 228
12.5为事件编写代码 231
12.4.6其他事件 231
第13章 开发VISUAL FOXPRO应用程序的步骤 233
1 3.1规划应用程序 233
13.1.1创建应用程序的过程概述 234
13.1.2使用项目管理器 235
13.2创建数据库 236
13.3使用类简化应用程序 236
13.4提供交互能力 236
13.6测试和调试 237
13.5提供交互信息 237
第1 4章创建表单 238
14.1设计表单 238
14.2创建表单 239
14.2.1用表单集扩展表单 240
14.2.1.1创建新的表单集 240
14.2.1.2添加和移去表单 240
14.2.2设置数据环境 241
14.2.2.1常用数据环境属性 241
14.2.2.2向数据环境设计器中添加表或视图 242
14.2.2.3从数据环境设计器中拖动字段和表 242
14.2.2.4从数据环境设计器中移去表 242
14.2.2.5在数据环境设计器中设置关系 243
14.2.2.6在数据环境设计器中编辑关系 243
14.2.2.7包含预定义常量 244
14.3在表单中添加对象 244
14.3.1添加Visual FoxPro容器 244
14.3.3在表单中添加用户自定义对象 245
14.3.2向表单中添加Visual FoxPro控制 245
14.3.3.1在控制工具栏上添加类库 246
14.3.3.2从类库中添加对象 247
14.3.4确定表单中的控制数目 248
14.3.5在表单或表单集合中添加属性和方法 248
14.3.5.1创建新属性 248
14.3.5.2创建新方法 249
14.4处理对象 249
14.4.1在设计时设置属性 250
14.4.2定义表单行为 251
14.4.3编辑事件代码和方法代码 252
14.4.4保存表单 253
14.4.5运行表单 253
14.4.5.1交互地运行表单 254
14.4.5.2从程序中运行表单 254
14.4.5.3关闭活动的表单 255
14.4.6在运行时设置属性 256
14.4.8对事件作出响应 257
14.4.7在运行时调用方法 257
14.4.9处理对象的示例 258
14.5管理表单 261
14.5.1管理表单 261
14.5.1.1将参数传递到表单 261
14.5.1.2从表单返回值 262
14.5.2管理表单的多个实例 262
14.5.3为表单或表单集设置设计区 264
14.5.4设置表单或表单集模板 265
14.5.4.1使用表单模板的优点 265
14.5.4.2指定默认的表单模板 265
14.5.4.3使用表单模板和表单集模板 265
第15章添加控制 267
15.1控制和数据的关系 267
15.2根据任务选择合适的控制 268
15.2.1提供一组预先设定的选择 268
15.2.1.1使用选项按钮组 268
15.2.1.2使用列表框和下拉列表框 271
15.2.1.3使用复选框 281
15.2.2接受预先不能确定的输入 281
15.2.2.1使用文本框 282
15.2.2.2使用编辑框 283
15.2.2.3使用组合框 286
15.2.3接受给定范围的数值输入—使用微调控制 287
15.2.3.1设置输入值的范围 287
15.2.3.2单击向上按钮,可减少微调控制值 287
15.2.3.3微调非数值型值 287
15.2.3.4常用的微调属性 287
15.2.4允许特定操作—使用命令按钮和命令按钮组 288
15.2.4.1使命令按钮成为默认选择 288
15.2.4.2常用命令按钮属性 288
15.2.4.3通过组来管理命令按钮的选择 288
15.2.4.4常用命令按钮组属性 289
15.2.5在给定时间间隔执行指定操作—使用计时器控制 289
15.2.5.2计时器控制的初始化 290
15.2.5.1将计时器控制放置在表单中 290
15.2.5.3对计时器事件的响应 291
15.2.6显示信息 292
15.2.6.1使用图象 292
15.2.6.2使用标签 292
15.2.6.3使用文本框和编辑框显示信息 293
15.2.6.4使用形状和线条 293
15.2.7增强控制的显示 294
15.2.6.5使用表单图形显示信息 294
15.2.8操作多行数据—使用表格 295
15.2.8.1设置表格列数 296
15.2.8.2在设计时人工调整表格的显示 296
15.2.8.3设置表格中显示的数据源 297
15.2.8.4使用表格控制创建一对多表单 297
15.2.8.5在表格列中显示控制 298
15.2.8.6在表格中进行有条件格式编排 300
15.3.1设置访问键 301
15.3使控制易于使用 301
15.2.8.8常用的列属性 301
15.2.8.7常用的表格属性 301
15.3.2设置控制的Tab键次序 302
15.3.3设置工具提示文本 302
15.3.4启用和废止控制 302
15.3.5允许用户拖放 303
15.3.5.1启用自动拖动方式 304
15.3.5.2在用户释放对象时的响应 304
15.3.5.3指示释放的有效区 305
15.3.5.4控制拖动的开始和停止时间 305
15.3.5.5在拖放操作中引起控制移动 306
15.4扩展表单 307
15.4.1使用页框 307
15.4.1.1在应用程序中使用页面 307
15.4.1.2将页框添加到表单中 308
15.4.2 OLE容器控制 309
15.4.1.6常用的页框属性 309
15.4.1.5在程序中换页面 309
15.4.1.3将控制添加到页面上 309
15.4.1.4管理选项卡的长标题 309
15.4.3 OLE绑定型控制 310
第16章使用类简化应用程序 311
16.1根据任务设计类 311
16.1.1决定什么情况下创建类 311
16.1.1.1封装通用功能 311
16.1.1.2赋予应用程序统一的外观和风格 311
16.1.2.2创建有多个组件的控制 312
16.1.2决定类的类型 312
16.1.2.1扩展Visual FoxPro基类 312
16.1.2.3创建非可视类 313
16.2创建类 314
16.2.1使用类库文件 314
16.2.1.1创建类库 314
16.2.1.2复制和删除类库中的类 314
16.2.3在控制类或容器类中添加对象 315
16.2.2创建新类 315
16.2.4将属性和方法添加到类 318
16.2.4.1创建新属性和新方法 318
16.2.4.2保护属性和方法 319
16.2.4.3指定属性的默认值 321
16.2.5指定设计时的外观 321
16.3将类添加到表单、表单集和工具栏中 322
16.4调用父类方法代码 322
16.4.1给子类增加功能 322
16.4.2向容器中的对象添加功能 323
16.4.3在嵌套容器中向对象添加功能 323
16.4.4调用通用的类代码 324
16.4.5覆盖默认属性设置 324
16.5修改类定义 324
16.6创建类定义的子类 325
第17章设计菜单系统 326
17.1创建菜单系统的过程 326
17.2规划菜单系统 328
17.3创建菜单、菜单项和子菜单 329
17.3.1创建菜单 329
17.3.2创建菜单项 330
17.3.3创建子菜单 331
17.3.4以编程方式添加菜单 331
17.3.5菜单项分组 332
17.4创建快捷菜单 333
17.5为菜单系统指定任务 334
17.5.1指定访问键 334
17.5.2指定键盘快捷键 334
17.5.3启用和废止菜单项 336
17.5.4标记菜单项的状态 336
17.5.5为菜单或菜单项指定任务 336
17.5.6向菜单系统添加初始化代码 339
17.5.7向菜单系统添加清理代码 340
17.5.8在运行时控制菜单 340
17.5.9释放菜单 341
17.6测试与调试菜单系统 342
17.7定制菜单系统 343
17.7.1显示状态栏信息 343
17.7.2定义菜单标题的位置 344
17.7.3保存与还原菜单 344
17.7.4为菜单系统创建默认过程 344
第18章创建自定义工具栏 345
18.1定义工具栏类 345
18.2向自定义工具栏类中添加对象 346
18.3在表单集中添加自定义工具栏 346
18.3.1在表单设计器中协调工具栏和表单 346
18.3.2使用代码协调工具栏和表单 347
18.3.3创建自定义工具栏的示例 347
18.3.4设置自定义工具栏的属性 349
18.3.5定义工具栏的操作 349
18.3.6协调菜单和自定义工具栏 349
18.4工具栏特有的事件 350
第19章编译应用程序 351
19.1构造应用程序 351
19.1.1设置起始点 352
19.1.1.1构造主程序 353
19.1.1.2构造主表单 353
19.1.2设置应用程序环境 354
19.1.3显示初始界面 354
19.2向项目中添加文件 355
19.1.5恢复原始环境 355
19.1.4控制事件循环 355
19.2.1连编项目并显示错误 356
19.3连编应用程序 356
19.3.1引用可修改的文件 357
19.4运行应用程序 358
第20章测试和调试应用程序 359
20.1建立测试环境 359
20.2分别测试各个组件 360
20.3使用调试工具 362
20.3.1直接输入命令 363
20.3.2动态显示值 363
20.3.2.1查看函数值和SET命令值 365
20.3.2.2设置执行断点 366
20.3.3监视代码的运行 367
20.3.3.1跟踪程序 367
20.3.3.2跟踪表单 368
20.3.4添加测试代码 369
20.4常见的错误 370
20.5有助于减少错误的方法 370
第21章优化应用程序 373
21.1掌握Rushmore技术 373
21.1.1在表中使用Rushmore 374
21.1.2不使用Rushmore的操作 375
21.1.3关闭Rushmore 375
21.2.1创建基本可优化表达式 376
21.2优化Rushmore表达式 376
21.2.2组合基本可优化表达式 377
21.2.3组合复杂表达式 378
21.3优化Visual FoxPro的性能 379
21.3.1提高性能的方法 379
21.3.2提高性能的几条经验 383
安装的必要条件 384
从磁盘或CD-ROM上进行安装 384
附录A安装、启动、退出VISUAL FOXPRO 384
从网络上安装 385
启动和退出Visual FoxPro 386
附录B文件扩展名及类型说明 388
附录C系统菜单的内部名称 390
附录D将FOXPRO 2.X文件转变为VISUAL FOXPRO文件 394
直接运行FoxPro以前版本的文件 394
将FoxPro 2.6文件转换为Visual FoxPro文件 394
重新设计为Visual FoxPro的文件 395
附录E专用术语 396