欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《VisualFoxPro程序设计》第二章数据与数据运算.ppt

    • 资源ID:6525882       资源大小:2.45MB        全文页数:61页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《VisualFoxPro程序设计》第二章数据与数据运算.ppt

    Visual FoxPro 6.0 程序设计.课件,-1-,第2章 数据与数据运算,2.1 Visual FoxPro的数据类型2.2 数据存储2.3 运算符与表达式2.4 常用函数,提示:单击上面各个标题前的动画符号“”,链接到相应的章节。,Visual FoxPro 6.0 程序设计.课件,-2-,2.1 Visual FoxPro的数据类型,1.字符型(Character)是用来描述非数值计算的文字数据,用字母C表示。在字符型数据中可以包含任何键盘上输入的可见字符以及汉字和标点符号。字符型数据最大宽度为254个字节。字符型的变量或字段用来存放类似名称、地址等文本信息。2.数值型(Numeric)是指用来计算的数据,用字母N表示。数值型数据由数字09、小数点和正负号构成。数值型数据在内存中用8个字节表示,在表中用120个字节表示。数值型数据取值范围为-0.999999999910+0.999999999910。数值型的变量或字段用来存放一个数量的大小。3.整型(Integer)是不包含小数点及小数部分的数值,用字母I表示。整型变量用于存放整数,其优点在于比其他数值型数据占据的存储空间要小,它只用4个字节,该类型数据指用表中字段存储。,Visual FoxPro 6.0 程序设计.课件,-3-,4.浮点型(Float)在功能上完全等价于数值型。之所以出现两个相同功能的数据类型,主要是出于兼容性的考虑。浮点型数据在内存中用8个字节表示,在表中用120个字节表示。浮点型数据的取值范围为-0.999999999910+0.999999999910。5.双精度型(Double)用于存放更高精度型数据,常用于科学计算,存储精度比数值型高,可得15位精度,它占用8个字节。该类型数据不能用内存变量存储;在表中,该类型数据用双精度型字段存储。6.货币型(Money)用于存放货币值,用字母Y表示。货币型只保留4位小数,超过4位,将进行四舍五入到4位,其只占用8个字节,该类型数据可以用内存变量存储。,Visual FoxPro 6.0 程序设计.课件,-4-,7.日期型(Date)用于存放日期,用字母D表示。常用日期型格式为年/月/日和年.月.日,日期型字段的宽度是固定的,占用8个字节,其中年、月、日各占两个字节,该类型数据可以用内存变量和字段存储。8.日期时间型(DateTime)是用来存放日期时间,用字母T表示。其格式为年.月.日 时:分:秒 AM或PM,它占用8个字节,该类型数据可以用内存变量和字段存储。如89/12/1 10:20:30 am。9.逻辑型(Logic)是用于描述事物真假的数据,用字母L表示。它只有两个值,即真和假,可用T、t、Y、y任一个字符表示真,用F、f、N、n中任一个字符表示假,其占用的宽度是固定的,为1个字节。在表中,逻辑型字段用来存放逻辑型数据。,Visual FoxPro 6.0 程序设计.课件,-5-,10.备注型(Memo)用于存放较长文本的字符型数据,用字母M表示。在表中,备注型字段可以存放多种信息,可以是字符文本、源程序代码等数据,其长度为4个字节,用于记录在备注项中的信息,实际上该信息并不存放在表文件中,而是存放在与表文件同名,而扩展名为.FPT的备注文件中。11.通用型(General)是一种存放OLD嵌入式对象的数据,用字母G表示。在表中,通用型字段可以存放图片、电子表格、声音等数据,其长度为4个字节。有了这种类型字段就使得Visual FoxPro 6.0成为可以保存电子表格、文档、图片等信息的全方位数据库。与备注型字段一样,通用字段数据也存入与表文件同名而扩展名为.FPT的文件中,该类型数据不能用内存变量存储。,Visual FoxPro 6.0 程序设计.课件,-6-,2.2 数据存储,2.2.1 常量 2.2.2 变量 2.2.3 内存变量的操作 2.2.4 数组,Visual FoxPro 6.0 程序设计.课件,-7-,2.2.1 常量,常量:是指在程序运行期间其值保持不变的量。常量类型:有字符型、数值型、逻辑性、日期型、日期时间型和货币型6种。1.字符型常量字符型常量(C)也叫字符串,是由字符、空格或数字所组成的字串字串两端用定界符括起来。字符型的定界符是、“”或。例如,北京、“Beijing奥运”、911_Usa等都是合法的字符型常量。2.货币型常量货币型常量(Y)是在前面加上一个$符号的数值。例如,$280.25是一个合法的货币型常量。,Visual FoxPro 6.0 程序设计.课件,-8-,3.数值型常量数值型常量(N)是由数字(09)、小数点和正负号组成的,是可进行算术运算的常数。例如,60、-1.5、+26.8、3.55E-12等都是合法的数值型常量。4.逻辑型常量逻辑型常量(L)只有两个值:“真”与“假”逻辑型常量的定界符是一对点.逻辑真的表示有:.T.、.t.、.Y.、.y.;逻辑假的表示有:.F.、.f.、.N.、.n.。,Visual FoxPro 6.0 程序设计.课件,-9-,5.日期型常量日期型常量(D)的定界符是一对大括号,输入格式为yyyy/mm/dd,输出格式为mm/dd/yy或mm/dd/yyyy。其中,mm代表月,dd代表日,yy和yyyy代表年。例如,2008/08/08是合法的日期输入常量,07/01/97是合法的日期输出常量。6.日期时间型常量日期时间型常量(T)的定界符也是一对大括号,它的输入格式为yyyy/mm/dd hh:mm:ss AM|PM,输出格式为mm/dd/yy hh:mm:ss AM|PM或mm/dd/yyyy hh:mm:ss AM|PM。其中,dd代表日,yy和yyyy代表年,hh代表小时,ss代表秒,AM代表上午,PM代表下午,输入格式中的第一个mm代表月、第二个mm代表分钟,输出格式中的第一个mm代表分钟、第二个mm代表月。例如,tt=1999/10/01 13:15:00,则输出tt值为10/01/99 01:15:00 PM。,Visual FoxPro 6.0 程序设计.课件,-10-,2.2.2 变量,变量:是指在程序运行期间其值可以被改变的量。VFP定义了3种类型变量:字段变量、内存变量和系统内存变量。1.变量的命名字段变量和内存变量是用户自己定义并取名的。变量名是由字母、汉字、数字和下划线组成的,但必须以字母、汉字开头,注意不能使用VFP中的保留字。变量名的最大长度为254个英文字符(相当于128个中文字符宽度),表中的字段名最大长度为10个英文字符(相当于5个中文字符宽度)。例如,a、b3、我的变量、IN_123、大A、A2B6等都是合法的变量名;而&sn、36Abc、*aa、THIS都不是合法的变量名。系统内存变量名称由系统规定,用户不能对系统内存变量取名。例如,_SCREEN和_ALIGNMENT都是系统定义好的系统内存变量。,Visual FoxPro 6.0 程序设计.课件,-11-,2.字段变量字段变量是数据库表文件结构中的数据项。Visual FoxPro 6.0定义了13种类型的字段变量,字段变量是在建立表时定义的,它是一个多值变量,对于不同的记录,字段变量的值是不同的。3.内存变量内存变量是独立于数据库表文件结构之外而存在于内存中的变量,内存变量常用于存储数据处理过程中所需要的常量、中间结果等数据。Visual FoxPro 6.0定义了6种类型内存变量,分别是字符型(C)、数值型(N)、逻辑型(L)、日期型(D)、日期时间型(T)、货币型(Y)。,Visual FoxPro 6.0 程序设计.课件,-12-,4.系统内存变量系统内存变量的作用是控制输出和显示信息的格式的变量。系统内存变量不须用户定义,它是在启动Visual FoxPro 6.0后自动生成和维护。系统内存变量名与一般内存变量有明显的区别,在系统内存变量名前都有一下划线“_”。例如,控制对齐方式的系统内存变量,系统定义的是_ALIGNMENT。需要注意的是:如果内存变量与打开的当前表文件的字段同名时,则字段名优选。若此时要调用同名的内存变量,则必须在变量前加上“M-”或“M.”作为前缀,用以强调这一变量是内存变量。例如,如果在命令窗口中定义的变量与打开的表中的变量使用了同一个名称B,则命令?B,M-B,M.B里的第一个B是表中的字段变量,后两个B都是指的内存变量B。,Visual FoxPro 6.0 程序设计.课件,-13-,2.2.3 内存变量的操作,1内存变量赋值命令(1)STORE命令STORE命令的格式如下:STORE TO|该命令用于计算的值,并将的值赋给内存变量表中的每一个变量。中可以是一个变量,也可以是多个变量,若是多个变量,各变量间用逗号隔开。(2)等号赋值命令等号赋值命令的格式如下:|=该命令用于计算的值,并将的值赋给内存变量。,Visual FoxPro 6.0 程序设计.课件,-14-,【例2-1】给内存变量赋值的示例。在命令窗口输入以下命令:STORE 10 TO X,Y,Z&给变量X、Y、Z赋值A=中国北京&给变量A赋值b1=18&给变量b1赋值b2=b1+10&将28赋值给变量b2M=Visual FoxPro 6.0&给变量M赋值,Visual FoxPro 6.0 程序设计.课件,-15-,2显示表达式的值该命令的格式如下:?/?该命令用于依次计算中表达式的值,并将表达式表的值在屏幕上输出。?号后不加表达式时,输出一个空行。【例2-2】在例2-1的基础上,接着在命令窗口输入以下命令:?A&显示变量A的值?b1+100&显示表达式b1+100的值?&显示空行?X,Y,Z&显示变量X、Y、Z的值,Visual FoxPro 6.0 程序设计.课件,-16-,3内存变量的显示命令显示内存变量命令的格式如下:LIST|DISPLAY MEMORY LIKETO PRINTER|TO FILE 该命令用于显示当前已定义的内存变量名、作用范围、类型和值。LIKE子句表示显示与通配符相匹配的内存变量。TO PRINTER子句表示能将屏幕显示内容输出到打印机。TO FILE 子句表示能将屏幕显示内容存入文件。,Visual FoxPro 6.0 程序设计.课件,-17-,4内存变量的保存与恢复命令在命令窗口定义的内存变量如果需要保存的话,可以保存为扩展名为.mem文件,再次使用时可以从文件中恢复。(1)保存内存变量的命令该将命令窗口定义的内存变量保存到扩展名为.mem的文件中,格式:SAVE TO(2)恢复内存变量的命令该命令用于将扩展名为.mem的文件中存储的变量恢复成内存变量。格式:RESTORE FROM,Visual FoxPro 6.0 程序设计.课件,-18-,5内存变量的清除命令清除内存变量的命令有CLEAR和RELEASE两个。(1)CLEAR命令CLEAR该命令用于清除内存中的所有内存变量,其格式:CLEAR MEMORY|ALL注意:CLEAR命令中的MEMORY或ALL不可省略;如只使用CLEAR,则只清除主窗口显示内容,并没清除内存变量。(2)RELEASE命令该命令用于从内存清除指定的内存变量,其格式如下:RELEASE ALL LIKE|EXCEPT其中,表示指定的内存变量。ALL LIKE子句表示清除所有与通配符相匹配的内存变量。ALL EXCEPT 子句表示清除所有与通配符不匹配的内存变量。,Visual FoxPro 6.0 程序设计.课件,-19-,【例2-3】保存、清除和恢复内存变量的示例。在命令窗口输入以下命令:ay=奥运&给变量ay赋值ab=中国北京&给变量ab赋值SAVE TO MYMEM&将所有内存变量保存到MYMEM.MEM文件中CLEAR MEMORY|&清除所有内存变量?ay,ab&观察结果 RESTORE FROM MYMEM&将MYMEM.MEM中内存变量恢复到内存中?ay,ab&显示所有内存变量的值STORE 北京 TO a1,b,c&给变量a1,b,c赋值RELEASE a1&清除内存变量a1RELEASE all except a*&清除所有不以a开头的内存变量?b,c&观察结果?ay,a1&观察结果RELEASE all like a*&清除所有以a开头的内存变量?ay,a1&观察结果,Visual FoxPro 6.0 程序设计.课件,-20-,2.2.4 数组,数组:是一组有序内存变量的集合。数组中的各个变量称为数组元素,每个数组可以通过数组名和下标来访问。数组必须先定义后使用。1.数组的定义定义数组的格式如下:DIMENSION|DECLARE(,),(,)该命令用于定义一个一维或二维数组,同时定义该数组的下标的上限。定义数组时需要注意以下几点:定义数组时必须指定数组名、数组的维数、数组的大小。系统规定数组的下标的下限是1。在同一运行环境中,数组名不能与简单内存变量同名。在可以使用简单内存变量的地方,均可使用数组元素。数组中各个元素在数组中的位置由下标表示。,Visual FoxPro 6.0 程序设计.课件,-21-,例如,DIMENSION A(3)就定义了一个一维数组A。其中,A含有3个元素(也可称为分量),分别是A(1)、A(2)和A(3);例如,DIMENSION M(2,2)就定义了一个二维数组M。其中,M含有4(22)个元素(也可称为分量),分别是M(1,1)、M(1,2)、M(2,1)和M(2,2),或对应M(1)、M(2)、M(3)、M(4)。注意:使用命令DIMENSION M(2,2)定义好数组M后,其中数组元素就有两种表示形式:第1个数组元素是M(1,1)或M(1)、第2个数组元素是M(1,2)或M(2)、第2个数组元素是M(2,1)或M(3)、第4个数组元素是M(2,2)或M(4)。,Visual FoxPro 6.0 程序设计.课件,-22-,2.数组元素赋值用赋值命令可以对数组元素赋值,也可以对数组中的所有元素赋同一值。数组定义后,数组中各个元素的初始值是.F.。数组中各个元素的取值类型可以互不相同,由它接受的数据的类型所决定。【例2-4】定义数组,给数组元素赋值并显示出数组元素中储存的数据值。在命令窗口输入以下命令:DIMENSION A(5)STORE 8 TO A(1),A(2)A(4)=北京?A(1),A(2),A(3),A(4),A(5)输出结果为:8 8.F.北京.F.,Visual FoxPro 6.0 程序设计.课件,-23-,3.数组与表之间的数据传送(1)表中字段值传输到数组SCATTER FIELDSMEMOTOBLANK该命令将表的当前记录从指定字段表中的第一个字段内容开始,依次复制到数组中的各个数组元素中。如果不使用FIELDS短语指定字段,则复制除备注型M和通用型G之外的全部字段。若选用MEMO短语,则同时复制备注型字段。若选用BLANK短语,则产生一个空数组,各数组元素的类型和大小与表中当前记录的对应字段相同。(2)数组数据传输到表中字段GATHER FROMFIELDSMEMO该命令将数组名中各个数组元素的内容依次复制到表的当前记录中指定的字段中。如果不使用FIELDS短语指定字段,则依次向各个字段复制。如果数组元素个数多于字段数,则多余数组元素的值被忽略。若选用MEMO短语,则复制时包括备注型字段。,Visual FoxPro 6.0 程序设计.课件,-24-,2.3 运算符与表达式,2.3.1 字符串运算符与字符表达式 2.3.2 算术运算符与数值表达式 2.3.3 关系运算符与关系表达式 2.3.4 逻辑运算符与逻辑表达式 2.3.5 日期运算符与日期型表达式,Visual FoxPro 6.0 程序设计.课件,-25-,2.3.1 字符串运算符与字符表达式,1.字符串运算符字符串的运算符有两个:+和-。+(连接)将两个字符串首尾相连组成一个新的字符串。-(连接)将前一个字符串尾部空格移到后一个字符串尾部,然后两字符串再相连组成一个新的字符串。2.字符型表达式字符型表达式是使用字符串运算符将字符型项目连接起来的算式,运算结果也为字符型。字符型表达式的格式为:字符串运算符例如:中国北京+奥运的结果是:中国北京 奥运中国北京-奥运的结果是:中国北京奥运,Visual FoxPro 6.0 程序设计.课件,-26-,2.3.2 算术运算符与数值表达式,1.算术运算符算术运算符有:+、-、*、/、*、求模、括号等。运算符的优先级从高到低排序为:()括号-(负号运算符)*或(乘幂)*、/、%(乘、除、求模)+、-(加、减)。2.数值型表达式数值表达式是数值型变量、常数、函数等由算术运算符连接起来的有用意义的式子。例如,8+4*5/2-32的运算顺序为:先计算32,结果为9;再计算4*5,结果为20;再计算20/2,结果为10;再计算8+10,结果为18;再计算18-9,最后的结果为9。,Visual FoxPro 6.0 程序设计.课件,-27-,2.3.3 关系运算符与关系表达式,1.关系运算符关系运算符有:(大于)、=(大于或等于)、或#(不等于)、$(包含),它们的优先级别相同。2.关系表达式关系表达式是用关系运算符将表达式连接起来的式子。关系表达式的运算结果是逻辑值,当关系成立,结果则为真,否则为假。,Visual FoxPro 6.0 程序设计.课件,-28-,【例2-5】关系运算的示例。在命令窗口输入以下命令:?1015,abc2003/03/15,.t.f.&显示结果是:.T.T.?ab$abd,北京大学$大学&显示结果是:.T.F.?数据库=数据库系统&显示结果是:.F.?数据库=数据库系统&显示结果是:.F.SET EXACT OFF&设置EXACT为OFF后,字符串比较不要求准确一致?数据库系统=数据库&显示结果是:.T.SET EXACT ON&设置EXACT为ON后,字符串比较要求准确一致?数据库系统=数据库&显示结果是:.F.,Visual FoxPro 6.0 程序设计.课件,-29-,2.3.4 逻辑运算符与逻辑表达式,1.逻辑运算符逻辑运算符有 NOT 或!、AND、OR。NOT或!(非):当NOT后所跟表达式为真,执行NOT后为假。AND(与):只有当AND两边表达式都为真,结果才为真,否则为假。OR(或):OR 两边表达式中只要有一个表达式的值为真,则为真;只有两个表达式都为假,逻辑表达式的结果才为假。它们的优先级别从高到低顺序为:NOT或!AND OR逻辑运算符NOT或!、AND、OR的前后可以加“.”,也可以省略。,Visual FoxPro 6.0 程序设计.课件,-30-,2.逻辑表达式逻辑型表达式是由逻辑运算符将关系表达式连接起来的式子。其运算结果仍然是逻辑数据.T.或.F.。逻辑表达式类型有如下几种:.NOT.AND.OR.,Visual FoxPro 6.0 程序设计.课件,-31-,逻辑运算规则,例如,判断某年Year是否为闰年的条件是能被4整除但不能被100整除,或者可以被400整除;其判断表达式如下:Year%4=0.and.Year%100!=0.or.Year%400=0,Visual FoxPro 6.0 程序设计.课件,-32-,2.3.5 日期运算符与日期型表达式,1.日期运算符日期运算符有+(加)和-(减)。+:日期加天数,得到新的日期;日期时间加秒数,得到新的日期时间。-:日期减日期,得到相差的天数;日期减天数,得到新的日期;日期时间减日期时间,得到相差的秒数;日期时间减秒数,得到新的日期时间。2.日期型表达式日期型表达式是使用日期运算符将日期型数据、天数、秒数连接起来的式子,形式有如下四种。(1)+(或-)该表达式的计算结果是一个新的日期。例如,2008/05/01+15的结果是2008/05/16,2008/05/01-15的结果是2008/04/16。,Visual FoxPro 6.0 程序设计.课件,-33-,(2)+(或-)该表达式的运算结果是一个新的日期时间。计算结果得到另一个新的日期时间型。例如,2008/06/01,11:30:45 am+120的结果是2008/06/01,11:32:45 am,2008/06/01,11:30:45 am-120的结果是2008/06/01,11:28:45 am。(3)-该表达式的计算结果是两日期之间相差的天数。例如,表达式2008/05/01-2008/04/15的结果是16,表示两日期相差16天。(4)-该表达式计算得到两日期时间之间相差的秒数。例如,表达式2008/06/01,11:30:45 am-2008/06/01,11:29:45 am的结果是60,表示两日期时间相差60秒。,Visual FoxPro 6.0 程序设计.课件,-34-,2.3.6 运算符优先级,各种类型运算符的优先级从高到低为:算术运算符字符、日期和日期时间运算符关系运算符逻辑运算符【例2-6】逻辑运算的示例。在命令窗口输入以下命令:?.not.t.2008/03/15?821 and abcabcd根据运算符的优先级,上述两行命令的显示结果都是.T.,Visual FoxPro 6.0 程序设计.课件,-35-,2.4 常用函数,2.4.1 字符处理函数 2.4.2 数值运算函数 2.4.3 日期时间函数 2.4.4 数据类型转换函数 2.4.5 测试函数,Visual FoxPro 6.0 程序设计.课件,-36-,函数:是具有特定功能的程序段。函数的使用称为函数调用,它是通过在表达式中使用函数名来实现的。函数的运算结果称为函数值,或称为函数返回值;函数运算时需要输入的数据称为函数的参数。函数的调用格式:函数名(参数列表)函数分类VFP 6.0中的函数分为用户自定义函数和系统函数。用户自定义函数是用户根据程序需要而自己编写的。系统函数是系统已经预先定义好的函数,用户可以直接调用。,Visual FoxPro 6.0 程序设计.课件,-37-,2.4.1 字符处理函数,1字符串长度函数字符串长度的函数的格式如下:LEN()该函数用于测量值的长度,长度即字符个数,的值为空串时,则函数值为0。函数值为N型。例如,?LEN(北京+bj)的显示结果是6;其中1个中文字算2个字符个数,1个英文字符算1个字符个数。2空格函数空格函数的格式如下:SPACE()该函数用于产生值所指定的空格数。例如,表达式青年节+SPACE(4)+放假的运算结果是青年节 放假,Visual FoxPro 6.0 程序设计.课件,-38-,3删除空格函数该函数的格式有如下几种:TRIM()RTRIM()LTRIM()ALLTRIM()其中,TRIM和RTRIM函数功能是删除字符串表达式值的尾部空格;LTRIM函数的功能是删除字符表达式值前面的空格;ALLTRIM函数的功能是删除字符串表达式值前后空格(中间空格不能删除)。它们的函数值为字符型。,Visual FoxPro 6.0 程序设计.课件,-39-,【例2-7】删除空格函数的使用示例。在命令窗口输入以下命令:?LEN(奥运会)?LEN(TRIM(奥运会),LEN(RTRIM(奥运会)?北京+加油?北京+LTRIM(加油)?LEN(加油)?LEN(ALLTRIM(加油)运行结果如下:10 6 6北京 加油北京加油 8 4,Visual FoxPro 6.0 程序设计.课件,-40-,4取子字符串函数取字符串函数的格式如下:SUBSTR(,)该函数在中从起截取若干个字符;若省略或的值大于从起始位置到结束的所有字符个数,则从起始位置起截取到字符串结束的所有字符作为函数值。例如:SUBSTR(“中国”+“上海”,5)的返回值是“上海”;SUBSTR(中国+上海,1,4)的返回值是中国。,Visual FoxPro 6.0 程序设计.课件,-41-,5左取字符、右取字符函数(1)左取字符函数左取字符函数的格式如下:LEFT(,)左取字符函数为取值左边的若干个字符作为函数值。右取字符函数为取值右边的若干个字符作为函数值。(2)右取字符函数右取字符函数的格式如下:RIGHT(,)例如:LEFT(“计算机学院”,6)的返回值是“计算机”;RIGHT(计算机学院,4)的返回值是学院。,Visual FoxPro 6.0 程序设计.课件,-42-,6宏代换函数宏代函数的格式如下:&.&是宏代换函数,用于代换指定的内容。若有可选项,则&代换后的值与后面的的值串连起来,&与后面的之间必须插入一个圆点,这个点叫宏代换的终界符。【例2-8】宏代换的示例。在命令窗口输入以下命令:x=8?&x&显示结果是:8?2000+&x&显示结果是:2008 y=北京奥运?&y.加油&显示结果是:北京奥运加油,Visual FoxPro 6.0 程序设计.课件,-43-,2.4.2 数值运算函数,1绝对值函数该函数返回指定数值表达式的绝对值,其格式如下:ABS()例如,ABS(-5.8)返回5.8。2取整函数该函数用于取数值表达式的整数部分,其格式如下:INT()例如,INT(-5.6*2)返回-11。3符号函数该函数用于判断的符号,该数值为正、零、负数时分别返回1、0、-1,其格式如下:SIGN()例如,SIGN(10/2)返回1;SIGN(5-5)返回0;SIGN(-5.6*2)返回-1。,Visual FoxPro 6.0 程序设计.课件,-44-,4自然指数函数该函数用于求以自然数e为底、以数值表达式的值为指数的指数值,其格式:EXP()例如,EXP(2)表示e的平方。5对数函数对数函数又分为自然函数和常用函数两种.(1)自然对数格式:LOG()用于求的自然对数即以e为底的对数。例如,LOG(2)表示ln2或log2。(2)常用对数格式:LOG10()用于求的以10为底的对数值。例如,LOG10(2)表示log2。,Visual FoxPro 6.0 程序设计.课件,-45-,6平方根函数格式:SQRT()用于求的算术平方根。例如,SQRT(5)表示。7四舍五入函数格式:ROUND(,)该函数对的值进行四舍五入,保留的小数位数由来确定,设为N,当N0时,则保留N位小数,其N+1位小数四舍五入,当N的整数部分从小数点向左的第N位四舍五入,当N=0时,四舍五入取整。例如,ROUND(25.63,2)返回25.6;ROUND(25.63,0)返回26;ROUND(1234.5,-1)返回1230;ROUND(1234.5,-2)返回1200。,Visual FoxPro 6.0 程序设计.课件,-46-,8最大值函数格式:MAX(,)用于求两个的值之较大者,或两个中的最近日期。例如,MAX(25,2*12.3,27)返回27。9最小值函数格式:MIN(,)用于求两个的值之较小者,或两个中的较远日期。例如,MIN(25,2*12.3)返回25。10求余函数(或求模函数)格式:MOD(,)该函数用于求除以的余数,其正负号与相同,不能为0。例如,MOD(8,3)、MOD(8,-3)、MOD(-8,3)和MOD(-8,-3)的返回值分别是2、-1、1和-2。,Visual FoxPro 6.0 程序设计.课件,-47-,11三角函数正弦函数的格式如下:SIN(数值表达式)余弦函数的格式如下:COS(数值表达式)其中,数值表达式的值采用角度的弧度值。12随机函数随即函数用于产生一个01(不等于1)之间的随机数格式:RAND(数值表达式)13求函数该函数用于返回圆周率(数值型)格式:PI()该函数返回值的小数显示位数是默认的,为2位。默认的小数点位数是可以通过命令设置的,格式:Set decimals to 例如,Set decimals to 4 表示设置默认小数点后显示出4位。,Visual FoxPro 6.0 程序设计.课件,-48-,2.4.3 日期时间函数,1系统日期函数用于给出系统当前日期,函数值为日期型数据。格式:DATE()2系统时间函数用于给出系统当前时间,函数值为字符型数据。格式:TIME()3系统日期时间函数用于给出系统当前日期、时间,函数值为日期时间型数据。格式:DATETIME()4年函数用于给出日期型表达式的年份,用四位数字表示,函数值为数值型。格式:YEAR(),Visual FoxPro 6.0 程序设计.课件,-49-,5月函数用于给出日期型表达式的月份,函数值为数值型。格式:MONTH()6日函数用于给出日期型表达式的日数,函数值为数值型。格式:DAY()【例2-9】日期时间函数的示例。在命令窗口输入以下命令:?DATE()&显示系统当前日期?TIME()&显示系统当前时间?DATETIME()&显示系统当前日期、时间?YEAR(2008/06/01)&显示结果是:2008?MONTH(2008/06/01)&显示结果是:6?DAY(2008/06/01)&显示结果是:1,Visual FoxPro 6.0 程序设计.课件,-50-,2.4.4 数据类型转换函数,1数值转字符函数该函数的格式如下:STR(,)用于将的值转换为字符串,由来决定转换后的字符串总长度包括小数位和小数点,由来决定转换后的小数部分字符个数,函数值为字符型。若小于值的整数位数,则函数值为由“*”组成的字符串;若省略,则认为小数位为0;若省略的同时省略,则整数位数默认为10。,Visual FoxPro 6.0 程序设计.课件,-51-,【例2-10】数值转成字符的示例。在命令窗口输入以下命令:B=STR(123.456,6,2)?B&返回123.46,显示结果是:123.46?VARTYPE(B)&VARTYPE用于测试变量的数据类型,显示结果是:C?STR(123.456,2)&返回*,显示结果是:*?STR(123.456)&返回 123,显示结果是:123其中,VARTYPE函数用于测试变量的数据类型,VARTYPE函数的参数是变量。如VARTYPE(B)用于测试变量B的数据类型。,Visual FoxPro 6.0 程序设计.课件,-52-,2字符转数值函数该函数的格式:VAL()用于将所决定的字符串值转换为数值。函数值为数值型。转换从字符串最左边字符开始,如果第一个字符为非数字字符,则函数值为0;若为数字字符,则一直到非数字字符为止。函数值为N型。【例2-11】字符转成数值的示例。在命令窗口输入以下命令:X=VAL(9.63)?X&返回9.63,显示结果是:9.63?VARTYPE(X)&VARTYPE用于测试变量的数据类型,显示结果是:N?VAL(9W.63)&返回9,显示结果是:9.00?VAL(B9.63)&返回0,显示结果是:0.00,Visual FoxPro 6.0 程序设计.课件,-53-,3字符转换为ASCII码函数该函数的格式:ASC()该函数用于返回的值最左边一个字符的ASCII码。函数值为数值型。例如,ASC(“abcd”)返回97。4ASCII码转换为字符该函数的格式:CHR()该函数用于将的值作为ASCII码转换为相应的字符。函数值为字符型。例如,CHR(66)返回B。,Visual FoxPro 6.0 程序设计.课件,-54-,5字符型转换为日期型函数格式:CTOD()该函数用于将的值转换为相应的日期。函数值为日期型。使用一对花括号也能得到CTOD函数相同的作用。例如命令?CTOD(“06/01/2008”)和命令?2008/06/01是等价的。6日期型转换为字符型函数格式:DTOC(,1)用于将的值转换为字符型数据。函数值为字符型。,Visual FoxPro 6.0 程序设计.课件,-55-,【例2-12】字符与日期的相互转换的示例。在命令窗口输入以下命令:A=06/1/08 B=CTOD(A)?TYPE(A),TYPE(B),B X=2008-3-15 Y=DTOC(X)?TYPE(X),TYPE(Y),Y显示结果是:C D 06/01/08 D C 03/15/08其中,TYPE函数用于测试字符串参数代表的变量的数据类型,TYPE函数的参数是字符串。如TYPE(A)测试变量A的数据类型,其功能等同VARTYPE(A)。,Visual FoxPro 6.0 程序设计.课件,-56-,7字符型转换为日期时间型函数格式:CTOT()该函数用于将的值转换为日期时间型。函数值为T型。8日期时间型转换为字符型函数格式:TTOC()该函数用于将的值转换为字符型。函数值为C型。,Visual FoxPro 6.0 程序设计.课件,-57-,2.4.5 测试函数,1测试表文件尾函数格式:EOF()用于测试指定工作区中表文件的记录指针是否指向文件尾,若是,函数值为.T.,否则,函数值为.F.。的值作为工作区号,若省略,则表示当前工作区。2测试表文件首函数格式:BOF()用于测试指定工作区中表文件的记录指针是否指向文件首,若是,函数值为.T.,否则,函数值为.F.。【例2-13】在命令窗口输入以下命令:USE D:exam学生成绩表?EOF()?BOF(),Visual FoxPro 6.0 程序设计.课件,-58-,3测试查找记录是否成功函数格式:FOUND()该函数用于测试指定的表文件检索操作是否成功,如果成功,则函数值为.T.,否则为.F.。工作区号由的值指定,若省略,则表示当前工作区。常用的查找操作命令有:FIND、SEEK、LOCATE。【例2-14】测试查找记录的示例。在命令窗口输入以下命令:USE D:exam学生基本信息表 INDEX ON 性别 TAG XB SEEK 男?FOUND()上述第2行命令查找表中“性别”字段中存储值为“男”的记录;第3行测试记录是否查找成功。,Visual FoxPro 6.0 程序设计.课件,-59-,4条件测试函数格式:IIF()用于测试指定的条件是否成立,条件成立函数的返回值为“表达式1”的值,条件不成立函数的返回值为“表达式2”的值。【例2-15】在命令窗口输入以下命令:A=68 B=86?IIF(AB,A+200,B-200)&最终显示结果为:-114。5测试表文件当前记录号函数格式:RECNO()该函数用于测试指定工作区表文件记录指针的位置。工作区号由的值指定,若省略,则表示当前工作区,若指定工作区无表文件打开,则函数值为0。,Visual FoxPro 6.0 程序设计.课件,-60-,6测试表文件记录数函数格式:RECCOUNT()该函数用于测试指定工作区中表文件的记录数。工作区号由的值指定,若省略,则表示当前工作区,若指定工作区无表文件打开或表文件是只有结构而无记录的空表,则函数值为0。7测试字段数函数格式:FCOUNT()该函数用于测试指定的工作区中表文件的字段数。若指定的工作区无表文件打开,则函数值为0。【例2-16】在命令窗口输入以下命令:USE D:学生基本信息表 INDEX ON 性别 TAG XB?RECNO()?RECCOUNT()?FCOUNT(),Visual FoxPro 6.0 程序设计.课件,-61-,8测试子字符串起始位置函数格式:AT(,,)AT()的函数值为数值型。如果是的子串,则AT()值为值的首字符在值的位置;若不是子串,则返回0。表示要在值中搜索值的第几次出现,其默认值为1。例如,AT(B,ABCDE)的返回结果是2;AT(A,ABCDEASD,2)的返回值是6。9测试表文件路径函数该函数用于获取打开的表文件所在的路径。路径也可称为目录,或称为文件夹。格式:DBF(表别名|工作区)例如,DBF(学生成绩表)是返回测试到的表文件“学生成绩表.dbf”所在的路径。,

    注意事项

    本文(《VisualFoxPro程序设计》第二章数据与数据运算.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开