第1章
数据库系统简介
1.1 数据模型···
1
1.1.1 层次模型···
1
1.1.2 关系模型···
2
1.1.3 面向对象模型···
3
1.2 Visual FoxPro的主要特点···
3
1.3 安装Visual
FoxPro· 4
1.3.1 系统需求···
4
1.3.2 开始安装···
5
1.3.3 升级Visual
FoxPro 9.0· 6
1.4 安装辅助应用程序···
6
1.4.1 安装InstallShield
Express Limited Edition· 6
1.4.2 安装SOAP
Toolkit 3.0 Samples· 6
1.4.3 安装MSDE·
7
第2章
集成开发环境
2.1 Visual FoxPro系统界面···
9
2.2 Visual FoxPro的菜单体系···
10
2.2.1 File(文件)菜单···
10
2.2.2 Edit(编辑)菜单···
12
2.2.3 View(显示)菜单···
14
2.2.4 Format(格式)菜单···
15
2.2.5 Tools(工具)菜单···
17
2.2.6 Program(程序)菜单···
19
2.2.7 Window(窗口)菜单···
20
2.2.8 Help菜单···
20
2.3 定制Visual
FoxPro开发环境···
21
2.3.1 Visual FoxPro配置的存储方式···
21
2.3.2 交互式环境配置···
22
2.3.3 文件式环境配置···
22
2.3.4 Visual FoxPro的启动选项···
25
2.3.5 定制工具栏···
26
2.3.6 窗口停靠···
27
2.4 Visual FoxPro辅助开发工具···
28
2.4.1 任务窗格管理器···
28
2.4.2 工具箱···
47
2.4.3 项目管理器···
53
第3章
Visual FoxPro语言基础
3.1 数据类型···
55
3.1.1 数据类型概述···
55
3.1.2 Blob数据类型···
56
3.1.3 Character与Character
(Binary)数据类型···
57
3.1.4 Currency数据类型···
57
3.1.5 Date/DateTime数据类型···
57
3.1.6 Logical数据类型···
59
3.1.7 Numeric数据类型···
59
3.1.8 Variant数据类型···
59
3.1.9 Double数据类型···
59
3.1.10 Float数据类型···
60
3.1.11 General数据类型···
60
3.1.12 Integer与Integer
(Autoinc)数据类型···
60
3.1.13 Memo与Memo
(Binary)数据类型···
60
3.1.14 Varchar与Varchar
(Binary)数据类型···
60
3.1.15 数据类型检测···
61
3.2 数据存储容器···
62
3.2.1 数据存储容器命名规范···
62
3.2.2 常量···
63
3.2.3 变量···
63
3.2.4 数组···
67
3.2.5 字段···
70
3.2.6 记录···
70
3.2.7 对象···
70
3.3 运算符···
70
3.3.1 字符运算符···
70
3.3.2 日期/时间运算符···
70
3.3.3 逻辑运算符···
70
3.3.4 数值运算符···
71
3.3.5 关系运算符···
71
3.3.6 类与对象运算符···
71
3.4
表达式···
72
3.4.1 字符表达式···
72
3.4.2 日期/时间表达式···
72
3.4.3 逻辑表达式···
72
3.4.4 宏替换表达式···
72
3.4.5 名称表达式···
73
3.4.6 数值表达式···
73
3.4.7 函数表达式···
74
3.4.8 表达式类型的相互转换···
74
3.5 程序文件的建立与执行···
77
3.5.1 建立程序文件···
77
3.5.2 执行程序文件···
78
3.5.3 程序注释···
78
3.5.4 结束程序运行···
79
3.5.5 设置程序运行环境···
79
3.6 程序结构···
80
3.6.1 顺序结构···
80
3.6.2 分支结构···
80
3.6.3 循环结构···
82
3.7 函数与过程···
84
3.7.1 系统函数···
85
3.7.2 自定义函数···
85
3.7.3 过程···
86
3.7.4 参数传递机制···
87
第4章
创建自由表·
4.1 建立表结构···
91
4.1.1 使用表设计器建立表···
91
4.1.2 使用CREATE
TABLE -SQL命令建立表···
93
4.2 修改表结构···
94
4.2.1 使用报表设计器修改表结构···
94
4.2.2 使用ALTER
TABLE -SQL命令修改表结构···
95
4.3 获取表结构信息···
96
4.3.1 使用LIST
STRUCTURE命令查看表结构信息···
96
4.3.2 使用AFIELDS(
)函数获取表结构信息···
97
4.3.3 使用COPY
STRUCTURE EXTENDED命令获得表结构信息···
98
4.4 复制表···
100
4.4.1 复制表结构···
100
4.4.2 复制表结构和内容···
100
4.4.3 复制其他表内容到当前表···
101
4.5 删除表···
102
第5章
表的基本操作
5.1 打开和关闭表···
103
5.1.1 打开表···
103
5.1.2 执行表验证···
105
5.1.3 关闭表···
105
5.2 输入记录···
106
5.2.1 使用编辑命令进行数据录入···
106
5.2.2 追加记录命令···
107
5.2.3 插入记录命令···
107
5.2.4 Memo型字段数据输入···
108
5.2.5 General型字段数据输入···
109
5.3 修改记录···
112
5.3.1 REPLACE命令···
112
5.3.2 UPDATE - SQL命令···
113
5.4 删除记录···
113
5.4.1 添加删除标记···
113
5.4.2 物理删除记录···
115
5.5 输出记录···
115
5.5.1 输出到屏幕···
115
5.5.2 输出到打印机···
116
5.5.3 输出到文件···
117
5.6 记录指针···
119
5.6.1 记录号···
119
5.6.2 移动记录指针···
119
5.7 查找记录···
120
5.7.1 按顺序查找···
120
5.7.2 按索引查找···
121
5.7.3 按条件过滤···
122
5.8 表统计···
122
5.8.1 记录计数···
122
5.8.2 数据统计···
123
5.9 数据转换···
125
5.9.1 数据导出···
125
5.9.2 数据导入···
127
第6章
表的排序与索引
6.1 物理排序···
131
6.2 索引类型和索引文件类型···
132
6.2.1 索引机制···
132
6.2.2 索引类型···
132
6.2.3 索引文件类型···
133
6.3 建立索引文件···
134
6.3.1 建立结构复合索引文件···
134
6.3.2 建立独立复合索引文件···
136
6.3.3 建立独立索引文件···
136
6.4 打开、关闭索引文件···
137
6.4.1 打开索引文件···
137
6.4.2 关闭索引文件···
138
6.4.3 设置、检测主控索引文件或标识···
138
6.5 维护索引文件···
138
6.5.1 结构复合索引文件的维护···
138
6.5.2 独立复合索引文件的维护···
139
6.5.3 独立索引文件的维护···
139
6.6 删除索引标识···
139
6.6.1 删除结构复合索引文件中的索引标识···
139
6.6.2 删除独立复合索引文件中的索引标识···
140
6.6.3 删除独立索引文件···
140
第7章
创建、维护和管理数据库·
7.1 建立数据库···
141
7.1.1 使用项目管理器建立数据库···
141
7.1.2 使用CREATE
DATABASE命令建立数据库···
142
7.2 数据库的基本操作···
142
7.2.1 打开数据库···
142
7.2.2 向数据库中添加表···
144
7.2.3 获取数据库中的表信息···
144
7.2.4 从数据库中移去表···
145
7.2.5 重命名数据库中的表···
146
7.2.6 从数据库中删除表···
146
7.2.7 修改数据库···
146
7.2.8 多数据库操作···
147
7.2.9 关闭数据库···
147
7.2.10 删除数据库···
147
7.3 数据词典···
148
7.3.1 设置长表名和表注释···
148
7.3.2 设置长字段名、字段的输入输出格式、标题和注释···
149
7.3.3 设置字段的默认值···
151
7.3.4 设置字段级和记录级有效性规则···
152
7.3.5 存储过程···
155
7.3.6 设置触发器···
156
7.3.7 建立和删除表间的关系···
158
7.3.8 建立参照完整性···
161
7.4 数据库事件···
163
7.4.1 启用数据库事件···
163
7.4.2 数据库事件示例···
165
第8章
SELECT-SQL查询
8.1 基本的SELECT语句···
167
8.1.1 SELECT-SQL命令的语法格式···
167
8.1.2 SELECT的子句···
168
8.1.3 用户自定义函数···
169
8.1.4 SELECT子句中的关键字和其他子句···
169
8.1.5 使用宏替换(&)···
171
8.1.6 字母大小写···
171
8.1.7 使用索引···
171
8.1.8 使用ORDER
BY子句对查询结果排序···
171
8.1.9 聚合函数···
172
8.1.10 用GROUP
BY求分组小计···
172
8.1.11 GROUP BY和DISTINCT之间的区别···
173
8.1.12 HAVING子句的使用···
173
8.1.13 用TOP子句选择一定数量或一定百分比的记录···
175
8.1.14 进行查询输出定向···
176
8.2 复杂查询···
176
8.2.1 子查询···
176
8.2.2 自身连接···
178
8.2.3 合并(UNION)···
178
8.3 外连接(OUTER
JOIN)···
180
8.3.1 用右外连接(Right
Outer Join)选择记录···
180
8.3.2 用左外连接(Left
Outer Join)选择记录···
180
8.3.3 用完全外连接(Full
Outer Join)选择记录···
181
8.3.4 用内连接加外连接选择记录···
181
8.3.5 用内连接(Inner
Join)选择记录···
182
8.3.6 用嵌套的连接(Nested
Join)选择记录···
182
8.4 对SELECT-SQL语言的改进与增强···
182
8.4.1 Visual FoxPro的SQL语言兼容性···
182
8.4.2 Visual FoxPro 8.0的SELECT-SQL语言行为···
183
8.4.3 Visual FoxPro 9.0的SELECT-SQL语言行为···
184
第9章
面向对象的程序设计
9.1 对象和类···
195
9.1.1 对象···
196
9.1.2 类···
196
9.2 Visual FoxPro的基类···
197
9.2.1 基类的类型···
197
9.2.2 容器类···
199
9.2.3 控件类···
199
9.2.4 成员类···
200
9.3 使用类设计器建立类···
200
9.3.1 创建类···
200
9.3.2 为控件或容器类添加对象···
201
9.3.3 为类添加成员和定义事件···
201
9.3.4 建立属性的Access和Assign方法···
204
9.3.5 创建用户自定义类的子类···
206
9.3.6 在子类中调用父类的方法或事件···
207
9.3.7 指定类的外观···
208
9.3.8 将类添加到Form
Controls工具栏中···
208
9.3.9 修改类定义···
209
9.3.10 创建、复制和删除类或类库···
209
9.3.11 打开和关闭类库···
211
9.4 使用代码建立类···
211
9.4.1 编写类定义···
212
9.4.2 创建、添加和释放对象···
212
9.4.3 编写方法和事件代码···
215
9.5 使用对象···
216
9.5.1 创建对象引用···
217
9.5.2 检查对象是否存在···
217
9.5.3 调用对象的属性、方法和事件···
217
9.5.4 对象事件的触发顺序···
218
9.5.5 对象事件的绑定···
219
第10章
表单与表单集
10.1 创建表单···
225
10.1.1 使用表单设计器创建表单···
225
10.1.2 表单设计器的工具栏···
225
10.1.3 Form菜单···
227
10.2 定制表单···
227
10.2.1 定义表单外观···
228
10.2.2 定义表单行为···
235
10.2.3 为表单添加自定义属性、方法和头文件···
238
10.2.4 表单的数据环境···
240
10.2.5 表单集···
242
10.2.6 使用指定的表单类建立表单···
242
10.3 常用表单控件···
244
10.3.1 标签(Label)控件···
244
10.3.2 线条(Line)控件···
247
10.3.3 形状(Shape)控件···
249
10.3.4 文本框(TextBox)控件···
250
10.3.5 编辑框(EditBox)控件···
255
10.3.6 命令按钮(CommandButton)控件···
256
10.3.7 命令按钮组(CommandGroup)控件···
258
10.3.8 选项按钮组(OptionGroup)控件···
259
10.3.9 复选框(CheckBox)控件···
263
10.3.10 列表框(ListBox)控件···
265
10.3.11 组合框(ComboBox)控件···
276
10.3.12 微调(Spinner)控件···
282
10.3.13 图像(Image)控件···
283
10.3.14 计时器(Timer)控件···
286
10.3.15 表格(Grid)控件···
288
10.3.16 页框(PageFrame)控件···
302
10.3.17 容器(Container)控件···
304
10.3.18 延迟控件的数据绑定···
305
10.3.19 锚定控件···
306
10.4 对键盘和鼠标的响应及控制···
307
10.4.1 表单和控件的键盘、鼠标事件···
307
10.4.2 程序中的键盘、鼠标控制···
310
第11章
菜单与工具栏设计
11.1 使用菜单设计器创建菜单···
317
11.1.1 认识菜单···
317
11.1.2 使用菜单设计器建立一般菜单···
317
11.1.3 使用菜单设计器建立快捷菜单···
322
11.2 菜单命令···
323
11.2.1 建立菜单栏···
323
11.2.2 建立菜单标题···
325
11.2.3 建立弹出式菜单···
326
11.2.4 建立菜单中的菜单项···
327
11.2.5 激活菜单栏和菜单···
328
11.2.6 常用菜单函数···
329
11.3 动态菜单设计···
329
11.3.1 动态一般菜单设计···
329
11.3.2 动态快捷菜单设计···
333
11.4 创建工具栏···
335
11.4.1 建立一个工具栏类···
335
11.4.2 为表单添加工具栏···
335
11.4.3 为Visual
FoxPro主窗口加入工具栏···
337
11.4.4 建立与菜单协同工作的工具栏···
337
11.5 在顶层表单中使用菜单和工具栏···
338
11.5.1 将菜单加入到顶层表单中···
338
11.5.2 将自定义工具栏加入到顶层表单中···
341
第12章
报表与标签设计
12.1 报表设计器概述···
343
12.1.1 打开报表设计器···
343
12.1.2 报表设计器的工具栏···
344
12.1.3 报表设计器的菜单···
345
12.1.4 报表带区···
348
12.2 报表的页面与打印环境设置···
349
12.2.1 页面设置···
349
12.2.2 打印环境设置···
350
12.2.3 查看报表的打印环境设置信息···
350
12.2.4 删除报表的打印环境信息···
350
12.3 插入报表控件···
351
12.3.1 添加字段···
351
12.3.2 添加标签···
352
12.3.3 添加线条、矩形和圆角矩形···
353
12.3.4 添加图片···
353
12.4 报表的数据环境设置···
354
12.4.1 将数据环境另存为类···
354
12.4.2 加载一个数据环境···
354
12.5 报表的保护设置···
356
12.5.1 保护对象···
357
12.5.2 保护带区···
357
12.5.3 保护报表···
357
12.5.4 使用报表的保护功能···
358
12.6 报表的打印控制···
358
12.6.1 记录打印范围控制···
359
12.6.2 控件打印条件控制···
359
12.6.3 总结带区控制···
361
12.6.4 获得报表的页码和总页数···
362
12.7 报表输出···
363
12.7.1 报表输出命令——REPORT
FORM··· 363
12.7.2 指定处理REPORT
FORM命令的方式···
364
12.7.3 命令示例···
365
12.8 数据分组报表设计···
366
12.8.1 选择数据分组字段···
367
12.8.2 设置页标头···
367
12.8.3 设置组标头···
367
12.8.4 设置细节带区···
367
12.8.5 设置组脚注···
368
12.8.6 设置页脚注···
369
12.8.7 设置数据表索引···
369
12.8.8 保存报表···
369
12.9 多细节带区报表设计···
370
12.9.1 多细节带区报表中的表和关系···
370
12.9.2 为报表指定驱动表···
370
12.9.3 建立数据分组···
371
12.9.4 建立多细节带区···
371
12.9.5 为细节带区指定目标别名···
371
12.9.6 多细节带区报表中变量和计算字段的作用域···
372
12.10 使用ReportListener建立动态格式化报表···
374
12.10.1 Visual FoxPro报表的对象支持架构···
374
12.10.2 ReportListener对象的属性、事件和方法···
378
12.10.3 Visual FoxPro报表定义文件(FRX)的结构···
389
12.10.4 在报表定义文件的USER字段中加入指令···
398
12.10.5 建立ReportListener派生类···
399
12.11 使用GDI+进行绘图···
401
12.11.1 ReportListener的GDI+支持···
401
12.11.2 GDI Plus API封装基础类库···
402
12.11.3 使用GDI+在表单中绘图···
422
12.11.4 使用GDI+在报表中绘图···
422
12.12 使用ReportListener以多种格式输出报表···
426
12.12.1 XmlListener类···
426
12.12.2 HtmlListener类···
429
12.12.3 使用ReportOutput.app输出报表到HTML或XML·
430
12.12.4 使用ReportListener的OutputPage方法输出报表到TIFF文件中···
433
12.12.5 使用ReportListener同时进行多种输出···
434
12.13 建立自定义报表预览程序···
435
12.13.1 报表预览应用程序接口···
435
12.13.2 建立自定义报表预览程序···
436
12.13.3 定制Visual
FoxPro默认的报表预览程序···
440
12.14 图像报表设计···
442
12.15 面向对象的程序化报表设计···
443
12.15.1 SFReportFile类···
444
12.15.2 报表带区···
445
12.15.3 字段和文本···
446
12.15.4 线条、矩形及图形···
447
12.15.5 报表变量···
448
12.15.6 程序化建立报表示例···
448
12.16 使用Microsoft
Excel和Word打印报表···
451
12.16.1 常用Excel对象的OLE控制语句···
451
12.16.2 Excel单元格表示形式转换···
453
12.16.3 生成Excel表格示例···
454
12.16.4 使用Microsoft
Word打印报表···
455
12.17 Visual FoxPro 9.0 SP2对报表的增强···
458
12.17.1 Properties对话框的增强···
458
12.17.2 添加自定义属性选项卡···
461
第13章
程序易用性设计
13.1 “What’s This”帮助表单设计···
465
13.1.1 创建WinHelp样式的帮助文件···
465
13.1.2 建立“What’s
This”表单···
469
13.2 适时信息提示设计···
470
13.2.1 使用系统状态栏进行信息提示···
470
13.2.2 使用工具提示显示信息···
471
13.3 “展开/折起”表单设计···
471
13.4 拖放操作设计···
472
13.4.1 拖放操作涉及的属性、事件与方法···
472
13.4.2 自动拖放···
473
13.4.3 手动拖放···
474
13.5 复制、粘贴操作设计···
474
13.5.1 使用加入系统菜单栏的方法实现复制、粘贴操作···
474
13.5.2 使用SYS(1500)函数实现复制、粘贴操作···
475
13.5.3 使用_CLIPTEXT系统变量实现复制操作···
475
13.6 组合框控件的缺陷修补···
475
13.6.1 基于容器类的组合框设计···
475
13.6.2 应用示例···
477
13.7 表格中的回车方向控制···
480
13.8 在表格中使用图片表示数据状态···
481
13.9 表格中数据的自定义报表输出···
483
13.9.1 建立Header类···
483
13.9.2 将建立的Header类添加到表格中···
483
13.9.3 建立“页面设置”表单···
484
13.9.4 将选定列输出到Excel中···
485
13.10 使用索引模仿插入操作···
486
13.11 使用页框(PageFrame)控件制作向导···
489
13.12 对象的超级链接支持···
491
13.12.1 文本框和编辑框的超级链接支持···
491
13.12.2 标签等对象的超级链接支持···
491
13.13 系统托盘控制···
492
13.13.1 快速启动···
492
13.13.2 Systray类的属性、方法和事件···
493
13.13.3 Systray类的菜单处理···
495
13.13.4 Systray类应用示例···
496
第14章
查询与搜索设计·
14.1 Rushmore技术···
501
14.1.1 支持Rushmore技术的命令···
501
14.1.2 不能使用Rushmore的情况···
501
14.1.3 Rushmore的运算表达式限制···
502
14.1.4 关闭Rushmore功能···
504
14.2 查询设计技巧···
504
14.2.1 常用查询界面设计···
505
14.2.2 动态筛选查询界面设计···
506
14.3 全文本搜索设计···
507
14.3.1 文本搜索函数与相关控件属性···
507
14.3.2 全文本搜索示例···
509
14.4 文件与目录搜索设计···
511
14.4.1 递归调用···
511
14.4.2 目录搜索设计···
512
14.4.3 文件搜索设计···
513
第15章
文件与目录、文件夹操作
15.1 文件与目录、文件夹操作命令···
515
15.1.1 文件操作命令···
515
15.1.2 目录、文件夹操作命令···
517
15.2 文件和目录、文件夹操作函数···
517
15.2.1 文件操作函数···
517
15.2.2 目录、文件夹操作函数···
520
15.2.3 JUST函数···
522
15.3 文件属性设置···
523
15.3.1 取得文件属性···
523
15.3.2 文件属性设置···
526
15.4 低级文件控制···
528
15.4.1 低级文件控制函数···
528
15.4.2 取得低级文件函数执行的错误码——FERROR(
) 531
15.4.3 利用低级文件函数实现对数据表的保护···
531
15.4.4 利用低级文件函数进行文件分割与合并···
532
15.5 文件压缩控制···
534
15.5.1 RUN命令···
534
15.5.2 文件压缩···
535
15.5.3 文件解压缩···
536
第16章
位运算和进制转换
16.1 位运算···
537
16.1.1 按位与——BITAND(
) 537
16.1.2 按位或——BITOR(
) 538
16.1.3 按位异或——BITXOR(
) 538
16.1.4 按位取反——BITNOT(
) 538
16.1.5 左移位——BITLSHIFT
( ) 538
16.1.6 右移位——BITRSHIFT
( ) 538
16.1.7 设置指定位···
539
16.1.8 测试指定位是否为1·
539
16.2 进制转换···
539
16.2.1 二进制转换为十进制···
540
16.2.2 十进制转换为二进制···
540
16.2.3 十六进制转换为十进制···
541
16.2.4 十进制转换为十六进制···
542
16.2.5 十六进制转换为二进制···
543
16.2.6 二进制转换为十六进制···
544
第17章
OLE控制
17.1 ActiveX控件的注册···
547
17.1.1 使用Regsvr32.EXE手动注册···
547
17.1.2 使用Visual
FoxPro环境注册···
547
17.1.3 使用安装程序注册···
548
17.1.4 使用API函数注册···
548
17.2 使用非绑定型ActiveX控件···
548
17.2.1 添加ActiveX控件到表单中···
548
17.2.2 进度条控件(Microsoft
ProgressBar Control)···
549
17.2.3 状态栏控件(Microsoft
StatusBar Control)···
550
17.2.4 滑尺控件(Microsoft
Slider Control)···
553
17.2.5 MSComm控件(Microsoft
Communications Control)···
555
17.2.6 日历控件···
557
17.2.7 日期挑选器控件(Microsoft
Date and Time Picker Control)···
559
17.2.8 TreeView控件···
562
17.2.9 工具条控件(Microsoft
Toolbar)···
568
17.2.10 图表控件(Microsoft
Chart)···
573
17.2.11 格式文本框控件(Microsoft
Rich TextBox Control)···
581
17.2.12 Microsoft SysInfo控件···
591
17.2.13 动画控件(Microsoft
Animation)···
594
17.2.14 多媒体控件(Microsoft
Multimedia Control)···
595
17.2.15 WebBrowser控件···
600
17.2.16 Winsock控件···
608
17.3 使用绑定型ActiveX控件···
618
17.3.1 Microsoft Graph简介···
618
17.3.2 将Microsoft
Graph嵌入到Visual
FoxPro通用字段中···
621
17.3.3 向表单中添加绑定型ActiveX控件···
622
17.3.4 向报表中添加绑定型ActiveX控件···
623
17.4 创建自动服务程序···
624
17.4.1 创建自动服务服务程序···
624
17.4.2 编译自动服务服务程序···
625
17.4.3 注册自动服务服务程序···
627
17.4.4 使用自动服务服务程序···
628
第18章
XML与Web服务
18.1 Web服务基础···
629
18.1.1 COM与Web服务···
629
18.1.2 松散耦合···
630
18.1.3 消息传递格式、服务描述和服务发现···
631
18.2 XML、XSL和XSD··
632
18.2.1 URI 632
18.2.2 基本XML文档结构···
632
18.2.3 XSL· 635
18.2.4 XML Schema架构和XSD文档···
637
18.3 Visual FoxPro临时表与XML文档的相互转换···
639
18.3.1 CURSORTOXML( )和XMLTOCURSOR(
)函数···
639
18.3.2 XMLAdapter对象···
644
18.4 创建Web服务···
658
18.4.1 建立COM服务程序···
659
18.4.2 安装并配置Internet信息服务(IIS)···
660
18.4.3 创建并发布Web服务···
661
18.4.4 在IntelliSense中注册Web服务···
662
18.4.5 使用Web服务···
663
18.4.6 分发Web服务···
665
第19章
共享访问程序设计< |