第一篇 速成篇 3
第1章 FoxPro和数据库 3
1.1 Visual FoxPro的起源 3
1.2 Visual FoxPro的特点 3
1.3 VFP数据库的概念 4
1.4 VFP数据库的基本内容 5
1.5 VFP数据库中的文件 6
2.1.1 表的生成 7
2.1 表的建立 7
第2章 数据库的建立 7
2.1.2 表的浏览 10
2.1.3 表的编辑 10
2.2 表的索引的建立和删除 13
2.3 数据库(DBC)的建立 16
2.4 视图(VIEW)的建立 18
2.4.1 为什么要建立视图 18
2.4.2 建立一个视图 18
2.4.3 联接的建立 20
2.4.4 视图的输出和储存 22
2.4.5 视图文件的浏览和修改 23
第3章 查询文件的生成 25
3.1 概述 25
3.2 查询文件的生成 25
3.3 定义结果 27
3.4 设置输出字段的次序 28
3.5 组织输出结果 29
3.5.1 排序查询结果 29
3.5.2 分组查询结果 30
3.7 查询文件的其他输出方式 31
3.6 运行查询文件 31
3.8 利用向导建立查询文件 33
第4章 菜单的建立 37
4.1 简介 37
4.2 具体步骤 37
第5章 表单的生成 42
5.1 概述 42
5.2 新表单的创建 42
5.3.1 在表单中添加对象 47
5.3 在表单中添加对象以及对象的处理 47
5.3.2 对象的处理 49
5.4 表单的管理 50
5.4.1 表单的保存 50
5.4.2 表单的运行 50
5.4.3 管理表单的多个实例 50
5.4.4 创建单文档和多文档界面 52
5.5 表单的修改 54
5.5.1 打开表单设计器(FormDesigner) 54
5.5.4 选择需要修改的目标对象 55
5.5.2 打开修改表单文件时需要的工具箱 55
5.5.3 坐标的设定与利用 55
5.5.5 选择性地显示目标对象的属性 56
5.5.6 修改目标对象的属性 57
5.6 调色板的使用 59
5.6.1 改变界面的颜色 60
5.6.2 定义用户自己的颜色 60
5.7.1 建立一个新表单文件 61
5.7.2 加入一个标题“标签(Label)”对象 61
5.7 利用Form工具美化用户应用程序 61
5.7.3 让标签具有立体感 62
5.7.4 加入图形对象 62
5.7.5 完成一个封面 63
5.8 Timer的添加 64
第6章 报表的生成 66
6.1 建立一个报表格式文件 66
6.2 设计标题 67
6.3 设计报表内容输出 68
6.4 设计页号 69
6.5 加上表格线 70
6.6 调整和修饰 70
6.6.1 激活对象 70
6.6.2 设定字型和字号 71
6.6.3 输出窗口和边框的调整 71
6.6.4 直线段的定义和使用调色板 71
6.6.5 利用圆角框作台头修饰 72
6.6.6 打印设置 72
7.1.1 范围参数 77
7.1 命令概述 77
第7章 基本命令简介 77
第二篇 进阶篇 77
7.1.2 FOR和WHILE 78
7.1.3 了解工作区 78
7.2 命令窗口 78
7.2.1 RUN命令 78
7.2.2 SET DEFAULT TO命令 78
7.2.4 输入试用命令 79
7.2.3 命令窗口快捷操作 79
7.3 建立新表的命令 80
7.3.1 CREAT命令 80
7.3.2 MODIFY命令 80
7.3.3 建立和修改其他类型文件的命令 80
7.4 处理数据的命令 81
7.4.1 USE命令 81
7.4.2 DISPLAY命令 81
7.4.3 BROWSE命令 82
7.4.4 添加空格和替换数据的命令 82
7.4.6 GO命令 83
7.4.5 INSERT命令 83
7.4.7 删除命令 84
7.4.8 DISPLAY和LIST命令 84
7.5 索引 86
7.5.1 索引是什么 86
7.5.2 控制索引 86
7.5.3 什么时候建立索引 86
7.5.4 建立索引 87
7.5.5 设置索引顺序 87
7.6 退出Visual FoxPro命令 88
8.1.1 作好编程的准备 89
8.1.2 开始键入程序 89
第8章 程序设计的基本知识 89
8.1 从一个简单的程序开始 89
8.1.3 储存及放弃 90
8.1.4 程序的运行 90
8.1.5 中断程序 91
8.1.6 程序的暂停 91
8.1.7 继续执行程序 92
8.1.8 基本输出命令(?) 92
8.2.1 数据类型 93
8.2 数据类型、运算符及预编译指令 93
8.2.2 各类运算符 94
8.2.3 表达式 95
8.2.4 命令和函数的使用 96
8.2.5 定义常数(#DEFINE) 100
8.2.6 取消常数定义(#UNDEF) 102
8.2.7 判别编译命令(#IF…#ENDIF) 103
8.2.8 嵌入文件(#INCLUDE) 105
8.3.1 变量的命名 106
8.3 存储器变量 106
8.3.2 全程变量(GLOBALMEMORYVARIABLE) 108
8.3.3 专用变量(PRIVATE VARIABLE) 109
8.3.4 区域性变量(REGIONALVARIABLE) 110
8.3.5 局部变量(LOCAL VARIABLE) 112
8.3.6 系统变量(SYSTEM VARIABLE) 113
8.3.7 其他存储器变量管理命令 113
8.3.8 存储器变量的储存及取出 114
8.4 宏与名称表达式 116
8.4.1 宏替换(&) 116
8.4.2 名称表达式[()] 118
8.4.3 执行函数命令(=) 120
8.5 索引及记录处理 120
8.5.1 查找单个记录 121
8.5.2 子句介绍 123
8.5.3 使用REPLACE命令操作数据 125
8.5.4 在索引中建立FOR子句 126
第9章 结构、子程序和函数 127
9.1 条件结构 127
9.1.1 IF…ELSE…ENDIF语句 127
9.1.2 DO CASE…ENDCASE语句 131
9.2 循环结构 133
9.2.1 固定次数循环(FOR…ENDFOR) 133
9.2.2 当型循环(DO WHILE…ENDDO) 136
9.2.3 数据库扫描(SCAN…ENDSCAN) 138
9.3 子程序与函数 140
9.3.1 子程序及函数的意义 140
9.3.2 系统内部函数介绍 141
9.3.3 子程序及自定义函数 145
9.3.5 子程序和函数的执行与结束 147
9.3.4 子程序及自定义函数的命名 147
9.3.6 程序和函数的执行顺序 149
9.3.7 函数的返回值 151
9.4 参数的传递方式 151
9.4.1 改变参数传递方法 152
9.4.2 两种传递方法的比较 152
第10章 数组 154
10.1 数组的使用 154
10.2 数组的声明 154
10.3 数组元素的使用 157
10.4 数组元素的处理 159
10.4.1 数组元素的排序(ASORT()) 159
10.4.2 元素的查找(ASCAN()) 161
10.4.3 元素的删除(ADEL()) 163
10.4.4 元素的插入(AINS()) 164
10.4.5 数组的传递 165
10.4.6 综合举例 167
10.5 另一种记录存取技巧 171
10.5.1 使用一般存储器变量 171
10.5.2 使用数组的方法 173
10.6 数组与记录的处理 175
10.6.1 从记录到数组 175
10.6.2 从数组到记录 178
10.6.3两组命令的比较 181
第11章 结构化查询语言——SQL 182
11.1 查询命令SELECT——SQL 182
11.1.1 基本命令 183
11.1.2 其他关键字的使用 190
11.1.3 高级数据查询 191
11.2 其他SQL命令 206
11.2.1 建立暂存数据表(Cursor) 206
11.2.2 建立实体数据表 209
11.2.3 修改数据表结构 212
11.2.4 插入记录 214
11.2.5 删除记录 215
11.2.6 设置字符串比较方式 215
第12章 低级文件的控制 216
12.1 低级文件的概念 216
12.2.1 建立文件(FCREATE()) 217
12.2 低级文件函数 217
12.2.2 打开文件(FOPEN()) 218
12.2.3 移动文件指针(FSEEK()) 218
12.2.4 取得文化尾部的信息(FEOF()) 219
12.2.5 FGETS()函数 219
12.2.6 读取数据(FREAD()) 220
12.2.7 写入数据(一)(FPUTS()) 220
12.2.8 写入数据(二)(FWRITE()) 221
12.2.10 改变文件大小(FCHSIZE()) 222
12.2.9 清除缓冲区(FFLUSH()) 222
12.2.11 关闭低级文件(FCLOSE()) 223
12.2.12 取得文件函数执行错误码(FERROR()) 223
12.3 低级文件函数的使用 223
12.3.1 数据表保护 223
12.3.2 备注文件的救回 226
12.3.3 模拟拷贝程序 228
12.3.4 修改WIN.INI 229
12.3.5 解救结构化索引文件的数据表 231
12.4 再谈句柄 231
13.1 界面概述 234
第13章 基本输入输出界面的程序设计 234
13.2 最基本的屏幕输入输出 236
13.3 定位输出命令(SAY) 238
13.3.1 屏幕的定位问题 238
13.3.2 输出数据 240
13.3.3 设定字型、大小及样式 240
13.4 定位输入命令(GET) 241
13.5.3 保留读取状态 246
13.5.2 循环读取 246
13.5.1 基本的READ 246
13.5 启动GET对象 246
13.5.4 设定读取边框 247
13.6 其他有关屏幕的命令 247
13.6.1 清除屏幕命令(CLEAR) 247
13.6.2 等待命令(WAIT) 247
13.7 组件设计 248
13.7.1 按钮(Push Button) 248
13.7.2 复选框(CHECK BOX) 250
13.7.3 单一选择钮(RAD1O BUTTON) 251
13.7.4 显示图形 253
13.7.5 隐藏式按钮(INVISIBLEBUTTON) 254
13.7.6 下拉式列表框(LIST) 254
13.7.7 弹出式菜单(POPUP) 257
13.7.8 文字编辑区(TEXT EDITINGREGION) 258
13.7.9 微调控制项(SPINNER) 258
13.8 各命令共用的参数介绍 260
13.8.1 设定对象的显示区域 260
13.8.2 对象的卫士 261
13.8.3 对象的另一个卫士(VALID) 261
13.8.4 新旧转换法 262
第14章 菜单的设计 265
14.1 以前的一些菜单设计技术 265
14.2 简单型菜单 269
14.3 光条式菜单 271
14.4 常驻型菜单 275
14.5 快速菜单 279
14.6.1 使用的命令 281
14.6 下拉式菜单 281
14.6.2 设定选项标记 285
14.6.3 设置选项能否被选取 286
14.7 释放各类菜单及选项 287
第15章 面向对象的程序设计概念 289
15.1 Visual FoxPro中的对象 289
15.2 Visual FoxPro中类的概念 290
15.2.1 类与对象的关系 290
15.2.2 Visual FoxPro中类的特性 290
15.2.3 Visual FoxPro基类 291
15.2.4 Visual FoxPro类的层次 292
15.2.5 类和容器的层次结构 293
15.3 类的创建 295
15.3.1 创建新类 295
15.3.2 修改类定义 295
15.3.3 新类的进一步修改 296
15.3.4 为类指定设计时的外观 299
15.3.5 使用类库文件 299
15.4.2 创建非可视类 301
15.4.3 设置属性 301
15.4.1 创建有多个组件的控件 301
15.4 类和任务匹配 301
15.4.4 调用方法程序 302
15.5 从程序的角度讨论类 303
15.5.1 以编程方式定义类 303
15.5.2 使用方法程序代码添加类和创建类 304
15.5.3 创建表定位按钮集合 306
15.5.4 创建基于新类的子类 308
15.5.5 定义表格控件 310
15.5.6 创建对象的引用 312
15.5.7 创建成员数组 313
15.5.8 使用对象存贮数据 314
15.6 VFP中的事件 316
15.6.1 Visual FoxPro中的事件 316
15.6.2 容器事件和对象事件 316
15.6.3 类和控件事件 318
15.6.4 追踪事件序列 318
15.6.5 Visual FoxPro事件顺序 322
15.6.6 为事件指派代码 323
16.1 选项按钮 325
第16章 高级界面的设计 325
16.2 下拉式列表框 327
16.3 编辑区 331
16.4 页框对象 334
16.5 列表框组件 336
16.6 微调控件项 338
16.7 图形控件 341
16.8 图对象 344
17.1 按键的取得 346
17.1.1 READKEY()函数 346
第17章 键盘与鼠标的控制 346
17.1.2 取得最后一键 348
17.1.3 INKEY()函数 351
17.1.4 多重按键拦截 353
17.1.5 按键的储存及回存 358
17.2 鼠标的控制 358
17.2.1 鼠标按钮的拦截 358
17.2.2 取得鼠标目前的位置 360
17.2.3 取得鼠标的移动状态 360
17.2.4 鼠标的按键状态 362