VisualFoxPro的数据类型.ppt

上传人:牧羊曲112 文档编号:6523128 上传时间:2023-11-08 格式:PPT 页数:64 大小:222KB
返回 下载 相关 举报
VisualFoxPro的数据类型.ppt_第1页
第1页 / 共64页
VisualFoxPro的数据类型.ppt_第2页
第2页 / 共64页
VisualFoxPro的数据类型.ppt_第3页
第3页 / 共64页
VisualFoxPro的数据类型.ppt_第4页
第4页 / 共64页
VisualFoxPro的数据类型.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《VisualFoxPro的数据类型.ppt》由会员分享,可在线阅读,更多相关《VisualFoxPro的数据类型.ppt(64页珍藏版)》请在三一办公上搜索。

1、第二章Visual FoxPro的数据类型【教学目标】理解并掌握Visual FoxPro 6.0的数据类型理解并掌握Visual FoxPro 6.0的表达式理解并掌握Visual FoxPro 6.0的常用函数,【教学内容】数据类型常量与变量表达式常用函数、其它函数,【重点和难点】重点数据类型概念常量与变量概念表达式的概念及类型运算符的类型及优先级函数功能及用法难点运算符的类型及优先级,2.1 数据类型和字段类型,VFP提供了多种数据类型,各种类型的数据可以保存在表、数组、变量以及其他数据容器中。所有数据都有其所属类型。类型就是对数据的允许取值以及这个值的范围进行的说明。,2.2.1 字符

2、型 字符型数据包括普通字符型和二进制字符型两种。1普通字符型(Character)普通字符型简称字符型。2二进制字符型(Character Binary)二进制字符型与字符型基本相同,只是在代码页改变时,其值不会随之而改变。2.2.2 货币型 货币型(Currency)用来存储与货币有关的数据。,2.2.3 数值型 数值型数据是描述数量的常用数据类型,它包括普通数值型、浮动型、双精度型和整型四种。1 普通数值(Numeric)型 普通数值型数据简称为数值型。2浮动(Float)型 浮动型即浮点型。3双精度(Double)型 双精度型是精度更高的数值类型数据,仅用于表中的数值型字段定义。4整(I

3、nteger)型 整型是一种无小数部分的数值类型数据,它只用于表中数值型字段的定义。,2.2.4 逻辑型 逻辑(Logical)型数据描述客观事物的真(.T.)与假(.F.),用来表示逻辑判断的结果,逻辑型数据的长度固定为1位。2.2.5 日期型 日期(Date)型数据是用来表示日期的数据类型,其缺省格式为:mm/dd/yy。mm代表月份,dd代表日,yyyy代表年份,日期型数据的长度固定为8位。2.2.6 日期时间型 日期时间型(Date Time)数据是用来表示日期和时间的数据类型,其缺省格式是:mm/dd/yy hh:mm:ss。,2.2.7 备注型 备注型数据分为普通备注型和二进制备注

4、型两类,其作用基本相同。1普通备注(Mome)型 普通备注型简称备注型。2二进制备注(Memo Binary)型 二进制备注型与备注型相同,但当代码页改变时其值会随之而改变。,2.2.8 通用型 通用(General)型数据仅用于表中的字段类型定义,它实际上是一种特殊的备注型数据。,2.3 Visual FoxPro 6.0中的数据存储 数据容器,这些供数据存储用的常量、变量、数组、字段、记录、对象一律称为数据存储容器,简称为数据容器(Data Volume,简写为dvol)。2.3.1 常量 常量(Constant)是在程序或命令执行过程中保持不变的数据,是在命令或程序中被直接引用的实际值。

5、它分为数值型、浮点型、字符型、逻辑型、日期型和日期时间型及用户自创建型7种。,1数值(Numeric)型常量 数值型常量可以是实数或整数。例:3.14159262浮点(Float)型常量 浮点型常量是数值型常量的浮点格式,它采用科学计数法表示。3字符(Character)型常量 字符型常量是用字符型常量的定界符(一对单引号、双引号“”、方括号)括起来的汉字或可打印的ASCII字符串。例:“ABC”,张华,3.154逻辑(Logical)型常量 逻辑型常量由表示判断结果为“真”或“假”的符号组成。它只有两个值:.T.、.F.或.t.、.f.。,5日期(Date)型常量 日期型常量用来表示日期,其

6、规定的书写格式为:yyyy/mm/dd。3/15/1999,4/1/1999 10:00am6日期时间(Date Time)型常量 日期时间型常量用来表示日期和时间,其规定的书写格式为:yyyy/mm/dd hh:mm:ss。7.编译时常量:#DEFINE OPERRSTR“数据非法”,此时OPERRSTR为编译时常量,表示“数据非法”,在程序中此常量名不能再作为变量名作用。8用户自创建常量 这是在应用程序中由用户自己创建的任意类型的常量,类似于其他高级语言中的符号常量。,5.2.2 变量变量是内存中的一个存储单元的位置,变量名是存储位置的符号标识。通过变量名可以访问该存储单元。1.变量的创建

7、可以使用赋值等命令创建变量,其格式为:变量名=表达式或者STORE 表达式 TO 变量名列表例如 A=3.14STORE 1 TO A,B,CCOUNT TO 人数FOR nINC=1 TO 10?nINCENDFOR,2.变量的作用域变量只在应用程序运行时或创建它的工作区中才存在。用LOCAL指定的变量为局部变量用PRIVATE指定的变量为私有变量用PUBLIC指定的变量为全局(公共)变量在程序中未用上述命令指定的变量默认为局部变量。在命令窗口中创建的变量或数组被自动赋予全局属性。3.变量的访问变量可以用变量名来访问,但若此时存在同名的字段变量,则优先访问字段变量。若特指访问内存变量,需在变

8、量名前加前缀 或M符号。例如:M-A,M.A,M-nINC,4、内存变量的显示命令格式:LIST|DISPLAY MEMORY LIKE TO PRINTER PROMPT|TO FILE 功能:显示当前已定义的内存变量名、作用范围、类型、值,说明:)、LIKE子句表示将选出与通配符(*、?)相匹配的内存变量LIST MEMORY LIKE?LIKE 子句项缺省则显示全部内存变量以及其个数、字节数)、选项TO PRINTER将屏幕显示内容输出到打印机;使用 PROMPT 选项则提供是否打印的提示窗口;TO FILE则将显示内容存入文件。,5、内存变量的释放命令格式RELEASE ALLLIKE

9、|EXCEPT 功能:从内存清除指定的内存变量(释放内存)例:RELEASE a,b RELEASEALL RELEASEALL LIKE a*RELEASEALL EXCEPT?b*,6、内存变量的保存和恢复命令格式SAVE TO ALLLIKE|功能:将所有用户定义的内存变量都写入一个文件中(缺省扩展名是.MEM)例:SAVE ALL LIKE m*TO myfile,VFP 标识符的命名规则、字段、文件命名规则、内存变量、函数名命名规则以字母(或汉字)或下划线开头;由字母、数字、下划线组成;至多128个字符。不可与系统保留字同名。内存变量使用方法命令格式:例:s=“VFP”;w=12.1

10、2;,命令格式:STORE TO例:STORE 2*4 TO n1,n2,n3表达式值的显示命令命令格式:?功能:计算表达式的值,并将其显示在屏幕上。注:)、?符号“”表示左、右任选一个。)、?换行显示表达式的值?紧接上一条命令显示结果后显示,3.4.1 数值函数,1ABS()函数格式:ABS()功能:ABS()函数返回指定的数值表达式的绝对值。2SIGN()函数格式:SIGN()功能:SIGN()函数返回指定数值表达式的符号。当表达式的结果为正、负和0时,函数值分别为1、-1和0。,3SQRT()函数格式:SQRT()功能:SQRT()函数返回数值表达式的平方根。4PI()函数格式:PI()

11、功能:PI()函数返回数值常量的近似值。,5INT()函数格式:INT()功能:INT()函数返回数值表达式的整数部分。6CELING()函数格式:CELING()功能:CELING()函数返回大于或等于数值表达式的最小整数。,7FLOOR()函数格式:FLOOR()功能:FLOOR()函数返回小于或等于数值表达式的最大整数。8ROUND()函数格式:ROUND(,)功能:ROUND()函数返回数据表达式在指定位置四舍五入后的结果。,9MOD()函数格式:MOD(,)功能:MOD()函数返回除以两个数相除后的余数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值就为两数相除的余数。如果

12、被除数与除数异号,则函数值为两数相除的余数再加上除数的值。,10MAX()函数格式:MAX(,)功能:MAX()函数返回数值表达式中的最大值表达式。11MIN()函数格式:MIN(,)功能:MIN()函数返回数值表达式中的最小值表达式。,3.4.2 字符函数,1LEN()函数格式:LEN()功能:LEN()函数返回字符表达式值的长度,函数值为数值型。2SPACE()函数格式:SPACE()功能:SPACE()函数生成指定空格数的空字符串。,3LTRIM()函数格式:LTRIM()功能:LTRIM()函数删除串尾空格字符。4ALLTRIM()函数格式:ALLTRIM()功能:ALLTRIM()函

13、数删除首尾空格字符。,5LEFT()函数格式:LEFT(,)功能:LEFT()函数从字符表达式值的左端取一个指定长度的子串作为函数值。6RIGHT()函数格式:RIGHT(,)功能:RIGHT()函数从字符表达式值的右端取一个指定长度的子串作为函数值。,7SUBSTR()函数格式:SUBSTR(,)功能:SUBSTR()函数从表达式值的起始位置取一个指定长度的子串作为函数值。8OCCURS()函数格式:OCCURS(,)功能:OCCURS()函数返回第一个字符串在第二个字符串中出现的次数。,9AT()函数格式:AT(,)功能:AT()函数返回值的首字符在值中的位置。10STUFF()函数格式:

14、STUFF(,)功能:STUFF()函数用串替换串中由和指明的一个子串。,11TRIM()/RTRIM()函数格式:TRIM()/RTRIM)功能:这两个函数功能相同,都是删除尾部的空格。若字符表达式全由空格组成,则函数返回空串。12CHRTRAN()函数格式:CHRTRAN(,)功能:在中,将与相匹配的字符串用字符表达式3替换。,3.4.3 日期时间函数,1DATE()函数格式:DATE()功能:DATE()函数返回当前系统日期,函数值为日期型。2TIME()函数格式:TIME()功能:TIME()函数以24小时制,hh:mm:ss格式返回当前系统时间,函数值为字符型。,3DATETIME(

15、)函数格式:DATETIME()功能:DATETIME()函数返回当前系统日期时间,函数值为日期时间型。4YEAR()函数格式:YEAR()功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份。,5MONTH()函数格式:MONTH(|)功能:MONTH()从指定的日期表达式或日期时间表达式中返回月份。6DAY()函数格式:DAY(|)功能:DAY()从指定的日期或日期时间表达式中返回月份中的天数。,7HOUR()函数格式:HOUR()功能:HOUR()函数从日期时间表达式中返回小时部分(24小时制)。8MINUTE()函数格式:MINUTE()功能:MINUTE()函数从日期时间表

16、达式中返回分钟部分。,9SEC()函数格式:SEC()功能:SEC()函数从日期时间表达式中返回秒数部分。10DOW()函数格式:DOW()功能:DOW()函数返回日期表达式或日期时间表达式返回该日期是一周的第几天,17表示星期日星期六。,3.4.4 数据类型转换函数,1STR()函数格式:STR(,)功能:STR()函数将按设定的和转换成字符型数据,函数返回值为字符型。2VAL()函数格式:VAL()功能:VAL()将数值字符串转换为数值。,3CTOD()函数格式:CTOD()功能:CTOD()函数将“mm/dd/yy”格式的串转换成对应的日期值,返回的函数值为日期型。4DTOC()函数格式

17、:DTOC(|,1)功能:DTOC()函数将转换成字符串,函数返回值类型为字符型。,5ASC函数格式:ASC(cExp)功能:该函数返回字符型表达式cExp中首字符的ASCII码值。6CHR函数格式:CHR(nExp)功能:该函数返回由数值型表达式nExp的值转换成相应的ASCII字符。其中,nExp的值必须在0255之间。,7UPPER函数格式:UPPER(cExp)功能:该函数将字符型表达式cExp中所有小写字母转换为大写字母。8LOWER函数格式:LOWER(nExp)功能:该函数将字符型表达式nExp中所有的大写字母转换成小写字母。,3.4.5 测试函数,1BETWEEN()函数格式:

18、BETWEEN(,)功能:BETWEEN()函数判断一个表达式的值是否在另外两个表达式的值之间。当值大于等于且小于等于时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。如果或有一个是NULL值,则函数值也是NULL值。,2ISNULL()函数格式:ISNULL()功能:ISNULL()函数判断一个表达式的运算结果是否为.NULL.值,如果是.NULL.值,则返回逻辑真(.T.),否则逻辑值假(.F.)。3EMPTY()函数格式:EMPTY()功能:EMPTY()函数根据表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.)。,4TYPE()函数格式:TYPE()功能:

19、TYPE()函数返回表达式的值的类型,返回值是一个大写字母。5INLIST()函数格式:INLIST(、,)功能:INLIST()函数判断第一个表达式的值是否与后面表达式值中的某个匹配。当表达式1的值等于后面的表达式其中之一时,函数返回.T.,否则返回.f.。,6ISBLANK()函数格式:ISBLANK()功能:ISBLANK()函数判断表达式是否为空值,返回值是一个大写字母。当表达式为空字符串,空格或空日期时,函数返回.T.,否则返回.f.。,表3.7 不同类型数据的“空”值规定,3.5 数据库类函数一、字段处理函数,1FCOUNT()函数格式:FCOUNT(nWorkArear/cAli

20、as)功能:FCOUNT()函数返回指定工作区中所打开表的字段数目,若指定工作区中没有表被打开,则返回0。2FIELD()函数格式:FIELD(nExp、,cAlias)功能:FIELD()函数返回指定工作区中指定字段或文件的大小。该函数与LEN()函数不同,LEN()只能返回字符串的长度,FSIZE()可以返回各种类型字段的大小。,1BOF()函数格式:BOF(|)功能:BOF()函数测试当前表文件中的记录指针是否指向文件首,如果是则返回逻辑真(.T.),否则返回逻辑假(.F.)。2EOF()函数格式:EOF(|)功能:测试记录指针是否指向文件尾,如果是返回逻辑真(.T.),否则返回逻辑假(

21、.F.)。,二、记录处理函数,3RECNO()函数格式:RECNO(|)功能:RECNO()函数返回当前表文件中当前记录的记录号。4FILTER()函数格式:FILTER(nWorkArea/cAlias)功能:FILTER()函数返回指定数据表中由SET FILTER命令指定的筛选表达式。,5RECCOUNT()函数格式:RECCOUNT(|)功能:RECCOUNT()函数返回当前表文件中的记录个数,如果指定工作区上没有打开表文件,函数值为0。6DELETED()函数格式:DELETED(|)功能:DELETED()函数测试指定工作区中打开的表,记录指针所指的当前记录是否有删除标记“*”,如

22、果有则为真,否则为假。,7SEEK()函数格式:SEEK(表达式)功能:SEEK()函数用于在当前工作区,根据当前主索引,查找与表达式值相匹配的第一条记录,若查找成功,返回.T.,否则返回.F.。8FOUND()函数格式:FOUND(nWorkArea/cAlias)功能:FOUND()函数用于执行查询命令LOCATE、CONTINUE、FIND或SEEK后,判断查找是否成功,若查找成功,返回.T.,否则返回.F.。,1CDX()函数格式:CDX(nExp,cAlias)功能:CDX()函数返回指定工作区的第nExp个.CDX文件名。2ORDER()函数格式:ORDER(cAlias,1)功能

23、:返回主控索引文件名(.IDX文件)或索引标识名(.CDX文件),选择第二个参数1,可以获得文件路径。,三、索引函数,3TAG()函数格式:TAG(CDXcFileName,nExp,cAlias)功能:该函数返回任一独立索引文件名(.IDX文件)或索引标识名(.CDX文件)。nExp的缺省值为1,所有打开的索引文件按顺序编号为1、2、3,接着就是.CDX文件的索引标识。,10IIF()函数格式:IIF(,)功能:IIF()函数测试的值,如果为逻辑真(.T.),函数返回的值。如果为逻辑假(.F.),函数返回的值。,2.5 运算符和表达式,2.5.1 算术表达式 算术型表达式(Arithmeti

24、c exp,expN)又称数值表达式。参加运算的数据和结果都是数值型。允许进行的运算如表2.1。,2.5.2 字符表达式 字符表达式(Character exp,expC)中参加运算的数据都是字符型,而结果因运算符不同可能是字符型,也可能是逻辑型。允许进行的运算如表2.2所示。,表2.2字符表达式,2.5.3 日期时间表达式 日期时间表达式(Date time exp,expD)仅允许进行两种运算,如表2.3所示。,表2.3日期表达式,2.5.4 关系表达式 关系运算符的功能用来比较两个同类数据的大小,结果是一个逻辑量。关系表达式允许进行的7种运算如表2.4所示,这7种运算的优先级都相同。,表

25、2.4关系表达式,在比较运算中应该注意下面几个问题。(1)日期值的比较、日期时间值的比较,早者的值小。(2)逻辑值的比较,.T.大于.F.。(3)字符值的比较,对两个字符串从左到右逐个字符进行比较。(4)字符串的相等分为非精确相等和精确相等。,2.5.5 逻辑表达式 逻辑运算符的功能用于进行逻辑型数据操作,结果仍是逻辑量。逻辑表达式(Logical exp,expL)允许进行的3种运算如表2.5所示。,表2.5逻辑表达式,2.5.6 名表达式 名表达式(Name exp,expNa)实际上是将一个字符串赋给一个内存变量或下标变量作为该串的名字,以便用户在后面通过间接引用或宏替换的操作来引用该内

26、存变量或下标变量。1间接引用名表达式格式:()2使用宏替换格式:&,2.5.7 类、对象表达式 类和对象表达式(Class and object Exp,expCo)用来描述对象与类的关系,属性、事件和方法与对象的从属关系,子类调用父类等。运算符有两个,如表2.6所示。,表2.6类和对象表达式,2.5.8 表达式的优先级(1)同类型表达式,按上述的类型内各种运算符的优先级确定运算次序。(2)不同类型的混合表达式,优先级从高到低依次为算术运算符、字符运算符、关系运算符、逻辑运算符。(3)两表达式的优先级相同时,表达式按自左向右的次序执行。(4)表达式中可以使用圆括号改变优先级的次序,圆括号可嵌套。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号