资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2.3 Visual FoxPro的数据及其运算2.3.1本章要点u 数据类型、常量及变量u 内存变量的操作u Visual FoxPro常用函数及其应用 u Visual FoxPro的运算符及表达式 2.3.2学习指导1数据类型在Visual FoxPro系统中提供了多种不同的数据类型。主要常用的数据类型有字符型、数值型、货币型、日期型、日期时间型、逻辑型、备注型、通用型等。2常量常量用以表示一个具体的、不变的值。主要包括:字符型常量、数值型常量、货币型常量、逻辑型常量、日期型常量、日期时间型常量。1)字符型常量:是用定界符括起来的一串字符。字符型常量的定界符有半角状态下的:单引号、双引号和方括号。注意:不含任何字符的字符串()叫空串,包含空格的字符串( )是空格字符串,二者是有区别的。2)数值型常量:由数字09、小数点和正负号组成。数值型常量有两种表示方法:小数形式和指数形式。3)货币型常量:书写格式与数值型常量类似,但要加上一个前置的$。货币型数据在存储和计算时,采用4位小数。如果一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。4)日期型常量:是指放在一对花括号中,包括年、月、日3部分内容,各部分内容之间用分隔符分隔。分隔符可是斜杠(/)、连字号(-)、句点(.)和空格,其中“/”是系统在显示日期型数据时使用的默认分隔符。 日期型常量的格式如下:传统的日期格式系统默认的日期型数据为美国日期格式“mm/dd/yy”(月/日/年), 传统日期格式中的月、日各为2位数字,而年份可是2位也可是4位数字,如10/08/06、10-08-06、10 .08 .2006严格的日期格式:yyyy-mm-dd花括号内第一个字符必须是字符();年份必须用4位(如2001、1999等);年月日的次序不能颠倒、不能缺省。如2008-01-23影响日期格式的设置命令,如表2-2所示。表2-2 影响日期格式设置的命令命令格式命令功能set mark to 日期分隔符用于设置显示日期型数据时使用的分隔符,如“-”、“.”等set date to 设置日期显示的格式set century on /off用于设置显示日期型数据时是否显示世纪即是否用4位数字显示年份set strictdate to 0|1|2用于设置是否对日期格式进行检查。0表示不进行严格的日期格式检查:1表示进行严格的日期格式检查,它是系统默认的设置;2表示进行严格的日期格式检查,并且对ctod()和ctot()函数的格式也有效5)日期时间型常量包括日期和时间两部分内容: 。u 部分与日期型 常量相似,也有传统的和严格的两种格式。u 部分的格式为:hh:mm:ssa|p.其中hh、mm和ss分别代表时、分和秒,默认值分别为12、0和0。AM和PM分别代表上午和下午,默认值为AM。如果指定的时间大于等于12,则自然为下午的时间。6)逻辑型常量逻辑型数据只有逻辑真和逻辑假两个值. u 逻辑真的常量表示形式有:.T. 、.t.、.Y.和.y.u 逻辑假的常量表示形式有:.F.、.f.、.N.和.n. 注意:前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。3.变量在命令执行过程中,其值可变化的量称为变量。变量的3个要素:变量名、数据类型和变量值。在Visual FoxPro中变量分为系统变量、字段变量和内存变量。内存变量又可分为简单内存变量和数组变量。1)字段变量:字段变量就是表中的字段名,其值是表中对应的记录值。字段变量的名字、类型、长度等是在定义表结构时定义的。2)内存变量:它是一种临时变量,是在程序执行过程中用于存放临时数据(中间结果或最终结果)的内存工作单元。3)字段变量与数据库中的表有关,字段变量的值是当前所打开的表的当前记录的该字段的值。内存变量与数据库无关,是用来存放数据的内存区域。内存变量的数据类型由赋值给它的数据决定,是可以改变的。注意:当字段变量与内存变量同名时,字段变量优先。内存变量应该用如下格式进行访问:M.内存变量名 或 M-内存变量名4)变量命名规则u 使用字母、汉字、下划线和数字命名。u 命名以字母或下划线开头。除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1128个字符。u 为避免误解、混淆,避免使用Visual FoxPro的保留字。u 文件名的命名应遵循操作系统的约定。5)内存变量操作命令,见表2-3所示。表2-3 内存变量操作命令命令名称命令格式命令功能内存变量赋值STORE TO 把一个相同的值同时赋值给多个内存变量 = 计算的值并赋值给指定一个内存变量输出内存变量值? 先回车换行,再计算并输出表达式的值? 在屏幕上当前位置,计算并直接输出表达式的值显示内存变量list memory连续显示当前内存变量的变量名,作用域,类型,值display memory分屏显示显示当前内存变量的变量名,作用域,类型,值清除内存变量clear memory清除所有内存变量release 清除指定的内存变量release alllike|except选用LIKE短语清除与通配符相配的内存变量,选用except短语清除与通配符不相匹配的内存变量。? 代表任意一个字符;* 代表任意个字符clear all清除所有的内存变量,并关闭所有打开的库文件及相关文件,设置1区为当前工作区。建立内存变量文件SAVE TO |TO MEMO ALL LIKE|EXCEPT 将内存变量保存到内存变量文件或指定的备注字段中去。系统自动给内存变量文件加上扩展名MEM。恢复内存变量文件RESTORE FROM 内存变量文件名|FROM MEMO 备注字段名 ADDITIVE从指定的内存变量文件或备注字段中,将保存的内存变量恢复到内存中来。若无ADDITIVE选项,则先清除当前内存中的全部内存变量后,再恢复;否则不清除,只将同名的内存变量覆盖。定义数组内存变量DIMENSION | DECLARE( ,) ,( ,)功能:定义一个或多个一维数组或二维数组。说明:下标上界是一数量值,下标的下界由系统统一规定为1。命令DIMENSION和DECLARE的功能完全相同。数组一旦定义,数组的每个元素的初值均为逻辑值.F.。在定义数组时,数组名不能与同一环境下的简单变量同名。4.函数1)函数的概念函数是系统内部已“编制”好的一段程序,其功能是用来实现数据处理中常用的特定运算与操作。在Visual FoxPro中提供了大量的函数。只要调用这些函数就能得到相应的输出结果。函数的一般结构形式如下:函数名(,,)一个函数必须有一个函数名,函数名后面必须跟一对圆括号,圆括号中可以有0n个参数,参数之间用逗号分隔。函数根据用户给定的参数,经过系统内部计算返回一个唯一的值,称为该函数的返回值。函数可作为运算量用于表达式中参与运算,此时函数的返回值类型一定要与所在的表达式中其它运算量的类型一致。在进行函数操作时,可以通过输出命令显示函数或表达式的值。常用的函数输出格式:u ?函数名(,,)u ?函数名(,,)2)常用函数,见表2-4所示。表2-4 常用函数函数分类常用函数数值函数ABS()、INT()、EXP()、LOG()、MAX()、MIN()、MOD()、RAND()、ROUND()、SQRT()字符串函数TRIM()、LTRIM()、ALLTRIM()、AT()、SUBSTR()、SPACE()、RIGHT()、LEFT()、LEN()、LOWER()、UPPER()日期与时间函数DATE()、TIME()、DAY()、MONTH()、YEAR()、DOW()、CDOW()类型转换函数VAL()、STR()、ASC()、CHR()、CTOD()、CTOT()、DTOC()、TTOC()测试函数BOF()、EOF()、DELETED()、FOUND()、RECNO()、RECCOUNT()、FILE()、IIF()、ISNULL()、EMPTY()、VARTYPE()系统对话框函数MESSAGEBOX()宏替换函数&5.表达式1)算术表达式:又称数值表达式,算术运算符与数值型常量、变量、函数构成,运算结果仍为数值型。算术运算符见表2-5所示。表2-5 算术运算符优先级运算符 说明 1( )形成表达式内的子表达式2*或乘方运算3*、/、%乘、除运算、求余运算4+、-加、减运算 2)字符表达式:由字符运算符与字符型常量、变量、函数构成,运算结果仍为字符型。字符运算符有完全连接运算符“+”、不完全连接运算符“-”、 字符串包含运算$三种。u 完全连接运算符+:前后两个字符串首尾连接形成一个新的字符串。u 不完全连接运算符-:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。u 字符串包含运算$:其运算的结果是逻辑值。如果字符串1包含在字符串2中,则运算结果为真(.T.),否则为假(.F.)。3)日期表达式和日期时间表达式,见表2-6所示:表2-6 日期和时间表达式格式结果及类型+日期型。指定日期若干天后的日期 + 日期型。指定日期若干天后的日期-日期型。指定日期若干天前的日期- 数值型。两个指定日期相差的天数+日期时间型。指定日期时间若干秒后的日期时间 +日期时间型。指定日期时间若干秒后的日期时间- 日期时间型。指定日期时间若干秒前的日期时间- 数值型。两个指定日期时间相差的秒数4)关系表达式:由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。关系表达式的返回值为逻辑值。关系运算符见表2-7所示。表2-7 关系运算符运算符说明 运算符说明小于大于=大于等于=等于= =字符串精确比较、#、 !=不等于5)逻辑表达式:由逻辑运算符将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。逻辑运算符前后一般要加圆点“.”标记,以示区别,也可省略,见表2-8所示。表2-8 逻辑运算符运算符功能优先级别()圆括号 最高 最低.NOT. 或 ! 逻辑非.AND.逻辑与,OR.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号