vfp学习VFP的数据与表达式.ppt

上传人:牧羊曲112 文档编号:5452119 上传时间:2023-07-08 格式:PPT 页数:63 大小:448.50KB
返回 下载 相关 举报
vfp学习VFP的数据与表达式.ppt_第1页
第1页 / 共63页
vfp学习VFP的数据与表达式.ppt_第2页
第2页 / 共63页
vfp学习VFP的数据与表达式.ppt_第3页
第3页 / 共63页
vfp学习VFP的数据与表达式.ppt_第4页
第4页 / 共63页
vfp学习VFP的数据与表达式.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《vfp学习VFP的数据与表达式.ppt》由会员分享,可在线阅读,更多相关《vfp学习VFP的数据与表达式.ppt(63页珍藏版)》请在三一办公上搜索。

1、Contents,1,2023/7/8,单元一 数 据 库 系 统 概 述,单元二 数据类型及运算规则,单元三 VFP的项目管理,模块一 数据库及VFP基础,单元二 数据类型及运算规则,教学内容:2-1 数据类型2-2 常量2-3 变量 2-4 表达式2-5 函数,教学目标:1熟悉Visual FoxPro的窗口界面与系统菜单。2学会Visual FoxPro的启动和退出,掌握Visual FoxPro的基本操作。3初步掌握Visual FoxPro的基本数据类型。4掌握Visual FoxPro的运算符、表达式以及常用内部函数的使用。5掌握交互式命令执行方法。,2-1 数据类型,VFP中每一

2、个数据都有一定的类型,数据类型决定了数据的存储方式和运算方式,因此,在VFP中任何数据须先定义其数据类型,然后才能对其进行数据处理。VFP提供了13种数据类型,分别是:字符型、数值型、货币型、逻辑型、日期型、日期时间型、整型、浮点型、双精度型、备注型、通用型、字符型(二进制)备注型(二进制)。,2-2 常量,2-2-1 数值型常量2-2-2 字符型常量 2-2-3 日期型常量2-2-4 日期时间型常量2-2-5 逻辑型常量2-2-6 货币型常量,2-2 常量,2-2-1数值型常量 数值型常量就是整数、小数或用科学记数法表示的数。如:125,-456.267,1.345E+20等。2-2-2字符

3、型常量 字符型常量是用字符定界符括起来的字符串。字符定界符有西文的单引号、双引号或方括号三种。如“计算机,ABC,567.345等。注意:字符定界符必须成对的出现。如果字符串中包含一种定界符,则必须用另一种定界符括起来。如:“计算机”,双引号为字符定界符,其中的方括号为字符串。,2-2-3 日期型常量 日期型常量就是表示一个确切的日期,用一对花括号作为定界符括起来。系统默认的日期格式为美国日期格式(mm/dd/yy),表示月/日/年,“/”为分隔符。分隔符还可以用西文的“-”、“.”和空格表示,如05/25/03表示2003年5月25日。通过菜单“工具选项”命令或SET DATE,SET CE

4、NTURY ON(OFF)命令可以改变默认的日期格式。(set date to short,set date to long)另外,还有一种严格的日期格式,具体表示为:yyyy-mm-dd。如2003-10-15表示2003年10月15日。严格日期格式可以在任何情况下使用,不受SET DATE,SET CENTURY命令的影响。,2-2-4日期时间型常量 包括两部分内容:,。同日期型常量,格式为hh:mm:ssa|p,其中hh、mm和ss分别代表时、分和秒;a(AM)和p(PM)分别代表上午和下午,默认为上午AM。2-2-5逻辑型常量 逻辑型常量只有两种逻辑值,即真和假。真值用.T.,.t.,

5、.Y.,.y.表示,假值用.F.,.f.,.N.,.n.表示。2-2-6货币型常量 货币型常量用来表示货币值,它是以$符号开头的数值型常量,系统自动进行四舍五入取4位小数。如$2567.876567,系统存储为$2567.8766。,2-3 变量,2-3-1 字段变量2-3-2 内存变量2-3-3 数组2-3-4 系统内存变量,2-3-1字段变量,字段变量是在数据表中定义的变量,它存在于数据表中,一个数据表包含多个字段变量,即多个字段名。字段变量的值随着数据表中记录的不同而改变。当用字段名作变量时,它的当前值就是数据表中当前记录该字段名所对应的值。,【例2.1】打开“学生情况表”表文件,显示第

6、2条记录和第5条记录的学号和姓名字段值,结果如下图所示。,2-3-2 内存变量,内存变量是用户通过命令或程序临时定义的变量,内存变量建立后存储在内存中,需要时可把内存变量保存在文件中。内存变量的数据类型由变量值的类型决定,可以把不同类型的数据赋值给同一个内存变量。内存变量的数据类型有字符型、数值型、货币型、逻辑型、日期型和日期时间型。,1内存变量的命名规则(1)以字母、汉字或下划线开头,由字母、汉字、数字、和下划线组成。(2)变量名长度最多为128个字符。(3)不能使用系统的保留字。(保留字是指VFP语言使用的关键字,如CREATE命令中的CREATE就是一个系统保留字)。2内存变量赋值命令命

7、令格式1:=命令格式2:store to 功能:将的值赋给内存变量。说明:格式1只能给一个变量赋值;格式2可以给一批变量赋相同的值,各变量名之间必须用逗号分隔;可对内存变量重新赋值来改变其值和类型。,3显示内存变量命令命令格式:?|?功能:计算的值,并显示在屏幕上。说明:?表示从VFP主窗口下一行的第一列显示结果,?表示从当前行当前列显示结果。【例2.2】在命令窗口中输入赋值命令给内存变量赋值,并显示内存变量的结果。,4显示或打印内存变量命令格式:LIST|DISPLAY MEMORY LIKE TO PRINT|TO FILE 功能:显示或打印当前已定义的内存变量名、作用范围、类型和值。5内

8、存变量的清除命令格式1:CLEAR MEMORY命令格式2:RELEASE 内存变量表 ALLLIKE|EXCEPT 功能:清除内存变量。,6.内存变量的作用域 内存变量的作用域就是它的作用范围。根据内存变量的作用范围分为全局变量、局部变量和本地变量。(1)定义全局变量用PUBLIC命令定义的内存变量,可视为全局变量。PUBLIC命令格式:PUBLIC 内存变量表命令功能:定义内存变量表中指定的内存变量为全局变量。,(2)定义局部变量PRIVATE命令格式:PRIVATE 内存变量表命令功能:定义内存变量表中指定的内存变量为局部变量。(3)定义本地变量LOCAL命令格式:LOCAL 内存变量表

9、命令功能:定义内存变量表中指定的内存变量为本地变量。内存变量作用域实例见本单元实训部分,2-3-3 数组,数组是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素。数组必须先定义后使用。每个数组元素可通过数组名及相应的下标来访问。命令格式:DIMENSION|DECLARE(,),(,)功能:定义一个或多个一维、二维或多维数组。,【例2.3】定义数组,并给数组赋值。DIMENSION Y(3),X(2,2)Y=123X(1,1)=345X(1,2)=abcX(2,1)=2003-03-25X(4)=.T.?Y(1),Y(2),Y(3),X(1),X(2),X(3),X(4),2-3-4

10、 系统内存变量,系统内存变量是指VFP系统定义的一批变量,它门都以下划“_”开头,分别用于控制外部设备、屏幕输出格式或处理有关计算器、日历、剪贴板等方面的信息。【例 2.4】在命令窗口中输入DISPLAY MEMORY命令,以满屏幕暂停的方式显示当前系统的内存变量,结果如图所示。,2-4 表达式,2-4-1 数值表达式2-4-2 字符表达式2-4-3 日期与日期时间表达式2-4-4 关系表达式 2-4-5 逻辑表达式,2-4-1 算数表达式,算数表达式是由算术运算符将数值型数据连接起来的表达式,其运算结果仍然是数值型数据。算术运算符及优先级为:()、*或、*、/、%、+、-【例2.5】计算(-

11、)6的值。?(7*2-1/5)*6,2-4-2 字符表达式,字符表达式是由字符运算符将字符型数据连接起来的表达式,其运算结果仍然是字符型数据。字符运算符有:+、-+:前后两个字符串连接形成一个新的字符串。-:前后两个字符串连接,并把前字符串的尾部空格移到连接后的字符串尾部。【例2.6】字符串连接?数据库+管理?数据库-管理,2-4-3 日期与日期时间表达式,日期与日期时间表达式是由日期运算符将日期或日期时间数据连接起来的表达式,其运算结果是日期或日期时间数据,也可以是数值型数据。日期运算符有:+、-合法的日期时间表达式如下表所示。,【例2.7】日期运算?2003/05/08+15?2003/0

12、5/08-2003/03/15?2003/05/08,10:35:10 am+120,2-4-4 关系表达式,关系表达式是由关系运算符将两个运算对象连接起来的式子,即:,其运算结果是逻辑型数据.T.或.F.。关系运算符见下表所示。,说明:关系运算符两边表达式的数据类性必须相同。,【例2.8】关系运算?1015,abc2003/03/15,.t.f.?ab$abd,北京大学$大学SET EXACT OFF?数据库系统=数据库?数据库=数据库系统?数据库=数据库系统SET EXACT ON?数据库系统=数据库?数据库=数据库系统?数据库=数据库系统,2-4-5 逻辑表达式,逻辑表达式是由逻辑运算符

13、将逻辑型数据连接起来的表达式,其运算结果仍然是逻辑数据.T.或.F.。逻辑运算符及优先级为:.NOT.或!、.AND.、.OR.逻辑运算规则见下表所示。,注意:逻辑运算符两边的点可以省略,即可写成NOT、AND、OR。,用不同类型的运算符可写出不同类型的表达式,如果一个表达式中同时用了不同类型的运算符,则运算符的优先级顺序由高到低为:括号算术运算符字符运算符日期时间运算符关系运算符逻辑运算符。【例2.9】逻辑运算?2*56 and abcabcd or 122003/03/15.and.not.t.f.,2-5 函数,2-5-1 数值函数2-5-2 字符函数2-5-3 日期和时间函数2-5-4

14、 数据类型转换函数2-5-5 测试函数2-5-6 其它函数,2-5-1 数值函数,数值函数是指自变量和函数值一般都是数值型数据的函数。1.绝对值函数格式:ABS()功能:返回指定的数值表达式值的绝对值。【例2.10】?ABS(50),ABS(-50)2.取整函数格式:INT()功能:返回指定的数值表达式值的整数部分。【例2.11】?INT(12.625*2),INT(-3.45),3.四舍五入函数格式:ROUND(1,)功能:计算的值,并按指明的位数四舍五入。说明:大于等于0,表示保留小数的位数。若小于0,表示整数部分的舍入的位数。【例2.12】?ROUND(12.625,2),ROUND(1

15、2.625,0)?ROUND(123.45,-1),ROUND(123.45,-2),4.求平方根函数格式:SQRT()功能:返回指定的数值表达式的平方根值。自变量表达式的值不能为负。【例2.13】?SQRT(81),SQRT(9.3)5.最大值函数格式:MAX(,)功能:计算各表达式的值,并返回其中的最大值。【例2.14】?MAX(-3,2*4,2*3),6.最小值函数格式:MIN(,)功能:计算各表达式的值,并返回其中的最小值。【例2.15】?MIN(-25,234,24*24)7.求余数函数格式:MOD(,)功能:返回除以后的余数。说明:的值不能为0;余数的正负号与除数相同.【例2.16

16、】:?MOD(8,3),MOD(8,-3)?MOD(-8,3),MOD(-8,-3),8.求自然对数函数格式:LOG()功能:返回的自然对数的值。【例2.17】?LOG(25.5*4),2-5-2 字符函数,1.求字符串长度函数格式:LEN()功能:返回指定值的字符个数。函数值为数值型。【例2.18】?LEN(学生+管理)2.取子串函数格式:SUBSTR(,)功能:从指定的开始,按取值的子字符串。说明:如果缺省,子串为从开始直到最后一个字符。【例2.19】?SUBSTR(学生+管理,5)?SUBSTR(学生+管理,1,4),3.产生空格函数格式:SPACE()功能:产生值指定的空格。【例2.2

17、0】?学生+SPACE(2)+管理4.大写字母转换为小写字母函数格式:LOWER()功能:将指定值中大写字母变为小写字母。【例2.21】:?LOWER(Good morning),5.小写字母转换为大写字母函数格式:UPPER()功能:将指定值中小写字母变为大写字母。【例2.22】?UPPER(Good morning)6.删除字符串尾部空格函数格式:TRIM()功能:删除指定值尾部的空格。【例2.23】?LEN(数据库)?LEN(TRIM(数据库),7.删除字符串左边空格函数格式:LTRIM()功能:删除指定值左边部分的空格。【例2.24】?学生+管理?学生+LTRIM(管理)8.删除字符串

18、左右两边空格函数格式:ALLTRIM()功能:删除指定值左右两边的空格。【例2.25】?LEN(管理)?LEN(ALLTRIM(管理),9.取左子串函数格式:LEFT(,)功能:按值取指定值的左边子字符串。【例2.26】?LEFT(数据库管理系统,6)10.取右子串函数格式:RIGHT(,)功能:按值取指定值的右边子字符串。【例2.27】?RIGHT(数据库管理系统,4),11.子串位置测试函数格式:AT(,)功能:判断值是否是值的子串,若是,返回值的首字符在值的起始位置;若不是,则返回0。函数值为数值型。说明:值表明在中出现的次数,其默认值为1。【例2.28】?AT(管理,学生管理),12.

19、宏替换函数格式:&().功能:替换指定的内容。说明:如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。宏替换函数可以嵌套使用。【例2.29】y=150?&y?50+&y x=创建?&x.数据库,2-5-3日期和时间函数,1.系统日期函数格式:DATE()功能:返回当前系统的日期,函数值为日期型。【例2.30】?DATE()2.系统时间函数格式:TIME()功能:返回当前系统的时间,函数值为字符型。【例2.31】?TIME(),3.系统日期时间函数格式:DATETIME()功能:返回当前系统的日期时间,函数值为日期时间型。【例2.32】?DATETIME()4.求年份函数格式:YEA

20、R(|)功能:返回指定日期或日期时间表达式值中的年份。函数值为数值型。【例2.33】?YEAR(2003/05/28),5.求月份函数格式:MONTH(|)功能:返回指定日期或日期时间表达式值中的月份。函数值为数值型。【例2.34】?MONTH(2003/05/28)6.求天数函数格式:DAY(|)功能:返回指定日期或日期时间表达式值中的天数。函数值为数值型。【例2.35】?DAY(2003/05/28),2-5-4 数据类型转换函数,1.字符转换成ASCII码函数格式:ASC()功能:将值的第一个字符转换成ASCII码值,函数值为数值型数据。【例2.36】?ASC(abc)2.ASCII码转

21、换成字符函数格式:CHR()功能:将的值转换成ASCII码字符,函数值为字符型数据。【例2.37】?CHR(65),3.数值型转换成字符型函数格式:STR(,)功能:将的值转换成字符型数据,函数值为字符型数据。说明:字符串的长度由值确定,包括小数点和负号各占一位;值表示小数点的位数。如果值小于值的整数部分位数,则返回一串星号(*)。的默认值是10位,的默认值是0。【例2.38】X=STR(345.456,6,2)?X?VARTYPE(X)?STR(345.456,2)?STR(345.456),4.字符型转换成数值型函数格式:VAL()功能:将的值转换成相应的数值型数据。说明:若字符串内出现非

22、数值字符,则只转换前面部分;若字符串的首字符不是数字符号,则返回数值0,但忽略前导空格。【例2.39】Y=VAL(3.15)?Y?VARTYPE(Y)?VAL(3A.15)?VAL(A3.15),5.字符型转换成日期型函数格式:CTOD()功能:将的值转换成日期型数据。【例2.40】Z=CTOD(05/28/03)?Z?VARTYPE(Z),6.日期型转换成字符型函数格式:DTOC(|,1)功能:将日期型或日期时间型数据转换成字符串。说明:选项,1表示转换格式为年月日。【例2.41】P=DTOC(CTOD(05/28/03)?P?VARTYPE(P),2-5-5 测试函数,1.数据类型测试函数

23、格式:VARTYPE()功能:测试值的数据类型,返回代表该类型数据的字符C、N、Y、L、G、D、T、X(NULL值)、U(未定义)等。【例2.42】?VARTYPE(67548)?VARTYPE(.T.),2.记录号测试函数格式:RECNO(工作区号|)功能:返回指定工作区表文件中当前记录的记录号。说明:如果缺省或,指当前表文件。【例2.43】USE D:NEW BOOK学生情况表?RECNO()GO 9?RECNO(),3.记录个数测试函数格式:RECCOUNT(工作区号|)功能:返回指定工作区中表文件的全部记录个数。【例2.44】USE D:NEW BOOK学生情况表?RECCOUNT()

24、&显示结果为 10 GO BOTTOM SKIP?RECNO(),4.表文件首测试函数格式:BOF(工作区号|)功能:测试指定工作区中表文件的记录指针是否指向文件首,即第一条记录之前。如果是,则返回逻辑真.T.;否则返回逻辑假.F.。【例2.45】USE D:NEW BOOK学生情况表?BOF(),RECNO()SKIP-1?BOF(),RECNO(),5.表文件尾测试函数格式:EOF(工作区号|)功能:测试指定工作区中表文件的记录指针是否指向文件尾,即最后一条记录之后。如果是,则返回逻辑真.T.;否则返回逻辑假.F.。【例2.46】USE D:NEW BOOK学生情况表 GO BOTTOM?

25、EOF()SKIP 1?EOF(),6.条件测试函数格式:IIF(,)功能:测试的值,如果为.T.,返回的值;如果为.F.,返回的值。【例2.47】X=125 Y=200?IIF(XY,X+100,Y-100),7.记录删除测试函数格式:DELETE(工作区号|)功能:测试指定工作区中表文件的当前记录是否有删除标记(逻辑删除),若有,返回.T.;否则返回.F.。【例2.48】USE D:NEW BOOK学生情况表 GO 3 DELETE?DELETE(),8.记录查找测试函数格式:FOUND(工作区号|)功能:测试指定工作区表文件中,用LOCATE,CONTINUE,SEEK,FIND命令对表

26、文件或索引文件的查找是否成功,若成功,返回.T.;否则返回.F.。【例2.49】USE D:NEW BOOK学生情况表 INDEX ON 性别 TAG XB SEEK 女?FOUND(),9.工作区号测试函数格式:SELETE(0|1|)功能:测试工作区的编号。说明:不带任何选项或选O表示返回当前工作区的编号;选1表示返回未使用工作区的最大编号;指定表示返回表文件所在的工作区的编号。【例2.50】SELETE 1 USE D:NEW BOOK学生情况表 SELETE 2 USE D:NEW BOOK学生成绩表?SELETE()?SELETE(1),10.文件存在测试函数格式:FILE()功能:

27、测试指定的文件是否存在。若存在,则返回逻辑真值.T.,否则返回逻辑假值.F.。说明:文件名必须包括扩展名,并且文件名一定要用字符定界符括起来,如果不用字符定界符括起来,系统将认为是变量名。【例2.51】?FIELE(D:NEW BOOK学生情况表.DBF),2-5-6 其它函数,1.显示信息对话框函数格式:MESSAGEBOX(,)功能:显示一个信息对话框,并且通过对话框上提供的选择进行操作。函数的返回值为数字。说明:用于指定对话框中要显示的信息。用于指定对话框中的标题文字。如该项省略,对话框标题将显示为“Microsoft Visual FoxPro”。用于指定对话框的类型参数,对话框类型参数可控制显示在对话框上的按钮和图标的种类及数目,以及焦点选项的按钮。,下表给出了对话框类型参数及含义。,【例2.52】?MESSAGEBOX(确实要删除吗?,3+16+256,提示删除对话框),从对话框中选择一按钮,函数将返回一个数字。在图2-4中,选择“是”按钮,则返回数字6。返回值与按钮的关系如下表所示。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号