VFP程序设计数据及其运算.ppt
第三章 数据及其运算,第三章 数据及其运算,3.1 数据类型3.2 数据存储3.3 内部函数3.4 表达式,3.1 数据类型,3.1 数据类型,字符型(C型)数值型(N型)逻辑型(L型)日期型(D型)备注型(M型)通用型(G型),数值型浮点型货币型双精度型整型,日期型日期时间型,3.2 数据存储,数据存储容器:常量、变量、数组、字段、记录和对象。(1)常量值固定不变的量数值型常量:由数字(0-9)、小数点和正负号组成 浮点型常量:数值型的科学计数法表示 字符型常量:用双引号、单引号或方括号等括起来 逻辑型常量:只有真和假两种逻辑值 日期型常量和日期时间型常量:用花括号括起来,日期各部分之间用/或-分开,时间各部分之间用:分开,日期和时间之间用空格分开,3.2 数据存储,介绍一个命令:格式:?|?功能:计算表达式的值,并将其显示在工作区说明:?表示另起一行输出值?表示从当前位置输出值 若有多个表达式,各表达式值之间用逗号分开,输出时遇到逗号就空一格,3.2 数据存储,日期常量的格式是可以变化的,使用如下几个set命令:Set mark To 日期分隔符 功能:确定日期数据的分隔符号 Set Century On/Off 功能:确定是否显示年份的前2位Set Date to Mdy/Ymd/dmy 功能:确定日期数据的指定格式,3.2 数据存储,(2)内存变量变量有值和名,值是变量的内容,名是唯一标识变量的。变量命名规则:以字母(汉字)、数字、下划线组成,不超过128个字符,且不可与系统保留字(eg:use quit close等)重名。读取变量的值的命令是?命令将值存入变量的命令也称赋值命令,3.2 数据存储,赋值命令格式1:=格式2:store to 功能:计算表达式的值,将值赋给内存变量说明:,s=VFP&将字符串赋给变&量s,结果使s值&为”VFP”,并成为&字符型变量store 2*4 to s1,s2&计算2*4的值为8,将8赋&给变量s1、s2,结果两&个变量值均为8并成为数&值型变量,a、命令后的&表示其后为注释部分,不参与命令的执行。b、内存变量在赋值时定义了值和类型,变量的类型是由值的类型确定的。c、store命令可以同时为多个变量赋值,而等号只可以为一个变量赋值。d、若内存变量与字段同名,则内存变量前要加上“m.”或“m-”以示区别。,3.2 数据存储,内存变量的清除命令:格式:release All like|except功能:从内存中清除指定的内存变量,Release a,b&清除内存变量a,bRelease all&清除用户定义的所有内存变量Release all like a*&清除所有用户定义的首字&母为a的内存变量Release all except?b*&清除所有用户定义的第二&个字符为b以外的内存变量,3.2 数据存储,(3)数组变量定义数组的命令:格式:dimension|declare(,),(,)功能:定义数组名称及上界,即确定数组的维数和元素个数。注意:VFP中只可以定义一维和二维的数组,且定义大小时要考虑内存空间是否够用。数组在定义时默认初始值为.f.数组的赋值:可以使用变量的赋值命令为单个数组元素赋值,也可以为所有数组元素赋相同的值。,3.2 数据存储,(4)字段变量表中的每个字段都是字段变量,值为当前记录该字段的值。介绍一个命令go格式:go 功能:设定当前记录为第条记录。,3.2 数据存储,(5)记录记录是数据表中一组数据项的集合-即表中的一行。在同一个数据表中可以有若干个记录,每一个记录具有相同的字段个数。(6)对象对象是类的实体,是任何具有属性和方法的信息的集合。(有关对象的详细内容将在以后详细介绍。),3.3 内部函数,数值类函数字符类函数数据转换类函数日期和时间类函数测试类函数其他函数,3.3 内部函数,数值函数1,3.3 内部函数,数值函数2,3.3 内部函数,字符函数1,3.3 内部函数,字符函数2,3.3 内部函数,转换函数,3.3 内部函数,日期时间函数,3.3 内部函数,测试函数,3.3 内部函数,其他函数,messagebox(,)功能:弹出消息提示对话框。其中框类型是数值,为以下三部分的和。1、确定按钮的参数:0、1、2、3、4、52、确定图标的参数:16、32、48、643、确定默认按钮的参数:0、256、512,?messagebox(是否继续?,34,询问框),?messagebox(是否继续?,3,询问框),3.4 表达式,表达式是由数据、数据存储容器、函数和运算符组成的运算式。算术表达式字符表达式日期时间表达式关系表达式逻辑表达式名表达式,3.4 表达式,算术表达式常见的算术运算符:说明:(1)操作数是数值,运算结果也是数值(2)运算顺序:先乘方,再乘除和取模,后加减。同级别的自左向右运算。有圆括号的先算括号内的,多重圆括号的按先内后外的顺序运算。,?32&结果为9?14%4&结果为2?14%-4&结果为-2,3.4 表达式,字符表达式常见的字符运算符:,?abc+de&abc de?abc-de&abc de?abc-de+f&abc de f?ab$abc&.T.?abc$ab&.F.,3.4 表达式,日期时间表达式常见运算符:,?2007/9/10+5&09/15/07?2007/9/10-5&09/05/07?2007/9/10 10:05:30+5&09/10/07 10:05:35?2007/9/10 10:05:30-5&09/10/07 10:05:25?2007/9/10-2006/9/10&365?2007/9/10 10:05:30-2007/9/9 10:05:30&86400,3.4 表达式,关系表达式常见运算符说明:(1)运算符两端操作数类型必须一致,运算结果是逻辑值(2)数值型按大小比较;日期型按年月日的先后比较,后大先小;英文字符型按对应位置上的ASCII码比较;中文按拼音声母顺序比较。,3.4 表达式,?632006/9/10&.T.?ABCAAAA&.T.?大专=大学&.T.?2*4=8&.T.?2*4=8&.T.?ABC=AB&.T.?ABC=AB&.F.?.T.F.&.T.,3.4 表达式,逻辑表达式常见运算符说明:(1)操作数是逻辑值,运算结果也是逻辑值。(2)优先级:先not,再and,最后or。,?.T.and.T.&.T.?.T.and.F.&.F.?.F.and.T.&.F.?.F.and.F.&.F.?.T.or.T.&.T.?.T.or.F.&.T.?.F.or.T.&.T.?.F.or.F.&.F.?not.T.&.F.?not.F.&.T.,3.4 表达式,各类运算符之间的优先关系是:算术字符关系逻辑,3.4 表达式,名表达式,Eg:姓名=“李明华”Store“姓名”to name?name+“:”+姓名&输出:姓名:李明华宏替换方式读取“名”的内容:Eg:姓名=“李明华”Store“姓名”to name?&name&输出:李明华,