数据类型、函数与表达式VFP6.0考级专用.ppt
《数据类型、函数与表达式VFP6.0考级专用.ppt》由会员分享,可在线阅读,更多相关《数据类型、函数与表达式VFP6.0考级专用.ppt(108页珍藏版)》请在三一办公上搜索。
1、Visual FoxPro 6.0 程序设计与应用教程,第三章,数据类型、函数与表达式,3.1 数据类型 VFP提供11种的数据类型,字符型(Character C):由任意字符(字母、汉字、数字、空格、符号等)组成 每个字符占一个字节,长度为0254,最多可有254个 字符型的常量要用英文的单引号、双引号或方括号括起来(不可用中文标点)如:A0001、数学系数值型(Numeric N):表示数量 由数字09、一个正负符号(或)和小数点(.)组成。数值型数据取值的范围是:-0.9999999999E+190.9999999999E+20内存变量18字节,字段变量120字节小数点和小数位数是字段
2、总长度的一部分,整型(Integer N)用于存储无小数部分的数值,只能用于数据表中字段的定义。在数据表中,整型字段占用4个字节,取值范围是:-21474836472147483647整型以二进制形式存储,不像数值型那样需要转换成ASCII字符存储。浮点型(Float N)只能用于数据表中字段的定义,包含此类型是为了提供兼容性,浮点型在功能上与数值型等价。,双精度型(Double N)用于取代数值型,以便能提供更高的数值精度。双精度型只能用于数据表中字段的定义,它采用固定存储长度的浮点数形式。与数值型不同,双精度型数据的小数点的位置是由输入的数据值来决定的。每个双精度型数据占8个字节。货币型(
3、Currency Y)在使用货币值时,可以使用货币型来代替数值型。货币型数据取值的范围是:-922337203685477.5807922337203685477.5807小数位数超过4位时,系统将进行四舍五入的处理。每个货币型数据占8个字节。当涉及货币时使用,使用货币型数据要在前面加上符号$,如:$100,日期型(Date D)用于存储不带时间的日期值,宽度为8字节日期型数据的存储格式为yyyymmdd其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位。日期型数据取值的范围是:公元0001年1月1日公元9999年12月31日。日期型数据的表示有多种格式,最常用的格式为 mm/ddy
4、yyy。系统默认格式为mm/dd/yy,可通过SET DATE、SET MARK、SET CENTURY命令设置日期格式,或通过系统的选项对话框中的区域卡中设置。日期型常量要放在花括号中,如:dDate=09/10/2001 dBlank=:空日期,常用格式:标准ANSI:yy.mm.dd*美国式AMERICAN:mm/dd/yy 欧州式BRITISH:dd/mm/yy输入日期时,其日期输入格式由STRICTDATE设置决定设置SET STRICTDATE TO 1须按严格的日期输入方式:?1999/11/12年月日时分秒:1999/11/12 4:2:5设置SETSTRICTDATETO0则
5、可用通常的日期输入方式,日期时间型(DateTime T)用以保存日期和时间值。日期时间型数据的存储格式为 yyyymmddhhmmss其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位,hh为时间中的小时,占2位,mm为时间中的分钟,占2位,ss为时间中的秒,占2位。与日期型一样,要用将数据括起来若要指定空日期时间值,要在花括号中加 一个空格和冒号,如::,逻辑型(Logical L)用于存储只有两个值的数据。存入的值只有真(.T.)和假(.F.)两种状态,宽度固定,占1个字节。通用型(General G)用于存储OLE(对象链接和嵌入)对象,只能用于数据表中字段的定义。该字段包含
6、了对OLE对象的引用,而OLE对象的具体内容可以是一个电子表格、一个字处理器的文本、图片等,是由其他应用软件建立的。宽度为4字节表中存储的是指向OLE对象的引用,备注型(Memo)备注型用于字符型数据块的存储,只能用于数据表中字段的定义。在数据表中,备注型字段占用10个字节,并用这10个字节来引用备注的实际内容。实际备注内容的多少只受内存可用空间的限制。备注型字段的实际内容变化很大,不能直接将备注内容存在数据表(.DBF)文件中。系统将备注内容存放在一个相对独立的文件中,该文件的扩展名为FPT。由于没有备注型的变量,所以对备注型字段的处理,需转换成字符型变量,然后使用字符型函数进行处理。,3.
7、2 数据存储类型,3.2.1常量常量:在运算过程中值不变的量(即不变的量).包括字符型常量、数值型常量、逻辑型常量、日期型常量和货币型常量五种。五种常量:C、N、D(T)、L、Y 字符型常量是用定界符标识的字符串。所以也叫字符串常量。定界符必须是ASCII码的单引号、双引号和方括号。如果一种定界符已做为字符型常量的组成部分,则应选择另一种定界符来标识字符串。其书写方法如:男、工程师、财金系金融专业。,数值型、浮点型常量可以是实数或整数,通常也叫做常数,可以用定点式表示,也可以用科学计数法表示。逻辑型常量规定用.Y.或.T.表示逻辑真,.N.或.F.表示逻辑假,小写亦可。日期型、时间型常量常用的
8、日期格式 mm/dd/yy,hh:mm:ssa|p严格的日期格式 yyyy-mm-dd,hh:mm:ssa|p,货币型常量小数位数超过4位时,系统将进行四舍五入的处理。当涉及货币时使用,使用货币型数据要在前面加上符号$,如:$100,3.2.2内存变量内存变量是表示暂时存放在内存变量工作区中的有关程序运行或命令执行过程中所需要使用到的数据,包括常量、中间结果和最终结果。变量命名基本准则:首字符不能是数字;以字母(下划线或汉字)开头,由字母、数字、下划线和汉字组成 名字的长度1到128个字符,不可以与系统保留名同名 词义要尽量准确。,内存变量的赋值命令内存变量表达式STORE表达式TO内存变量表
9、说明:该命令计算表达式的值,并把计算结果赋给内存变量名(格式2 能够给多个内存变量赋值)(1)格式1中的称为赋值号,而不是等于号。即有首先计算右部的值,然后送给左边的变量名;而且具有明显的时序性、方向性和不可移项性。如:X=2 X=X+1(2)格式2中的内存变量名表是一组用逗号分隔开的变量,对于不同类型的变量,不能用格式2同时赋值。,3.2.3 数组变量,1.数组的定义一维数组的定义DIMENSIONDECLARE数组名1(M1),数组名2(M2)二维数组的定义DIMENSIONDECLARE数组名1(M1,N1),数组名2(M2,N2)例如:DIMEX(3)有X(1)、X(2)、X(3)DI
10、MEA(3,2)有A(1,1)、A(1,2)、A(2,1)、A(2,2)、A(3,1)、A(3,2),VFP中最多可定义65000个数组,每个数组最多可有65000个元素数组的赋值数组须先定义后赋值例如:DIMEA(2)A(1)123A(2)ABC数组定义后各元素的初值均为:.F.,3.2.4 字段变量,一个数据库由若干相关的数据表组成,一个数据表又由若干个具有相同属性的记录组成,而每个记录又由若干个字段组成,字段变量就是指表中已定义的任意一个字段。字段变量的类型由建表时定义的字段类型一致。区别:内存变量 字段变量 独立存在,关机丢失 隶属于表,存于磁盘 类型与长度可由赋值改变 由表结构决定,
11、不可改变 单值变量 多值变量当内存变量与字段变量同名时,默认为字段变量,内存变量可用前缀M-或 M.区别。,3.2.5 记录,记录是数据表中一组数据项的集合,同一个数据表中可以有若干个记录,每一个记录具有相同的字段数。在VFP中,许多操作都是通过记录操作来完成的。3.2.6 对象对象:构成程序的基本单位和运行实体,3.3 函数,绝对值函数:ABS(N型表达式)函数值为N型如:?ABS(-123.456)值为123.456指数函数:EXP(N型表达式)函数值为N型如:?EXP(1)值为2.72,一、数值类操作函数,取整函数:,INT(N型表达式)函数值为N型如:?INT(-132.93)值为-1
12、32,自然对数函数,LOG(N型表达式)函数值为N型如:?LOG(1)值为 0.00?LOG(100)值为 4.61,取最大者函数:,MAX(表达式1,表达式2,表达式3)函数值为最大者,表达式必须同类 型比较,表达式可以是N型、D型、不能为C型?MAX(12,43,20)值为43?MAX(12,-43,20)值为20?MAX(CTOD(01/01/97),CTOD(10/03/97)值为 10/03/97,取最小者函数:,MIN(表达式1,表达式2,表达式3.)函数值为最小者,两个表达式必须同类型如:?MIN(12,-43,20)值为-43?MIN(CTOD(01/01/97),CTOD(1
13、0/03/97)值为 01/01/97,取余函数:,MOD(N型表达式1,N型表达式2)或:N1%N2取表达式1除以表达式2的余数函数值的符号一定和表达式2符号相同如:?MOD(21,4)值为1?MOD(-21,4)值为3?MOD(21,-4)值为-3?MOD(-21,-4)值为-1,四舍五入函数:,ROUND(N型表达式1,N型表达式2)函数值为N型,如:?ROUND(123.45678,2)值为123.46?ROUND(123.45678,0)值为 123?ROUND(123.45678,-1)值为 120,开平方函数:,SQRT(N型表达式)如:?SQRT(10000)值为100.00N
14、型表达式不能负数,随机函数RAND()返回随机值,即大于0且小于1的任一正小数。例如:?RAND(),随机函数:,二、字符类函数,判子串在母串中的位置:AT(子串,母串)函数值为N型,如:?AT(AD,WTADCER)值为3若母串中无子串,则函数值为0,求子串函数:,SUBSTR(C型,N1,N2)函数值为C型,实数取整?SUBSTR(ABC.DEF,5.99,2.1)+SUBSTR(123.4567,4)值为DE.4567,取左子串函数:,LEFT(C型表达式,N型表达式)?LEFT(中国人民,4)值为中国函数值为C型,N=0值为空串,取右子串函数:,RIGHT(C型表达式,N型表达式)函数
15、值为C型,?RIGHT(中国人民,4)值为人民N=0值为空串?RIGHT(123,2)+RIGHT(123,-1)+RIGHT(中国人民,4)值为23人民,取消前导空格函数:,LTRIM(C型表达式)函数值为C型?LTRIM(123+LTRIM(中国)值为123中国,取消尾部空格函数:,RTRIM(C型表达式)函数值为C型?RTRIM(123+RTRIM(中国人民)值为123中国人民,取消尾随空格函数,TRIM(C型表达式)函数值为C型?TRIM(012345)+TRIM(中国人民)值为 012345中国人民,取消前部与尾随空格函数,ALLTRIM(C型表达式)函数值为C型?ALLT(0123
16、45)+ALLT(中国人民)值为 012345中国人民,字符串测试函数,测字母开关函数:ISALPHA(C型表达式)函数值为 L型若字符串开头是字母,函数值为.T.,否则返回.F.?ISALPHA(1ABC2)值为.f.?ISALPHA(中国人民)值为.f.?ISALPHA(abc)值为.T.?ISALPHA(ABC)值为.T.,测小写字母开头函数,ISLOWER(C型表达式)函数值为L型若字符串开头是小写字母开头,函数值为.T.,否则为.F.?ISLOWER(ABC2)值为.F.?ISLOWER(中国人民)值为.F.?ISLOWER(abc)值为.T.,测大写字母开头函数,ISUPPER(C
17、型表达式)函数值为 L型若字符串是大写字母开头字母,函数值为.T.,否则函数值为.F.?ISUPPER(ABC2)值为.T.?ISUPPER(中国人民)值为.F.?ISUPPER(abc)值为.F.?ISUPPER(ABC)值为.T.,求字符串长度,LEN(C型表达式)函数值为N型函数值为字符串的个数?LEN(ABCDEIE)值为7?LEN(中国人民)值为8,字符串转换函数,宏替换:&C型内存变量&作用是去掉字符串的界限符号。如:C1=姓名?&C1 值为 姓名如:A1=中国?&A1.漳州 值为 中国漳州,注意:C 型内存变量 不允许是C型数组元素。宏代换函数可以嵌套使用。.C2=Good!.C
18、1=2.C=C&C1.?&C 值为Good!.?&C1.2*3 值 为 66,大写字母换成小字母,LOWER(C型表达式)将字符串中的所有大写字母换成小写字母如:?LOWER(abAB635&)值为 abab635&,替换子串函数,STUFF(串1,N1,N2,串2)串1中第N1个字符开始N2个字符用串2替换如:C1=1234567890?STUFF(C1,2,4,AB)值为1AB67890,当N1大于串1的长度,则串2直接连接在串1后面?STUFF(C1,12,5,AB)值为1234567890AB当N2=0,则串2直接插入第N1个字符前?STUFF(C1,1,0,AB)值为AB123456
19、7890,格式转换函数,TRANSFORM(表达式,C型表达式)?Transform(12.34,$.99)$12.23,小写字母转换成大写字母,UPPER(C型表达式)值为C型将字符串中所有的小写字母转换成大写字母如:?UPPER(abCD32)值为 ABCD32,生成重复的字符串,REPLICATE(C型表达式,N)值为C型重复生成字符串N次如:?REPLICATE(*,10)值为*,生成空格字符串,SPACE(N)值为C型生成N个空格的字符串如:?12+SPACE(4)+AB值为 12 AB,三、日期与时间类函数,求星期函数:CDOW(D型表达式)值为C型函数值为日期的星期(英文)如:D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 函数 表达式 VFP6 考级 专用
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6578794.html