资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,二,章,VFP,语言基础,2.1 数据类型,2.2 数据存储容器,2.3 函数,2.4 运算符及表达式,2.5 空值处理,2.1 数据类型,数据类型,字母表示,说明,宽度,字符型,C,字母、汉字符号和数字型文本,1-254,货币型,Y,货币单位,8,数值型,N,整数或小数,1-20,浮点型,F,(同,数值型),1-20,日期型,D,年,月,日,8,日期时间型,T,年,月,日,时,分,秒,8,双精度型,B,双精度型数值,8,整型,I,不带,小数点的数值,4,逻辑型,L,真与假,1,备注型,M,不定长的一段文本,4,通用型,G,OLE,4,2.2 数据存储容器,一、名称命名规则,名称中只能包含字母、下划线“_”、数字符号和汉字符号,名称的开头只能是字母、汉字或下划线,不能是数字,除了自由表的字段名、表的索引标识名至多只能是10个字符外,其余的名称的长度可以是1128个字符,应避免使用系统保留字,二、常量,常量是指在所有的操作过程中保持不变的数据。,数值型常量,数值型常量用于表于数量的大小,由数字、小数点和正负号构成。如-3.15、38等。,对于特大或特小的数,还可以用浮点表示法。如-3.12,E28(,表示-3.1210,28,)、3.12,E-28(,表示3.12 10,-28,)。,货币型常量,货币型常量用来表示货币值。在表示货币型常量时,需在数字前加上美元符号($)。如$100.35。,字符型常量,字符型常量也称为字符串,它是由定界符括起来的一串字符,这些字符可以是一切可以表示的字符,如,ASCII,字符、汉字等。,字符串定界符可以是单引号、双引号或方括号。如苏,A-001、“5112613”、VFP,等。,注意:,不能用中文标点的单引号或双引号作为字符串的定界符,定界符必须成对匹配,如果某种定界符本身也是字符串的内容,则需要用另一种定界符表示该字符串,不包含任何字符的字符串(“”)称为“空串”,它与包含空格的字符串(“”)不同,字符串中的字母,其大小写不等价,逻辑型常量,逻辑型常量只有两个:逻辑真和逻辑假。逻辑真的表示形式有:.,T.、.t.、.Y.,和.,y.,,逻辑假的表示形式有:.,F.、.f.、.N.,和.,n.。,注意:,字母前后的点符号是逻辑型常量的定界符,不可省略。,日期型常量,日期型常量的定界符是一对花括号。在花括号内,包括年、月、日,各部分之间用分隔符进行分隔。,其语法形式如下:,yyyy,/mm/,dd,如2002/08/09、1998/12/01等。,三、内存变量,内存变量(简称变量)是由用户自定义的内存中的一个(组)存储单元,由变量名进行标识,其值可以由程序操作修改。在使用过程中,该存储单元中存放的数据在程序操作期间通过变量名来读写。,变量的创建及赋值,格式:,STORE ,TO ,或 =,注意:,STORE,命令可一次给多个变量赋相同的值,而用赋值号(=)一次只能给一个变量赋值。,访问变量,若变量和字段相同,则字段具有更高的优先权。在出现这种情况时,可在变量名前加上“,m.”,前缀来引用变量。,例:,Xh,=,我是变量&定义一个字符型变量,xh,?M.,xh,&,显示变量,xh,的值,?,Xh,&,显示,xs,表的,xh,字段的值,?,Xs.,xh,&,显示,xs,表的,xh,字段的值,内存变量的保存与恢复,内存变量是系统在内存中设置的临时存储单元,当退出,VFP,时其数据自动丢失。,格式:,SAVE TO,FileName,ALL LIKE,Skeleton|,ALL EXCEPT,Skeleton,功能:将内存变量的值以文件的形式保存到磁盘上。,其中:,FileName,为,内存变量文件的文件名,默认扩展名为.,mem,。,Skeleton,为变量名通配符,即星号(*)和问号(?),用以指定多个变量。,ALL LIKE,用于指定需要保存的变量。,ALL EXCEPT,用于指定不需保存的变量。,当可选项缺省时表示保存所有内存变量。,格式:,RESTORE FROM,FileName,ADDITIVE,功能:将保存在内存变量文件中的内存变量恢复到内存。,说明:,FileName,为内存变量文件名。,若使用,ADDITIVE,,则内存中保存已有内存变量,如有同名则覆盖,否则,当前内存变量被清除。,四、数组,数组也是一种内存变量,它是存储在内存中的有序的数据值系列,其中的数据值被称为元素,并可通过数据序号引用。数组可以为一维数组,也可以为二维数组。数组在使用前必须先声明。,数组的声明,DECLEAR|DIMENSION|PUBLIC|LOCAL,数组名,(,行数,列数,),说明:,DECLEAR,和,DIMENSION,声明“私有数组”,,PUBLIC,声明“全局数组”,,LOCAL,声明“局部数组”。,为数组元素赋值,数组在声明后,每个元素的默认值为逻辑值假.,F.。,DIMENSION A(6)&,定义数组,A,,有6个元素,A(2)=3&,为第二个元素赋值,A=3&,为整个数组,A,赋值,所有元素值均为3,2.3 函 数,函数是一种预先编制好的程序代码,可供用户或程序调用。由于一个函数接收一个或多个参数而返回单个值,因此可嵌入到一个表达式中。,函数格式:,函数名(参数1,参数2,),一、系统函数的分类,二、常用函数介绍,数值函数,ABS(),函数,格式:,ABS(,nExpression,),功能:返回指定数值表达式的绝对值。,MAX(),函数,格式:,MAX(,eExpression1,eExpression2,eExpression3,,),功能:对表达式求值,并返回具有最大值的表达式的值。,MIN(),函数,格式:,MIN(,eExpression1,eExpression2,eExpression3,,),功能:对表达式求值,并返回具有最小值的表达式的值。,INT(),函数,格式:,INT(,eExpression,),功能:计算数值表达式的值,并返回其整数部分。,MOD(),函数,格式:,MOD(,nDividend,nDivisor,),功能:用一个数值表达式的值去除另一个数值表达式的值,返回余数,。,ROUND(),函数,格式:,ROUND(,nExpression,n,),功能:四舍五入函数。,说明:,n,为小数位数,当,n0,时,即对小数点后,n+1,位四舍五入;当,n0,时,对小数点前面的,n,位进行四舍五入。,SQRT(),函数,格式:,SQRT(,nExpression,),功能:返回数值表达式值的平方根。,RAND(),函数,格式:,RAND(),功能:返回一个01之间的随机数。,字符函数,ALLTRIM(),函数,格式:,ALLTRIM(,cExpression,),功能:去除指定字符串的前导空格和尾随空格,。,RTRIM(),函数,格式:,RTRIM(,cExpression,),功能:去除指定字符串的尾随空格。,LEN(),函数,格式:,LEN(,cExpression,),功能:返回字符表达式值的字符个数(字符串长度)。,AT(),函数,格式:,AT(,cSearchExpression,cExpressionSearched,nOccurrence,),功能:返回一个字符表达式或备注字段,cSearchExpression,在另一个字符表达式或备注字段,cExpressionSearched,中出现的位置。,nOccurrence,表示第几次出现,缺省为1。如函数返回值为0,则表示未出现。,SUBSTR(),函数,格式:,SUBSTR(,cExpression,,,nStartPosition,nCharactersReturned,),功能:从给定的字符表达式或备注字段中返回一个子字符串。,nCharactersReturned,用于指定返回的字符个数,缺省时返回字符表达式的值结束前的全部字符。,LEFT(),函数,格式:,LEFT(,cExpression,nExpression,),功能:从字符表达式最左边一个字符开始返回指定数目字符。,RIGHT(),函数,格式:,RIGHT(,cExpression,nExpression,),功能:从字符表达式最右边一个字符开始返回指定数目字符。,SPACE(),函数,格式:,SPACE(,nExpression,),功能:返回由指定数目的空格构成的字符串。,日期/时间函数,DATE(),函数,格式:,DATE(,),功能:返回当前系统日期。,DATETIME(),函数,格式:,DATETIME(,),功能:返回当前系统日期和时间。,DOW(),函数,格式:,DOW(,dExpression,|,tExpression,),功能:返回日期或日期时间表达式所代表日期是一周的第几天,用数值1-7表示(1表示星期日)。,DAY(),函数,格式:,DAY(,dExpression,|,tExpression,),功能:以数值返回日期或日期时间表达式所代表日期是几号。,MONTH(),函数,格式:,MONTH(,dExpression,|,tExpression,),功能:以数值返回日期或日期时间表达式所代表的月份。,CMONTH(),函数,格式:,CMONTH(,dExpression,|,tExpression,),功能:以字符返回日期或日期时间表达式所代表的月份。,YEAR(),函数,格式:,YEAR(,dExpression,|,tExpression,),功能:以数值返回日期或日期时间表达式所代表的年份。,TIME(),函数,格式:,TIME(,),功能:以24小时制、8位字符串格式(,hh,:mm:,ss,),返回当前系统时间。,数据类型转换函数,ASC(),函数,格式:,ASC(,cExpression,),功能:返回字符表达式中最左边字符的,ASCII,值。,CHR(),函数,格式:,CHR(,nExpression,),功能:计算数值表达式的值,然后以该值作为,ASCII,值,返回对应的字符。,VAL(),函数,格式:,VAL(,cExpression,),功能:从左至右逐个将字符表达式中的字符转换成数值,若不能转换则停止。,DTOC(),函数和,TTOD(),函数,格式:,DTOC(,dExpression,|,tExpression,1),功能:将日期表达式或日期时间表达式的值转换成字符串。,格式:,TTOC(,tExpression,1|2),功能:将日期时间表达式的值转换成字符串,。,其中:参数“1”用于指定以年月日顺序且无分隔符的形式返回字符串,参数“2”用于指定仅返回含时间部分的字符串。,CTOD(),函数和,CTOT(),函数,格式:,CTOD(,cExpression,),功能:将字符表达式值转换成日期型数据。,格式:,CTOT(,cExpression,),功能:将字符表达式值转换成日期时间型数据。,其中:字符表达式,cExpression,的求值结果必须是从1/1/1000至12/31/9999范围内的一个有效日期,其默认格式是,mm/,dd,/,yy,。,如输入日期时未指定世纪,则假定为20世纪。,STR(),函数,格式:,STR(,nExpression,nLength,nDecimalPlaces,),功能:将数值表达式的值转换成对应的字符串,。,其中:长度,nLength,用于指定,STR(),返回的字符串长度。该长度包括小数点在内。如指定长度大于整个数值的宽度,则用前导空格填充;如小于,则返回一串星号“*”。,nLength,缺省时,默认宽度为10。,nDecimalPlaces,用于指定,STR(),返回的字符串中的小数位数,缺省时默认为0。,其他常用函数,BETWEEN(),函数,格式:,BETWEEN(,eTestValue,eLowValue,eHighVal
展开阅读全文