Visual FoxPro的数据与数据运算

上传人:xx****x 文档编号:243095871 上传时间:2024-09-15 格式:PPT 页数:55 大小:533KB
返回 下载 相关 举报
Visual FoxPro的数据与数据运算_第1页
第1页 / 共55页
Visual FoxPro的数据与数据运算_第2页
第2页 / 共55页
Visual FoxPro的数据与数据运算_第3页
第3页 / 共55页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,Thank You !,谢 谢 !,第3章,Visual FoxPro的数据与数据运算,Visual FoxPro的数据类型,3.1,Visual FoxPro的常量与变量,3.2,Visual FoxPro表达式,3.3,Visual FoxPro常用的内部函数,3.4,3.1 VFP的数据类型,数据类型决定了数据在计算机内的保存形式,并定义了它所支持的运算。,VFP提供常见的12种数据类型(表3-1),常用的有7种:,字符型、数值型、日期型、逻辑型、货币型、备注型和通用型,(1)字符型数据:,是不能进行算术运算的,文字数据,类型。,包含英文字母、数字、汉字、空格和各种ASCII字符,其最大长度不能超过254个字符。,(2)数值型数据:,表示数量,并可以,进行算术运算,的数据类型。,正负号、数字及小数点组成。,最大长度为,20,位(其中,包括,小数点和正负号所占的位数)。,(3)货币型:,是为存储货币值而使用。,固定长度为8个字节,默认保留4位小数。,(4)日期型:,表示日期的数据类型 。,默认格式mm/dd/yy,(5)日期时间型:,是表示日期和时间的数据,包含年、月、日、小时、分、秒格式的数据。,2010/10/01 15:37,(6)二进制字符型数据:,是以二进制形式存储的数据类型。,(7)整型:,即,整数,,固定长度为4个字节。,可用于存放年龄、成绩等信息,。,(8)浮点型:,与数值型,相同,包括正负号、数字及小数点,其最大长度也为20位。,(9)双精度型:,用于存放高精度数据,固定长度为8个字节。,(10)逻辑型:,只有真(.T.)和假(.F.)两种取值,长度为1个字节。,(11)通用型:,因为有通用型数据,Visual FoxPro可以将外部的数据文件(如声音、图像、视频等)作为数据来处理。,通用型数据,固定长度为4个字节,,这4个字节不是它真正的内容,其,实际内容存放在一个以.FPT为扩展名的文件中,,这4个字节用以存放指向.FPT文件位置的指针。,(12)备注型:,为了存放较多字符,设立的数据类型。,备注型数据也,只有4个字节,的长度,而实际数据存放在以,.FPT,为扩展名的文件中。,3.2 Visual FoxPro的常量与变量,3.2.1常量,常量,是指在数据处理过程中其,值保持不变,的量,用以表示一个具体的、不变的值。有6种类型常量,1 .字符型常量(,C,haracter,),用,西文的单引号、双引号或方括号,定界括起来的一串字符。,如阳光、vf、075,。,说明:,定界符必须成对出现。,若定界符本身是字符串的一部分,则字符串要使用另一定界符。如,teacher,空串:不包含任何字符的字符串,如,;,空格串:由空格符组成的字符串,如, ,2. 数值型常量(,N,umeric,),即常数,指整数、小数或用科学记数法表示的数,由数字09、小数点、正负号和科学记数法中的字母E构成,。,例如:12, 3.56 -8 3.135E6,。,注意:VFP中,分数(包括百分数)不是数值型常量。,3.日期型常量(,D,ate,),用,花括号,定界的日期数据。年月日的分隔符为,:/、_、.或空格,。,(1)传统日期格式,月、日各为2位数字;年份可2位或4位,受命令set century on/off影响;,系统默认,美国日期格式mm/dd/yy, 受命令set date to影响。,例如:set date to ymd 06/02/27,(2),严格的日期格式,格式,:,yyyy-mm-dd,例如:2006-02-25,说明:,必须有,脱字符,年份为4位,年月日顺序固定,(3)设置世纪值,格式:,SET CENTURY ON|OFF TO 世纪值,ROLLOVER 年份参照值,功能:ON|OFF表示是否显示世纪。,世纪值为2位数值表示世纪,如果日期的年份大于等于年份参照值,则世纪值为表示数据的世纪值,否则为世纪值+1,。,例:,SET CENTURY ON,SET CENTURY OFF,SET CENTURY TO 18 ROLLOVER 45,如日期数据10/25/55,表示1855年10月25日,。,注意 若在严格的日期格式状态下使用传统日期格式,系统会弹出下图所示的提示信息。,4. 日期时间型常量(Date,T,ime,),包括日期和时间两部分内容:,。时间部分的格式为:hh:mm:ss a|p,例:2003-10-25,08:39:45 AM,5. 逻辑型常量(,L,ogic,),真值:.t., .T., .y., .Y.,假值:.f., .F., .n., .N.,逻辑型常量的,定界符“.”小圆点不能省略,。,6. 货币型常量(,Currenc,y,),以符号“$”打头的数据常量,采用4位小数。无科学记数法形式。,变量,是指在命令操作或程序运行过程中其,值可改变,的量。,字段变量,变量 简单内存变量,内存变量,数组变量,3.2.2 Visual FoxPro的变量,系统变量,1 .字段变量,字段变量就是表中的变量,它是表中最基本的数据单元。可以是VFP中的任意数据类型。常用字段变量的类型有:N、C、D、L、G、M。,2. 内存变量,内存变量是,用户通过命令或程序临时定义的变量,,建立后存储在内存中,类型由变量值的类型决定。,它独立于表,是一种临时工作单元,是内存中的一个存储区域。,变量都有自己的名字,通过变量名访问变量。,内存变量的类型有字符型、数值型、货币型、逻辑型、日期型、日期时间型等。,1)、内存变量的命名规则,以字母、汉字或下划线开头,由字母、汉字、数字和下划线组成。,长度不能超过,128,个字符。,不能使用系统的保留字。,2)内存变量的赋值命令,格式1:=,格式2:,STORE TO ,如:,x=.t.,store 2*3 to x,y,z,注意:不可以使用STORE命令将不同的值赋给不同的内存变量。,3)内存变量的显示和打印,格式1:,LIST MEMORY,LIKE 通配符,TO PRINTER |TO FILE ,格式2:,DISPLAY MEMORY,LIKE 通配符,TO PRINTER |TO FILE ,功能:显示或打印当前内存变量信息。,说明:,(1)LIKE短语只显示与通配符相匹配的变量。通配符有*和?。*表示通配任意多个字符,?表示通配任意一个字符。,(2),LIST MEMORY,将结果连续显示在屏幕;,DISPLAY MEMORY,分屏显示。,4)内存变量的清除,格式1:,CLEAR MEMORY,格式2:,RELEASE,内存变量表,ALLLIKE|EXCEPT 通配符,5)内存变量的保存与恢复,保存:,SAVE TO,/,TO MEMO, ALL LIKEL EXCEPT ,恢复:,RESTORE FROM, ADDITIVE,store 3 to x1,x2,x3,disp memory,save to memo1,clear all,disp memory,restore form memo1,save all like x? to memo2,disp memory,6)数组,数组,是按一定顺序排列的一组内存变量,由一系列元素组成。但,数组必须先定义后使用,。每个数组元素可通过数组名及相应的下标来访问。一个数组中的数组元素类型可以不同。,格式:,DIMENSION|DECLARE,数组名(,,),说明:,(1)只有下标1就是一维数组。如,dime a(3),,数组元素为,a(1)、a(2)、a(3),。,(2)有下标2就是二维数组。如dime b(2,3),数组元素为,b(1,1)、b(1,2)、b(1,3)、b(2,1)、b(2,2),、b(2,3),。,(3)数组定义后,系统自动赋值为.f.。,(4)在同一运行环境下,数组名不能与简单变量名重名。,3 .系统变量,系统变量是Visual FoxPro自身提供的变量。系统变量通常以下画线“_”开头,与一般变量的使用方法相同。,例如:_screen.fontsize=20,_screen.fontbold=.t .,3.3 Visual FoxPro表达式,将常量、变量和函数运算符连接起来的式子称为表达式。,根据运算符和运算对象的不同,表达式可分为算术型、字符型、日期型、关系型和逻辑型,3.3.1 算术运算符与算术表达式,由算术运算符将数值型数据连接起来,形成的式子,运算结果为,数值型常数,。,算术运算符及其优先级如下:,求余运算,规则为:,(1)余数的正负号与除数相同。,(2)当除数与被除数符号相同时,结果为它们的余数。,(3)当除数与被除数符号不同时,结果为除数的绝对值减去两者相除后余数的绝对值。,例如:,? -5%3,&结果为1,? -5%(-3),&结果为-2,? 3%(-5),&结果为-2,3.3.2 字符表达式,由字符运算符将字符型数据连接起来,形成的式子,运算结果为,字符型,数据。,:前后两个字符串连接形成一个新的字符串,:连接前后两个字符串,并将前字符串的,尾部空格移到合并后的新字符串尾部。,字符串运算符的优先级相同,x=计算机 ,y=基础课,z=教程,? x+y &结果为,计算机 基础课,? x-y &结果为,计算机基础课 ,? x-y+z &结果为,计算机基础课 教程,3.3.3 日期时间表达式,由日期运算符将日期型或日期时间型数据连接起来,形成的式子,运算结果为,日期型或日期时间型,数据,也可为,数值型,数据。,运算符有:,-,。运算符优先级相同,3.3.4 关系表达式,由关系运算符将两个相同类型数据连接起来,形成的式子,运算结果为,逻辑型常量,。运算符有:,说明:,“,=”,两边的数据完全相同结果才为,.T.,。,“,=”,若两边数据为字符型,结果与,set exact,on|off,设置有关。当为,on,时,进行精确比较;当为,off,时,只要右边字符串与左边字符串前面部分相同结果为,.T.,。如:,abc,=a,,结果真;,a=,abc,,结果为假。,逻辑型数据:,.t.f.,“$”,:左边字符串是右边字符串的子串,结果为真,两个字符串比较时,是从左到右逐个比较。,3.3.5 逻辑表达式,由逻辑运算符将逻辑型数据连接起来,形成的式子,运算结果为,逻辑型,数据。,逻辑运算符及优先级:,.not.,或,! .and. .or.,运算符两边的圆点可省略,但须以空格分隔。,注意:,运算符优先级为:,括号算术、字符运算符关系运算符逻辑运算符,如:,2+6%45 and not(abc=abcd),表达式书写规则,1、每个字符应占一个字符位,均在同一个,水平上,2、若有乘,必须用*符号,3、需用括号时采用( ),且须配对,4、逻辑运算符前后应加圆点或空格分开,(-b+sqrt(b*b-4*a*c)/(2*a),3.4 Visual FoxPro常用的内部函数,3.4.1 数值函数,数值函数是指函数值为数值的一类函数,它们的自变量和函数值往往都是数值型数据。,3.4.2 字符函数,字符函数是用于处理字符数据的函数。,3.4.3 日期和时间函数,日期和时间函数是处理日期型或日期时间型数据的函数。,3.4.4 数据类型转换函数,3.4.5 测试函数,3.4.6 显示位置函数,3.4.7 文件管理函数,3.4.8 数组函数,函 数,功 能,例子,ABS(),返回的绝对值,?ABS(-31) &31,CEILING(),返回大于等于的最小整数,?CEILING(3.8) &4,FLOOR(),返回小于等于的最大整数,?FLOOR(12.7) &12,INT(),返回的整数部分,?INT(5.7) &5,MAX(),返回所有中的最大值,?MAX(31,45,6) &45,MIN(),返回所有中的最小值,?MAX(31,45,6) &6,数值函数,字符函数,函 数,功 能,例子,ALLTRIM(),删除字符串前导和末尾的空格,?ALLTRIM( ABCD ) &ABCD,AT(,),返回字符串在中第次出现的位置,?AT(BC,ABCD,1),& 2,LEN(),返回字符串的长度,?LEN(ABCD) & 4,LIKE(,),若和对应位置上的内容匹配,返回.T.,?LIKE(李* , 李长剑) & .T.,LOWER(),将大写字母转换为小写,?LOWER(aBc) &abc,UPPER(),将小写字母转换为大写,?UPPER(aBc) &ABC,LEFT(,),返回左起个字符的子串,?LEFT(ABCD,2) &AB,转换函数,测试函数,表操作函数,表文件首测试函数:,BOF,(|),表文件尾测试函数:,EOF,(|),记录号测试函数:,RECNO,(|),记录个数测试函数:,RECCOUNT,(|),记录删除测试函数:,DELETE,(|),记录查找测试函数:,FOUND,(|),其他函数,工作区号测试函数:,SELECT,(0|1|),文件存在测试函数:,FILE,(,文件名,),条件测试函数:,IIF,(,),宏替换函数:,&,().,如:,a= ,应用,? ,数据库,&a,? ,数据库,&a.,课程,显示信息对话框函数,格式:,MESSAGEBOX(,),参数,值,说明,参数1-出现按钮,0,确定按钮,1,确定和取消按钮,2,终止、重试和忽略按钮,3,是、否和取消按钮,4,是和否按钮,5,重试和取消按钮,参数2-图标类型,16,停止图标,32,问号( ?)图标,48,感叹号( !)图标,64,信息图标,参数3-默认按钮,0,指定默认按钮为第一按钮,256,指定默认按钮为第二按钮,512,指定默认按钮为第三按钮,返回值,选定按钮,1,确定,2,取消,3,终止,4,重试,5,忽略,6,是,7,否,例:,msg= MESSAGEBOX (请确认输入的数据是否,正确!, 3+48+0,数据检查),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!