《第3章的基本语法优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3章的基本语法优秀PPT.ppt(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3章的基本语法现在学习的是第1页,共69页教学目标教学目标掌握掌握VFPVFP中数据类型及变量的分类中数据类型及变量的分类;掌握变量的命名及表达式运算;掌握变量的命名及表达式运算;掌握内存变量的操作;掌握内存变量的操作;熟悉熟悉VFP函数的使用。函数的使用。双语课堂双语课堂双语课堂双语课堂C C C C重点与难点:数据及变量的类型;使用逻辑表达式描述复数据及变量的类型;使用逻辑表达式描述复合条件;类型转换函数及状态测试函数。合条件;类型转换函数及状态测试函数。现在学习的是第2页,共69页3.1常量与变量常量与变量现在学习的是第3页,共69页一一.常量常量表示一个具体的、不变的值。不同类型的常
2、量有不同的书写格式。表示一个具体的、不变的值。不同类型的常量有不同的书写格式。1.字字符符型型常常量量用用定定界界符符(单单引引号号、双双引引号号和和方方括括号号)括括起起来来的的字字符符串串。可可以以是是26个个英英文文大大小小写写字字母母、10个个阿阿拉拉伯伯数数字字、各各种种汉汉字字、专用符号和空格等,最大长度可达专用符号和空格等,最大长度可达254个字符。个字符。示例:示例:“ade”,568,“book的中文意思是的中文意思是书书。”注注意意:如如果果将将阿阿拉拉伯伯数数字字定定义义为为字字符符串串时时,它它不不具具备备数数学学上上的的数数值含义,不能参加数学运算,如电话号码,邮编等
3、。值含义,不能参加数学运算,如电话号码,邮编等。注注意意:字字符符定定界界符符必必须须成成对对的的出出现现。如如果果字字符符串串中中包包含含一一种种定定界界符符,则则必必须须用用另另一一种种定定界界符符括括起起来来。如如:“计计算算机机”,双双引引号号为字符定界符,其中的方括号为字符串。为字符定界符,其中的方括号为字符串。现在学习的是第4页,共69页例如:在主窗口中显示几个字符常量例如:在主窗口中显示几个字符常量?“计算机计算机”,123123,数据数据,ABXABX “abcabc”?“学习学习”,字符串字符串,“”,表示方法表示方法 注意注意,不包括任何字符的字符串不包括任何字符的字符串(
4、“”)叫空串叫空串.空串与包含空格的字符串空串与包含空格的字符串(“”)不同不同.现在学习的是第5页,共69页2.数数值值型型常常量量用用来来表表示示一一个个数数量量的的大大小小,可可以以进进行行算算术术运运算算。包含包含09的阿拉伯数字、小数点与正负号,最大长度为的阿拉伯数字、小数点与正负号,最大长度为20位。位。示例:示例:538,10.5,5.87E12,1.6E123.逻辑型常量逻辑型常量只有逻辑真和逻辑假两个值,只有逻辑真和逻辑假两个值,逻辑真的表示形式有:逻辑真的表示形式有:.T.、.t.、.Y.和和.y.逻辑假的表示形式有:逻辑假的表示形式有:.F.、.f.、.N.和和.n.逻辑
5、型数据长度固定为逻辑型数据长度固定为1位,占用位,占用1个字节。个字节。现在学习的是第6页,共69页4.日期型常量日期型常量表示一个确切的日期,用表示一个确切的日期,用大括号大括号作为定界符。作为定界符。1)传统的日期格式:传统的日期格式:mm/dd/yy,受设置命令的影响。,受设置命令的影响。2)严严格格的的日日期期格格式式:YYYY-MM-DD,不不受受设设置置命命令令的的影影响响,能表达一个确切的日期。能表达一个确切的日期。示例示例:10/08/06,2006-08-06严严格格的的日日期期格格式式可可以以在在任任何何情情况况下下使使用用,而而传传统统的的日日期期格格式式只只能在能在SE
6、TSTRICTDATETO0 状态下使用。状态下使用。现在学习的是第7页,共69页3)3)影响日期格式的设置命令影响日期格式的设置命令SETMARKTO日期分隔符日期分隔符SETDATETOymdmdy等等SETCENTURYON|OFF&设置年份位数设置年份位数SETSTRICTDATETO0|1&是否进行严格的日期格式检查是否进行严格的日期格式检查0:检查检查严格日期格式严格日期格式1:不检查不检查传统日期格式传统日期格式2:检查,并且对检查,并且对CTOD()和和CTOT()也有效也有效现在学习的是第8页,共69页5.5.日日期期时时间间型型常常量量包包括括日日期期和和时时间间两两部部分
7、分内内容容,用用来来描述日期和时间。描述日期和时间。示例示例:05/16/9912:00:006.货货币币型型常常量量用用来来表表示示货货币币值值,在在数数字字前前加加一一个个符符号号($)。存储和计算时采用存储和计算时采用4位小数,多余小数位四舍五入。位小数,多余小数位四舍五入。示例:示例:$123.4567现在学习的是第9页,共69页二二.变量变量在在使使用用过过程程中中其其值值可可以以改改变变的的量量。VFP的的变变量量分分为为字字段段变变量量和和内内存存变变量量两两大大类类。内内存存变变量量又又包包括括简简单单内内存存变变量量、系系统统内内存存变变量量和和数数组组变变量。量。1.字段变
8、量字段变量 字字段段变变量量对对应应于于数数据据表表中中的的字字段段,是是在在建建立立数数据据表表文文件件时时定定义义的的,数数据据表表中中的的每每一一个个字字段段都都是是一一个个字字段段变变量量,以以字字段段名名标标识识。字字段段变变量量必必须须依依附附于于数数据据表表,存存在在于于数数据据表表文文件件中中,随随着着数数据据表表的的打打开而生效,随着数据表的关闭而撤消,开而生效,随着数据表的关闭而撤消,2.简单内存变量简单内存变量内内存存中中的的一一个个存存储储区区域域,是是一一种种临临时时工工作作单单元元,常常被被用用来来存存储储所所需需要要的的常常数数、中中间间结结果果或或最最终终结结果
9、果。变变量量名名由由汉汉字字、字字母母、数数字字和和下划线组成下划线组成,必须由字母或汉字开头必须由字母或汉字开头。现在学习的是第10页,共69页(1)内存变量的命名规则:)内存变量的命名规则:由字母、汉字、数字或下划线组成。由字母、汉字、数字或下划线组成。以字母、汉字或下划线开头。以字母、汉字或下划线开头。长度为长度为1128个字符,每个汉字占两个字符。个字符,每个汉字占两个字符。不能使用不能使用VFP的保留字。的保留字。当当内存变量名与字段变量名相同内存变量名与字段变量名相同时,字段名优先于内存变量名,使用时,字段名优先于内存变量名,使用时可以在内存变量名前加上时可以在内存变量名前加上M.
10、(或(或M)以示区别,但赋值时不能)以示区别,但赋值时不能使用前缀。使用前缀。例:例:?M.姓名姓名&表示内存变量表示内存变量现在学习的是第11页,共69页内存变量的赋值命令内存变量的赋值命令STORETO 格式一格式一命令动词命令动词去向子句去向子句包含值的表达式包含值的表达式接收值的变量名表接收值的变量名表STORE0TOAA,BB,CC&数值数值0赋给变量赋给变量AA,BB,CCSTORE“李磊李磊”TONAME&字符串字符串“李磊李磊”赋给赋给NAME例例格式二格式二=接收值的变量名接收值的变量名赋值操作符赋值操作符包含值的表达式包含值的表达式例例A=.T.将逻辑真值赋给变量将逻辑真值
11、赋给变量A现在学习的是第12页,共69页功能注释功能注释:(1 1)等号等号一次只能给一个内存变量赋值。一次只能给一个内存变量赋值。(2 2)StoreStore命令命令可以同时给若干个变量赋予相同的值,各可以同时给若干个变量赋予相同的值,各内存变量名之间必须用逗号分开。内存变量名之间必须用逗号分开。(3 3)在)在vfpvfp中,变量使用之前并不需要特别的声明和定义。中,变量使用之前并不需要特别的声明和定义。(4 4)内存变量在赋值时定义了它的值及类型,其类型)内存变量在赋值时定义了它的值及类型,其类型与所赋值的类型相同。与所赋值的类型相同。(5 5)命令后的符号命令后的符号&,表示该符号后
12、跟随的是本命令,表示该符号后跟随的是本命令行的注释,与命令执行无关。行的注释,与命令执行无关。现在学习的是第13页,共69页3.3.3.3.内存变量的显示内存变量的显示内存变量的显示内存变量的显示;命令格式一命令格式一命令格式一命令格式一 LISTMEMOTOPRINTLISTMEMOTOPRINTDISPLAYMEMOTOPRINTDISPLAYMEMOTOPRINT 例例例例listmemolistmemo 命令格式一命令格式一命令格式一命令格式一?/?/?功能计算表达式的值,并将其显示在屏幕上。功能计算表达式的值,并将其显示在屏幕上。?表示从屏幕下一行的第一列显示结果?表示从屏幕下一行的
13、第一列显示结果?表示从当前行的当前列显示结果?表示从当前行的当前列显示结果例如:例如:S=“visiual”P=“foxpro”?s?p现在学习的是第14页,共69页例如例如 在命令窗口键入的命令和主屏显示的内容如下:在命令窗口键入的命令和主屏显示的内容如下:s=s=“vfpvfp”&用字符串用字符串vfpvfp赋给变量赋给变量S S,结果,结果S S的值为的值为vfp,vfp,并成为并成为字符型变量字符型变量y=500&y=500&用数值型常量用数值型常量500500赋值内存变量赋值内存变量stor 24 to x1,x2&stor 24 to x1,x2&对两个内存变量赋相同的值对两个内存
14、变量赋相同的值stor.t.to q&stor.t.to q&用逻辑常量赋值内存变量用逻辑常量赋值内存变量q q?s,y,x1,x2,q?s,y,x1,x2,q 现在学习的是第15页,共69页2.数组数组 数组数组 是按一定顺序排列的一组内存变量,数组中的各个变是按一定顺序排列的一组内存变量,数组中的各个变量称为数组元素。每个数组元素可通过数组名及相应的下量称为数组元素。每个数组元素可通过数组名及相应的下标来访问。标来访问。数组必须先定义后使用。数组必须先定义后使用。说明:说明:由若干单下标变量组成的数组称为一维数组,由若干由若干单下标变量组成的数组称为一维数组,由若干双下标变量组成的数组称为
15、二维数组。双下标变量组成的数组称为二维数组。在在VisualFoxPro 中,只允许使用一维数组或二维数组。中,只允许使用一维数组或二维数组。一维数组:一维数组:各个元素按线性排列;各个元素按线性排列;二维数组:二维数组:类似于一个数据表,第一维是行,第二维是列类似于一个数据表,第一维是行,第二维是列。现在学习的是第16页,共69页定义数组定义数组在使用数组时一定要先定义在使用数组时一定要先定义,有两条命令可以定义数组。,有两条命令可以定义数组。格式一格式一格式二格式二DIMENSION(,),(,)DECLARE(,),(,)功能:功能:定义一个或多个一维或二维的内存变量数组。定义一个或多个
16、一维或二维的内存变量数组。参数描述:参数描述:DIMENSION和和DECLARE为定义数组的命令动词。为定义数组的命令动词。:指定数组的名称,其规定与内存变量名相同。:指定数组的名称,其规定与内存变量名相同。(,):定义数组的维数和大小):定义数组的维数和大小。说明:说明:1、数组的下标的起始值为数组的下标的起始值为。2、同一数组中的数组元素可以有不同的数据类型、同一数组中的数组元素可以有不同的数据类型。3、二维数组中各元素按行的顺序依次排列、二维数组中各元素按行的顺序依次排列。现在学习的是第17页,共69页4、每个数组占用一个内存变量、每个数组占用一个内存变量。5、除了可以分别对数组元素赋
17、值以外,也可对数组中的所有元素赋同、除了可以分别对数组元素赋值以外,也可对数组中的所有元素赋同一初值。一初值。6、DIMENSION和和DECLARE功能完全相同,常用功能完全相同,常用DIMENSION。例如:例如:DIMENSION(,),(,)DIMENSIONA(2,3),B(4,8)也可以一次只定义一个数组:也可以一次只定义一个数组:DIMENSIONA(2,3)也可以只定义一维数组:也可以只定义一维数组:DIMENSIONA(6)现在学习的是第18页,共69页(2)示例:dimension x(5),y(2,3)一维数组一维数组x含含5个元素:个元素:x(1),x(2),x(3),
18、x(4)x(5).二维数组二维数组Y含含6个元素:个元素:y(1,1),y(1,2),y(1,3),y(2,1),y(2,2),y(2,3)可以用一维数组表示二维数组分别为可以用一维数组表示二维数组分别为:y(1),y(2),y(3),y(4),y(5),y(6)现在学习的是第19页,共69页数组元素的赋值操作数组元素的赋值操作STORETO格式一格式一命令动词命令动词去向子句去向子句包含值的表达式包含值的表达式接收值的数组名或元素接收值的数组名或元素STORE0TOA将数值将数值0赋给数组赋给数组A的所有元素的所有元素STORE李磊李磊TOA(2,1)将字符串将字符串“李磊李磊”赋给数组赋给
19、数组A的第的第2行第行第1列的元素。列的元素。例例格式二格式二=接收值的数组名或元素接收值的数组名或元素赋值操作符赋值操作符包含值的表达式包含值的表达式例例A=.T.将逻辑真值赋给数组将逻辑真值赋给数组A的所有元素的所有元素现在学习的是第20页,共69页【例例2.32.3】定义数组,并给数组赋值。定义数组,并给数组赋值。DIMENSION Y(3),X(2,2)DIMENSION Y(3),X(2,2)Y=123Y=123X(1,1)=345X(1,1)=345X(1,2)=abcX(1,2)=abcX(2,1)=2003-03-25X(2,1)=2003-03-25X(4)=.T.X(4)=
20、.T.?Y(1),Y(2),Y(3),X(1),X(2),X(3),X(4)?Y(1),Y(2),Y(3),X(1),X(2),X(3),X(4)现在学习的是第21页,共69页3.2运算符与表达式运算符与表达式现在学习的是第22页,共69页运算符运算符:是对数据对象是对数据对象(操作数操作数)进行操作运算的符号。进行操作运算的符号。运算符以其结果的运算符以其结果的类型类型分组有如下五类分组有如下五类:算术运算符算术运算符关系运算符关系运算符逻辑运算符逻辑运算符字符串运算符字符串运算符日期运算符日期运算符1、算术运算符、算术运算符:操作数和运算的结果都是数值操作数和运算的结果都是数值(1 1)+
21、加号加号 (2 2)-减号减号 (3 3)*乘号乘号 (4 4)/除号除号 (5 5)或或*乘方乘方 (6 6)%余数余数%取模取模,取两数相除的余数,取两数相除的余数?17%5结果为结果为2和和*乘方乘方?23结果为结果为8运算的顺序:是先乘方运算的顺序:是先乘方-乘除乘除-加减,若有括号先内后外。加减,若有括号先内后外。现在学习的是第23页,共69页4.4.关系运算符:关系运算符:小于小于()、等于、等于(=)、不等于、不等于(、#或或!=!=)、小于等于小于等于(=)、字符串包含字符串包含($)、字符串精确比较、字符串精确比较(=)。说明:说明:(1)运运算算符符=和和$仅仅适适用用于于
22、字字符符型型数数据据。其其他他运运算算符符适适用用于于任任何何类类型型的数据,但前后两个运算对象的数据类型的数据,但前后两个运算对象的数据类型必须一致必须一致。数值型和货币型数据比较数值型和货币型数据比较:按数值的大小比较,包括负号。按数值的大小比较,包括负号。日期或日期时间型数据比较日期或日期时间型数据比较:越早的日期或时间越小,越晚的日期或时间越大。越早的日期或时间越小,越晚的日期或时间越大。现在学习的是第24页,共69页注意:关系运算符两边操作数类型必须一致,比较的结果是注意:关系运算符两边操作数类型必须一致,比较的结果是逻辑植。逻辑植。数值数据按数值大小比较数值数据按数值大小比较?56
23、(f)?56(f)日期型数据按年月日的先后进行比较日期型数据按年月日的先后进行比较?12/31/9912/31/01(f)?12/31/9912/31/01(f)字符型数据是按相应位置上两个字符的字符型数据是按相应位置上两个字符的ASCIIASCII码值进行比较码值进行比较 “ABCABC”AAAAAAAA”(T),(T),“ABCABC”=“ABAB”(T)(T)“ABCABC”=“ABAB”(F),(F),:包含,左串是右串的子串为真包含,左串是右串的子串为真?BC$ABCD(T)?BC$ABCD(T)现在学习的是第25页,共69页3、逻辑运算逻辑运算,运算结果是逻辑值运算结果是逻辑值 N
24、OT(!):取反运算,(!):取反运算,即:即:NOT.T.=.F.NOT.F.=.T.AND.逻辑与逻辑与.T.AND”ABC”AB”(T).OR.逻辑或逻辑或.T.OR34(T)4 4、字符运算符、字符运算符:用于连接两个字符串:用于连接两个字符串:用于连接两个字符串,并将前面一个字符串:用于连接两个字符串,并将前面一个字符串 尾部的空格移到结果字符串的尾部。尾部的空格移到结果字符串的尾部。例如:例如:a=hellob=everyone!?a+b,a-b现在学习的是第26页,共69页例:例:使用逻辑表达式描述使用逻辑表达式描述复合条件复合条件条件一条件一:“自动化专业的女团员自动化专业的女
25、团员”专业专业“自动化自动化”AND性别性别=女女AND团员团员条件二条件二:“未婚的女职工未婚的女职工”NOT婚否婚否AND性别性别=女女条件三:条件三:“职称为工程师或部门为技术科的男职工职称为工程师或部门为技术科的男职工”(职称职称=“工程师工程师”OR部门部门=“技术科技术科”)AND性别性别=男男现在学习的是第27页,共69页例如:例如:“ABCl23”+“666xyz”连接后结果为:连接后结果为:ABCl23666xyz“计算机计算机”+“世界世界”连接后结果为:连接后结果为:“计算机世界计算机世界”“ABC”-“DEFG”连接后结果为:连接后结果为:ABCDEFG“ABC”“DE
26、FG”连接后结果为:连接后结果为:ABCDEFG现在学习的是第28页,共69页“+”运算符与运算符与“”运算符的区别运算符的区别:A BeBFA BeBFA BeBF+A BeBF现在学习的是第29页,共69页5 5 日期时间表达式的格式日期时间表达式的格式+日期型日期型,指定日期若干天指定日期若干天后后的日期的日期-日期型日期型,指定日期若干天指定日期若干天前前的日期的日期-数值型数值型,两个指定日期相两个指定日期相差差的天数的天数2001-03-19+102001-03-19-3652001-03-1912:10:10-2001-03-1911:10:102001-03-1910:10:1
27、0am+10设置日期格式的几个命令设置日期格式的几个命令:Setstrictdateto0严格日期的格式严格日期的格式Setstrictdateto1传统日期的格式传统日期的格式Setcenturyon/off年份前含有世纪年份前含有世纪/不含世纪不含世纪现在学习的是第30页,共69页算术运算符算术运算符最最高高级级*或或(乘方)(乘方)*、/、和、和%(乘、除和余数)(乘、除和余数)和和(加和减)(加和减)和和(直接连接和(直接连接和去空连接)去空连接)和(加和减)和(加和减)日期运算符日期运算符 关系运算符关系运算符、=、=、#、!=、$、=各运算符优先级相同各运算符优先级相同次次高高级级
28、逻辑运算符逻辑运算符NOT或!(逻辑非)或!(逻辑非)AND(逻辑与)(逻辑与)OR(逻辑或)(逻辑或)最最低低级级字符串运算符字符串运算符现在学习的是第31页,共69页 例如:数值表达式例如:数值表达式?(1/60-3/56)*18.54?(1+2(1+2)/(2+2)?15%4Stor122tox,yZ=73?x%z,mod(x,z)混合表达式中,混合表达式中,算术运算符算术运算符优先于优先于关系运算符关系运算符,关系运算符优先于关系运算符优先于逻辑运算符。逻辑运算符。例如:例如:“ABC”$”AD”OR(1+2)366现在学习的是第32页,共69页3.3VisualFoxPro的常用函数
29、的常用函数现在学习的是第33页,共69页函函数数名名起起标标识识作作用用;参参数数是是自自变变量量,写写在在括括号号内内,当当有有多多个个参参数数时时,各各个参数之间用逗号分隔;括号中没有参数的函数称为无参函数。个参数之间用逗号分隔;括号中没有参数的函数称为无参函数。每个函数运算后都会返回一个值,称为函数值,无参函数也不每个函数运算后都会返回一个值,称为函数值,无参函数也不例外,函数值会因参数值而异。例外,函数值会因参数值而异。函数的三个要素函数的三个要素:函数名函数名参数参数函数值函数值函数名(函数名(函数名(函数名(参数参数参数参数1 1,参数,参数,参数,参数2 2 )函数的一般格式:函
30、数的一般格式:现在学习的是第34页,共69页1.1.宏替换函数宏替换函数格式格式:&.示例:示例:aa=“bb”bb=“北京北京”?aa,bb,&aa?“&bb.是中国的首都是中国的首都”&用用“.”作为内存变量的结束符作为内存变量的结束符n=“567.83”?356.08+&n注意:注意:如果如果&后不跟有效的内存变量名,则后不跟有效的内存变量名,则&只是一个字符只是一个字符一一.字符处理函数字符处理函数现在学习的是第35页,共69页2.2.计算字符串长度函数计算字符串长度函数LEN()LEN()格式格式:LEN()示例:示例:?LEN(“x+y=?”)&结果为结果为5?LEN(“Visua
31、lFoxPro程序设计程序设计)&结果为结果为213.3.生成空格函数生成空格函数SPACE()SPACE()格式:格式:SPACE()示例:示例:?“湖北湖北”+SPACE(3)+“武汉武汉”&湖北湖北武汉武汉现在学习的是第36页,共69页取左子串:取左子串:LEFT(,)取右子串:取右子串:RIGHT(,)取任意子串:取任意子串:SUBSTR(,)“12345.6789”“789”“1234”“5.6”?RIGHT(C,3)变量变量C?LEFT(C,4)?SUBSTR(C,5,3)4.4.截取子串函数截取子串函数现在学习的是第37页,共69页格式格式:AT(,)功能:功能:AT(,)返回返
32、回 在在 中中第一次第一次出现的起始位置。出现的起始位置。AT(,)返回返回 在在中中第第n n次次出现的起始位置。出现的起始位置。“This is a example.”?AT(is,C)?AT(is,C ,2)36变量变量C5.5.求子串位置函数求子串位置函数 现在学习的是第38页,共69页7.7.重复字符串函数重复字符串函数REPLICATE()REPLICATE()格式:格式:REPLICATE(,)示例:示例:?REPLICATE(*,3)&*6.6.计算子串出现次数函数计算子串出现次数函数 OCCURS()OCCURS()格式:格式:OCCURS(,)示例:示例:?OCCURS(i
33、s,Thisisaexample)&结果为结果为3?OCCURS(as,Thisisaexample)&结果为结果为0现在学习的是第39页,共69页8 8字符串替换函数字符串替换函数STUFF()STUFF()格式:格式:STUFF(,,)示例:示例:?STUFF(computer,3,4,”abc”)&结果为结果为”coabcer”?STUFF(computer,3,1,”abc”)&结果为结果为”coabcputer”现在学习的是第40页,共69页9.9.字符替换函数字符替换函数 CHRTRAN()CHRTRAN()格式:格式:CHRTRAN(,)示例:示例:?CHRTRAN(ABACAD
34、,”ACD”,”X12”)&结果为结果为”XBX1X2”?CHRTRAN(计算机计算机ABC,”计算机计算机”,”电脑电脑”)&结果为结果为”电脑电脑ABC”10.10.字符串匹配函数字符串匹配函数 LIKE()LIKE()格式:格式:LIKE(,)2)示例:示例:?LIKE(”AB*”,”ABCDEFG”)&结果为结果为.T.现在学习的是第41页,共69页11.11.删除前后空格函数删除前后空格函数格式格式:TRIM()LTRIM()ALLTRIM()示例:示例:SS=SPACE(1)+“TEST”+SPACE(3)?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)&TESTTE
35、STTEST?LEN(SS),LEN(TRIM(SS)&85?LEN(LTRIM(SS),LEN(ALLTRIM(SS)&74现在学习的是第42页,共69页12.12.大小写字母转换函数大小写字母转换函数格式:格式:LOWER()UPPER()示例:示例:?LOWER(“AaBbCc”)&结果为结果为aabbcc?UPPER(VisualFoxPro)&结果为结果为VISUALFOXPRO现在学习的是第43页,共69页 1.1.绝对值和符号函数绝对值和符号函数 格式:格式:ABS()SIGN()示例:示例:?ABS(3.456)&结果为结果为3.456?ABS(-12*5)&结果为结果为60二
36、二二二.数值处理函数数值处理函数数值处理函数数值处理函数 现在学习的是第44页,共69页2.求整数函数求整数函数3.平方根函数平方根函数4.自然指数函数自然指数函数5.对数函数对数函数6.圆周率函数圆周率函数7.四舍五入函数四舍五入函数8.求模求模(余数余数)函数函数9.正弦函数正弦函数10.余弦函数余弦函数11.求最大值和最小值函数求最大值和最小值函数示例:示例:现在学习的是第45页,共69页1.1.系统日期和时间函数系统日期和时间函数 格式:格式:DATE()TIME()DATETIME()示例:示例:?DATE(),TIME(),DATETIME()&07/05/0614:38:0607
37、/05/0602:38:06PM三三三三.日期和时间函数日期和时间函数日期和时间函数日期和时间函数 现在学习的是第46页,共69页2.2.求年份、月份和天数函数求年份、月份和天数函数格式:格式:YEAR(|)MONTH(|)DAY(|)示例:示例:?YEAR(DATE()&2006?MONTH(DATE()&7?DAY(DATE()&5假设当前日期为假设当前日期为2006年年7月月5日日现在学习的是第47页,共69页CMONTH(|)功能功能:以英文形式输出日期型表达式或日期时间型表达式中的月份。以英文形式输出日期型表达式或日期时间型表达式中的月份。3.3.字符月份函数字符月份函数 DOW()
38、&返回返回17的数值的数值CDOW()&返回英文形式的星期返回英文形式的星期注意:注意:一个星期的第一个星期的第1天为天为Sunday4 4.星期星期函数函数现在学习的是第48页,共69页1 1.求求ASCIIASCII函数:函数:格式格式:ASC(ASC()返回返回中的中的第一个第一个字符对应的字符对应的ASCIIASCII码值。码值。2 2.求字符函数:求字符函数:格式:格式:CHR(CHR()返回返回ASCIIASCII值为值为 的字符。的字符。字符(字符(C C)字符的字符的ACSIIACSII码(码(N N)ASCCHR四四四四.数据类型转换函数数据类型转换函数数据类型转换函数数据类
39、型转换函数 现在学习的是第49页,共69页格式:格式:STR(STR(,小数位数小数位数)说明:说明:(1)为为转转换换后后的的字字符符串串位位数数,该该长长度度包包括括小小数数点点、负负号号。如如果果缺缺省省和和,其其输输出出结结果果将将取取固固定定长长度度为为10位位,且且只只取其整数部分;取其整数部分;(2):若若的的设设定定值值大大于于实实际际数数值值的的小小数数位位,则则转转换换后后的的字字符符串串后后补补0,若若的的设设定定值值小小于于实实际际数数值值的的小小数数位位,则则对对小小数数四四舍舍五五入入;若若缺缺省省,则则转转换换后后为为整整数数,原原小数部分四舍五入;小数部分四舍五
40、入;3 3.数值型向字符型转换函数数值型向字符型转换函数现在学习的是第50页,共69页(3)如如果果值值大大于于给给出出值值的的数数字字位位数数时时,在在返返回回的的字字符串左边添加空格;符串左边添加空格;(4)如如果果值值小小于于值值的的整整数数部部分分位位数数,将将返返回回一一串串星星号,表示数值溢出。号,表示数值溢出。示例:示例:n=1234.56789?STR(n,8,2)&结果为结果为1234.57?STR(n,8)&结果为结果为1235?STR(n,8,4)&结果为结果为1234.568?STR(n,12,6)&结果为结果为1234.567890?STR(n)&结果为结果为1235
41、?STR(n,3)&结果为结果为*现在学习的是第51页,共69页4.4.字符串转换成数值函数字符串转换成数值函数VAL()VAL()格式:格式:VAL()说明:说明:(1)的的值值必必须须是是数数字字形形式式的的字字符符串串,它它只只能能含含有有数数字、正负号和小数点字、正负号和小数点;(2)转转换换时时,如如果果遇遇到到非非数数字字字字符符则则停停止止。如如果果字字符符表表达达式式的的第第一一个字符即非数字字符,则转换停止,其值为个字符即非数字字符,则转换停止,其值为0.00;示例:示例:?VAL(“-789.123”)&结果为结果为-789.12-789.12?VAL(10A.56)&结果
42、为结果为10.0010.00?VAL(C346.05)&结果为结果为0.000.00现在学习的是第52页,共69页格式:格式:CTOD()CTOT()说明:说明:(1)必须是一个有效的日期格式必须是一个有效的日期格式;(2)中中的的日日期期部部分分格格式式要要与与SETDATETO命命令令设设置置的的格格式一致。式一致。5.5.字符串转换成日期或日期时间函数字符串转换成日期或日期时间函数示例:示例:SETDATETOYMDSETCENTURYOND1=CTOD(“2006/03/08”)T1=CTOT(“2005/03/08”+“”+TIME()?D1,T1&2006/03/082006/03
43、/0810:12:25AM现在学习的是第53页,共69页6.6.日期或日期时间转换成字符串函数日期或日期时间转换成字符串函数格式:格式:DTOC(),1)TTOC(),1)说说明明:(1)字字符符串串日日期期部部分分的的格格式式与与SETDATETO命命令令的的设设置置有有关关;时时间间部部分的格式与分的格式与SETHOURSTO12|24命令的设置有关。命令的设置有关。(2)如如果果有有,1选选项项,对对于于DTOC,按按照照YYYYMMDD的的格格式式输输出出;对对于于TTOC,则则按按照照YYYYMMDDHHMMSS的的格格式式输输出出,采采用用24小小时时制。制。现在学习的是第54页,
44、共69页格式:格式:TYPE()VARTYPE()说明:说明:函数返回值为字符型,各字符含义如下:函数返回值为字符型,各字符含义如下:数据类型测试函数数据类型测试函数返回的字母返回的字母数据数据类类型型返回的字母返回的字母数据数据类类型型C字符型或字符型或备备注型注型G通用型通用型N数数值值型、整型、浮点型或双精型、整型、浮点型或双精度型度型D日期型日期型Y货币货币型型T日期日期时间时间型型L逻辑逻辑型型XNull值值O对对象型象型U未定未定义义示例:示例:A=567?TYPE(“A”)&N?VARTYPE(A)&N现在学习的是第55页,共69页值域测试函数值域测试函数格式格式:BETWEEN
45、(,,)功功能能:判判断断一一个个表表达达式式的的值值是是否否介介于于另另外外两两个个表表达达式式的的值值之之间间。当当值值大大于于等等于于且且小小于于等等于于时时,函函数数值值为为逻逻辑辑真真.T.,否否则则函函数数值值为为逻逻辑辑假假.F.。如如果果或或有有一一个个是是NULL值,那么函数值也是值,那么函数值也是NULL值。值。例例:x=76?BETWEEN(x,70,80)&结果为结果为.T.现在学习的是第56页,共69页表达式测试函数表达式测试函数格式格式:INLIST(,)功功能能:测测试试表表达达式式1的的值值是是否否与与后后面面表表达达式式的的值值相相匹匹配配。若若表表达达式式1
46、的的值值是是其其余余表表达达式式值值之之一一,函函数数值值为为逻逻辑辑真真“.T.”,否否则则函函数数值为逻辑假值为逻辑假“.F.”。现在学习的是第57页,共69页3.43.4VFPVFP的命令结构与书写规则的命令结构与书写规则现在学习的是第58页,共69页命令动词命令动词+修饰子句修饰子句命令结构命令结构示示例例:USEXS&打开名为打开名为XS的表文件的表文件COUNTALLFOR成绩成绩60&统计统计XS中分数在中分数在60分以下的人数分以下的人数LISTALL姓名姓名,成绩成绩FOR成绩成绩60TOPRINTER&在打印机上输出成绩为在打印机上输出成绩为60分以下的学生的姓名和分数分以
47、下的学生的姓名和分数USE&关闭表文件关闭表文件XS,将其保存在磁盘上,将其保存在磁盘上现在学习的是第59页,共69页VisualFoxPro命令的一般格式命令的一般格式;FOR;WHILE;TO FILE TO PRINTER TO;ARRAY TO;ALL LIKE EXCEPT;IN 现在学习的是第60页,共69页各部分的意义各部分的意义命令动词:命令动词:VFP的命令名,指示计算机要完成的操作的命令名,指示计算机要完成的操作。表达式表:表达式表:规定命令可处理的字段。规定命令可处理的字段。范围:范围:指定命令所作用的记录范围。范围有下列五种选择:指定命令所作用的记录范围。范围有下列五种
48、选择:ALL当前表中的全部记录。当前表中的全部记录。NEXT 从当前记录开始的连续从当前记录开始的连续N条记录。条记录。RECORD当前表中的第当前表中的第N号记录。号记录。REST 从当前记录开始到最后一条记录为止的所有记录。从当前记录开始到最后一条记录为止的所有记录。缺省:缺省:在不同的命令中含义不同,等价于在不同的命令中含义不同,等价于ALL或仅作用或仅作用于当前记录。于当前记录。现在学习的是第61页,共69页123456NEXT 3RESTALL当前记录指针当前记录指针RECORD 3 范围示例:范围示例:现在学习的是第62页,共69页各部分的意义各部分的意义FOR:规定只对满足条件的
49、记录进行操作规定只对满足条件的记录进行操作。WHILE:从当前记录开始,按记录顺序从上向下处理,从当前记录开始,按记录顺序从上向下处理,一旦遇到不满足条件的记录,就停止搜索并结束该命令的执行。一旦遇到不满足条件的记录,就停止搜索并结束该命令的执行。(WHILE 子句比子句比FOR子句优先子句优先)TO子句:子句:控制操作结果的输出去向。控制操作结果的输出去向。现在学习的是第63页,共69页学号学号课程号课程号成绩成绩030101030101010176760301010301010202797903010203010202029090030103030103010187870301020301
50、0201016767List for 课程号课程号 01List while 课程号课程号 01FOR 与与WHILE的区别的区别现在学习的是第64页,共69页命令书写规则命令书写规则1)必须以命令动词开头,其后子句的顺序可以任意。)必须以命令动词开头,其后子句的顺序可以任意。2)命令动词、修饰和限制子句之间要用空格分开。)命令动词、修饰和限制子句之间要用空格分开。3)命令动词可以缩写为前四个字符,并且命令动词中的英文字母不区分大小写。)命令动词可以缩写为前四个字符,并且命令动词中的英文字母不区分大小写。4)变量名、字段名和文件名应避免使用保留字)变量名、字段名和文件名应避免使用保留字,以免产