资源描述:
《VFP复习5表达式、函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章数据与数据运算类型说明数值型(N)整数或小数。如学生的入学成绩字符型(C)字母、数字和汉字等一切可打印的ASCII字符。如学生姓名日期型(D)由年、月、日构成。如学生的出生年月日期时间型(T)由年、月、日、时、分、秒构成。如学生上课时间逻辑型(L)值为真或假。如是否为党员货币型(Y)货币单位。如商品价格常量和内存变量的类型双精度型(N)双精度数值,常用于精度要求很高的数据浮点型(N)类似于数值型整数型(I)不含小数点的数值类型。如商品数量通用型(G)OLE对象(存储声音、图像、字处理文档、电子表格等)备注型(M)不定长的
2、字母、数字、文本,用于存放个人简历VFP数据表的字段类型VFP的基本数据类型常量:变量:内存变量和字段变量变量1.内存变量赋值STORE<表达式>TO<内存变量名表>可为多个变量赋相同值<内存变量名>=<表达式>只能为一个变量赋值【例】STORE20TOX,Y,Z学号=″08021927″注意STORE命令不能把若干不同的值赋给若干个变量。【例】STORE20,30TOX,YSTORE20TOX,30TOY错误2.变量的清除【格式1】CLEARMEMORY清除所有内存变量。【格式2】RELEASE<内存变量名表>清除指定内存变
3、量,各内存变量名之间用半角逗号分开。注意:当内存变量与字段变量同名时,直接使用变量名访问,则系统默认为字段变量。若要访问内存变量,必须在变量名前加前缀M.(或M->),如:M.姓名。字段变量9.假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6)。在命令窗口输入并执行如下命令:姓名=姓名-“您好”?姓名那么主窗口中将显示A)张三B)张三您好C)张三您好D)出错姓名为字段变量,不能用=赋值?M.姓名张三您好(1)算术运算符(2)求余运算%和函数MOD()作用相同,结果的正负号
4、与除数一致.例:mod(x,y)一、数值表达式优先级运算符说明1()形成表达式的子表达式2^或**乘方,如3^4表示3*3*3*33*、/、%乘、除、求余4+、-加、减3符号相同:结果为余数,正负取决于除数.符号不同:结果为除数-余数,正负取决于除数?15%4,15%-4,mod(15,4),mod(15,-4),mod(-15,-4),mod(-15,4)-13-1-31二、字符表达式+:前后两个字符串首尾连接形成一个新的字符串-:连接两个字符串,将前串尾部空格移到合并后新串尾部【例】字符串运算示例(注:□表示空格)a=″h
5、ello□□″b=″teacher!□□″?a+b,a-b输出结果:hello□□teacher!□□helloteacher!□□□□字符定界符:“沈阳”‘沈阳’[沈阳]严格日期格式:{^yyyy-mm-dd}传统日期格式:月、日各2位,年可以2位可以4位。{08-23-10}(1)影响日期格式的设置命令SETMARKTO[<日期分隔符>]&&默认斜杠/分隔符SETDATETOMDY
6、DMY
7、YMD(2)设置日期显示格式SETCENTURYON
8、OFF
9、TO<世纪值>ROLLOVER<年份参照值>on:显示世纪,4位表示年份
10、。Off:不显示世纪,2位表示年份。TO子句:决定一个用2位数字年份表示的日期所处的世纪.若<年份>>=<年份参照值>世纪值不变若<年份><<年份参照值>世纪值+1日期型常量D定界符:{}常用分隔符:/-.空格例1:设置不同的日期格式SETCENTURYONSETMARKTOSETDATETOYMD?{^2008-09-10}例2:设置不同的日期格式SETCENTURYOFFSETMARKTO"."SETDATETOMDY?{^2008-09-10}2008/09/10例3:执行下列命令后输出的结果SETDATETOYMDSE
11、TCENTURYONSETCENTURYTO19ROLLOVER10SETMARKTO"."?CTOD(’49-05-01’)09.10.081949.05.01?CTOD(’08-05-01’)2008.05.01三、日期或日期时间表达式日期加数字(数字加日期)表示在该日期后几天的日期?3+{^2008/03/01}03/04/08日期减数字表示在该日期前几天的日期?{^2008/03/01}-202/28/08日期减日期表示两个日期间相差的天数(数值型)?{^2008/03/01}-{^2008/02/05}25日期时间型
12、-日期时间型&&结果为秒数日期时间型+或-秒数&&允许日期+日期&&非法表达式四、关系表达式关系运算符(1)日期、日期时间型比较:越早的日期或时间越小。(2)逻辑型数据比较:.T.>.F.(3)字符串(默认按拼音排序):空格<‘0’<‘9’<‘a’<‘A’<‘b’<‘B’<…