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