Download presentation
Presentation is loading. Please wait.
1
本章介绍Visual FoxPro 6.0的系统特性、集成环境及配置方法及常用命令的基本语法规则。
2
本章重点 熟悉VFP系统环境 熟练掌握VFP命令格式及语法规则 掌握标准函数的使用
3
2.1 Visual FoxPro 6.0 系统特征 1. 友好的用户界面操作 2. 丰富的编辑工具 3. 完善的项目及数据库管理功能
4. 强大的编程能力 5. 丰富的向导 6. 可与其他应用程序交互
4
2.2 VFP 6.0 系统的安装与启动 2.2.1 VFP6.0的安装环境 具有80486/50Mhz以上处理器,配有鼠标,内存在16MB以上,硬盘空间在240MB以上,配有光驱及VGA或更高分辨率的显示器,装有中文Windows 95/98或Windows NT 以上操作系统的PC兼容机均可安装VFP6.0系统。
5
2.2.2 VFP6.0 的安装、启动及退出 启动 退出 “开始”菜单的“程序”菜单 在资源管理器中启动
“运行”对话框中输入“磁盘名\路径\VFP6.EXE”启动 退出 ⑴ 选择VFP6.0系统主菜单中“文件”菜单下的“退出”选项; ⑵ 单击VFP6.0系统界面右上角的关闭按钮; ⑶ 在VFP6.0系统命令窗口中键入“QUIT”命令。
6
2.3 VFP 6.0 集成环境简介 2.3.1 VFP6.0的主界面 菜单 工具栏
7
3.工具栏 工具栏位于菜单栏的下方,VFP 6.0提供了11个预定的工具栏,第一次启动时只有一个“常用”工具栏显示出来,使用显示菜单中的“工具栏”项,可以显示或隐藏指定的工具栏。当VFP 6.0中的所有工具栏都显示出来时如图2-2所示。
8
所有工具栏(图2-2)
9
2.4 VFP 6.0 基本语法规则 VFP 6.0提供了三种工作方式: 命令方式 菜单方式 程序方式。
10
2.4.1 命令结构 命令格式如下: 这里,方括号和尖括号是命令格式中的一种说明符号,而不是命令的一部分,在输入具体命令时不可输入。
2.4.1 命令结构 命令格式如下: 命令动词 [<范围>] [<表达式表>] [FIELDS <字段名表>] [FOR <条件>] [WHILE<条件>] 命令动词:表示VFP 6.0可以实现的特定功能,所有的命令都必须用命令动词开头; < > :表示此项是该命令中所必需的; [ ] :表示里面的内容是可选项,可根据实际需要确定是 否选用。 这里,方括号和尖括号是命令格式中的一种说明符号,而不是命令的一部分,在输入具体命令时不可输入。
11
[范围]子句 [范围]子句用于指定数据表中参与操作的记录范围。常用的范围短语有: ALL:表示表中所有记录;
NEXT <n>:表示从当前记录开始的n个记录; RECORD <n>:表示第n条记录; REST:表示从当前记录开始到表尾的所有记录。
12
[FIELDS <字段名表>]:
用于指定表中参与操作的字段范围。字段名表中可以包含多个字段名,若有多个字段名,则每两个字段名之间用逗号分开。
13
[FOR <条件>]和[WHILE <条件>]:
用于指定参与操作记录应该满足的条件,即进行记录筛选。 [FOR <条件>]子句可以筛选出指定范围内所有满足条件的记录。 而[WHILE <条件>]子句则是从当前记录开始筛选,当遇到第一个不满足条件的记录时,即中止筛选。 若有[FOR <条件>]子句而缺省[范围]子句,则系统默认范围为ALL。
14
2.4.2 数据类型 1. 字符型 6. 双精度型 2.日期时间型 7. 浮点型 3. 逻辑型 8. 货币型 4. 数值型 9. 通用型
5. 整数型 6. 双精度型 7. 浮点型 8. 货币型 9. 通用型 10. 备注型
15
2.4.3 常量与变量 1. 常量 ⑴ 数值型常量 ⑵ 浮点型常量 ⑶ 字符型常量 ⑷ 逻辑型常量 ⑸ 日期型常量与日期时间型常量
16
2. 变量 变量是指在程序运行过程中其值可以变化的量。在VFP 6.0中,变量分为字段变量和内存变量两种。
17
⑴ 字段变量 在一个数据表中,存在多个记录(或元组),每个记录有若干个字段(或属性),字段名(或属性名)也就是表中每一列的标头。随着记录的不同,每一个字段名所对应的内容也不相同。因此,可以认为,字段名的值是随着记录号的变化而变化的,具有变量的属性,故称其为字段变量。 字段变量的数据类型可以是字符型、数值型、浮点型、整型、双精度型、日期型、日期时间型、备注型和通用型等。 字段变量依附于数据表的存在而存在,它随着数据表的建立而建立,其属性在数据表建立时确定下来,以后保持不变。当数据表关闭时,其所属的字段变量不能使用。
18
字段变量 字段变量的存储位置是在数据表中,因此,它不会随着当前工作期的结束或系统退出而丢失,只有当数据表被删除时,其对应的字段变量才随之消失。 字段变量的定义、赋值和修改可在表设计器中进行,也可通过数据表操作命令实现。
19
⑵ 内存变量 内存变量概念 与其它高级语言的内存变量一样,对应计算机内存中某一区域,用来存放程序操作过程中的原始数据、中间数据或最终结果。内存变量独立于数据库和表而单独存在,但当退出系统或当前工作期时,内存变量将自动消失。 类型: 内存变量有数值型、浮点型、字符型、逻辑型、日期型和日期时间型六种类型。
20
① 内存变量的赋值 为内存变量赋值有两种方式: <内存变量>=<表达式>
STORE <表达式> TO <内存变量名表> 如 A=B+1 store 5 to A,B,C store {^ } to d1,d2,d3 说明 在使用内存变量时,不用事先进行变量定义,变量的类型是由赋值命令中所赋给变量的值的类型确定的。给变量赋新值时,旧值将被覆盖,变量的类型也自动变为新赋值的类型。
21
② 内存变量的显示 显示指定变量内容 命令格式: ? <变量名表> ?? <变量名表> 区别:
?? <变量名表> 区别: ? 在当前行的下一行第一个字符显示指定变量内容 ?? 在当前行光标位置显示指定变量内容
22
显示当前所有内存变量内容 命令格式: 区别: LIST MEMORY [TO PRINT]
DISPLAY MEMORY [TO PRINT] 区别: 当使用第一个命令时,系统连续显示所有变量的内容; 使用第二个命令时,系统分屏显示所有变量的内容。
23
③ 内存变量的释放 当某些内存变量不再需要时,可以使用以下命令进行删除,释放它们占用的内存空间。 命令格式: 示例
CLEAR MEMORY RELEASE <内存变量名表> RELEASE ALL [LIKE | EXCEPT<通配符>] CLEAR ALL 示例 release x,y,z && 释放X,Y,Z三个变量 release all like x* && 释放所有以字母X开头的变量 release all except x* && 保留以字母X开头的变量,清除其余所有变量
24
④ 内存变量的保存与恢复 用户定义的内存变量,在退出系统或当前工作期时,将自动消失。若想保留已定义的用户变量,可以使用如下命令将其保存在一个内存变量文件中。 命令格式: SAVE TO <文件名> ALL [LIKE |EXCEPT <通配符>] 示例 save to abc all like x* && 将所有以X开头的变量保存到文件ABC.MEM中; save to abc all except x* && 将所有不以X开头的变量保存到文件ABC.MEM中
25
从文件中恢复变量 命令格式如下: RESTORE FROM <文件名> [ADDITIVE]
26
⑶ 内存变量的作用域 ① 全局变量 ② 局部变量 ③ 私有变量
全局变量是在全部程序、过程、自定义函数中都有效的变量,即使程序执行结束,全局变量仍然存在,直到退出系统或用变量释放命令将其释放为止。 PUBLIC <变量表> ② 局部变量 局部变量只能在创建它们的程序中使用,不能被更高层或更低层的程序访问,局部变量所在程序执行结束后,其中的局部变量自动释放。 LOCAL <变量表> ③ 私有变量 私有变量在定义它的程序以及该程序的所有子程序中有效,当定义私有变量的程序执行结束后,私有变量将被释放。 PRIVATE <变量表>
27
⑷ 系统变量 系统变量是VFP 6.0自动创建并维护的内置内存变量,是全局变量。系统变量在VFP 6.0启动时创建,在系统退出时释放,即便使用了像CLEAR MEMO或CLEAR ALL这样的命令,也不能将系统变量释放掉。所有的系统变量都以下划线开始,如_SCREEN、_VFP 6.0等,详见附录三。
28
2.4.4 标准函数 VFP6.0中的函数按功能可分为:数值函数、日期和时间函数、字符串函数、类型转换函数、库操作函数、环境函数、系统测试函数等。 参见附录一 、系统帮助文件 函数的一般形式是: 函数名(自变量表)
29
1. 数值函数 ⑴ 绝对值函数 ⑵ 自然对数函数 【格式】 ABS(n) 【功能】 返回n的绝对值。 【格式】 LOG(n)
30
1. 数值函数 ⑶ 自然指数函数 ⑷ 取整函数 【格式】 EXP(n) 【功能】 返回n 的自然指数的值。 【格式】 INT(n)
31
⑹ 求最大值函数 ⑺ 求最小值函数 【格式】 MAX(表达式1,表达式2,…,表达式n)
【格式】 MIN(表达式1,表达式2,…,表达式n) 【功能】 计算n个表达式的值,求其中的最小者。
32
2. 日期和时间函数 ⑴ 日期函数 ⑵ 求星期几函数 【格式】 DAY(日期型表达式) 【功能】返回对应日期中的日。
【格式】 CDOW/DOW(日期型表达式) 【功能】 CDOW返回星期几的英语名,返回值为字符型;DOW返回一个数值,从星期天到星期六对应的数字为:1、2、3、4、5、6、7。
33
⑶ 求月份函数 ⑷ 求年份函数 【格式】 CMONTH/MONTH(日期型表达式)
【格式】 YEAR(日期型表达式) 【功能】 返回日期型表达式中的年份,返回值为数值型。
34
⑸ 求系统日期函数 ⑹ 求系统时间函数 ⑺ 求日期时间函数 【格式】 DATE() 【功能】返回系统的日期。 【格式】 TIME()
【功能】 返回系统时间。 ⑺ 求日期时间函数 【格式】 DATETIME() 【功能】 返回系统当前的日期和时间。
35
3. 字符串函数 ⑴ 宏替换函数 ⑵ 查找子串位置函数 【格式】 &字符型内存变量名 【功能】 用字符型内存变量的值作为函数返回值。
【格式】 AT(字符串1,字符串2) 【功能】 当字符串1 为字符串2 的子串时,函数值为字符串1在字符串2中的起始位置;否则,函数值为零。 ? AT("计算机科学","洛阳师院计算机科学系") 9
36
【功能】 从字符串的左边截取长度为n的一个子串作为函数返回值。
⑶ 求左子串函数 【格式】 LEFT(字符串,n) 【功能】 从字符串的左边截取长度为n的一个子串作为函数返回值。 ⑷ 求右子串函数 【格式】 RIGHT(字符串,n) 【功能】 从字符串的右边截取长度为n的一个子串作为函数返回值。 ⑸ 求字符串长度函数 【格式】 LEN(字符串) 【功能】 返回字符串的长度。 ⑹ 大小写字母转换函数 【格式】 UPPER/LOWER(字符串) 【功能】 函数UPPER将字符串中的所有小写字母转换成大写字母,函数LOWER将字符串中的所有大写字母转换成小写字母。
37
⑺ 删除字符串首、尾部空格函数 ⑻ 取任意子串函数 【格式】 LTRIM/RTRIM/TRIM/ALLTRIM(字符串)
【格式】 SUBSTR(字符串,起始位置[,长度]) 【功能】 从字符串中取出一个子串。第二个参数指定子串的开始位置,第三个参数指定子串的长度。当第二个参数的值大于给定字符串的长度时,得到一个空串;当第三个参数的值大于起始位置到结尾的宽度时,与省略此项等效,取到字符串末尾。
38
4. 类型转换函数 ⑴日期型转字符型函数 【格式】 DTOC(日期型表达式) 【功能】将日期型数据转换成字符型数据 ⑵ 数值转字符函数
【格式】 CHR(n) 【功能】 该函数返回ASCII码为n 的字符。n为整数,其取值范围为0~255。 ⑶ 字符转ASCII码函数 【格式】 ASC(字符串) 【功能】 返回字符串首字符的ASCII码。 ⑷ 数值型转字符型函数 【格式】 STR(数值型表达式[,长度[,小数位数]]) 【功能】 将数值表达式的值转换成指定长度、指定小数位数的字符串,包含小数点和小数位数,超出长度的部分四舍五入。若规定的长度小于该数的整数位数,则返回由“*”组成的字符串。
39
2.4.5 运算符与表达式 1. 算术表达式 2. 字符表达式 算术表达式由数值型常量、数值型变量、数值型函数及相应的算术运算符构成。
2.4.5 运算符与表达式 1. 算术表达式 算术表达式由数值型常量、数值型变量、数值型函数及相应的算术运算符构成。 2. 字符表达式 字符表达式是指由字符串运算符(+或-)将字符型常量、变量及函数连接起来构成的式子,其结果仍为字符型。字符表达式的作用是完成若干字符串的连接,构成新的字符串。
40
3. 时间日期表达式 时间日期表达式是由时间日期运算符将时间日期型或数值型的常量、变量及函数连接起来的式子,表达式的值可能是时间日期型或数值型。 运算符 功 能 表达式例 结 果 + 计算若干天后的日期 {^ }+10 {^ } 计算若干秒后的时间 {^ ,12:30:00}+10 {^ ,12:30:10} - 计算若干秒前的时间 {^ ,12:30:00}-10 {^ ,12:29:50} 计算两个时间相隔的秒数 {03/12/78 12:30:30} -{03/12/78 12:30:00} 30 计算若干天前的日期 {03/12/1978}-10 {03/02/1978} 计算两个日期相隔的天数 {03/12/78}-{03/22/78} -10
41
4. 关系表达式 关系表达式是指由比较运算符将两个表达式连接起来的式子,实现两个表达式的比较运算。关系表达式中,参与比较的表达式类型必须一致,可以是数值型、字符型或日期时间型。关系表达式的值为逻辑型。
42
说明 ⑴ 在各个运算符中,“==”和“$”是专用于字符串比较的。“==”用于字符串的精确比较,只有参与比较的两个字符串完全相同时,表达式的值才为真;“$”用于比较第一个字符串是不是第二个字符串的子串,当第一个字符串是第二个字符串的一部分时,表达式的值为真。其他运算符都可以对数值型、字符型或日期时间型数据进行比较。 ⑵ 日期型或日期时间型数据参与比较时,时间越靠后,其值越大。 ⑶ 两个字符串比较时,按从前往后的顺序逐个比较各字符;字符值的大小是按其机内码的顺序比较的,顺序越靠后,其值越大。 ⑷ 用“=”比较两个字符串时,系统根据命令SET EXACT ON|OFF设置的不同,有不同的比较方法。当设置为ON时,该比较运算符为精确比较;当设置为OFF时,为不精确比较或近似比较,系统在进行比较时,是从两个字符串的第一个字符开始逐个比较,直到等号右边的字符串结束即终止,若相同,则表达式的值为真。
43
5. 逻辑表达式 逻辑表达式是指由逻辑运算符将逻辑型常量、变量、表达式或函数连接起来构成的式子,其结果仍为逻辑型。 ! .AND. .OR.
(2>3).OR.(A=B).AND.(C<=3)
44
本章小结 VFP6.0的安装及其运行方法,对VFP6.0的开发环境作了概括介绍。 配置VFP6.0的应用环境的方法。
45
作业及实验 作业:习题二 (前两题) 实验:实训实验一
Similar presentations