欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

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

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

    加入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.9999999999×10 +0.9999999999×10 。数值型的变量或字段用来存放一个数量的大小。 3. 整型(Integer) 是不包含小数点及小数部分的数值,用字母I表示。整型变量用于存放整数,其优点在于比其他数值型数据占据的存储空间要小,它只用4个字节,该类型数据指用表中字段存储。,Visual FoxPro 6.0 程序设计.课件,-3-,4. 浮点型(Float) 在功能上完全等价于数值型。之所以出现两个相同功能的数据类型,主要是出于兼容性的考虑。浮点型数据在内存中用8个字节表示,在表中用120个字节表示。浮点型数据的取值范围为-0.9999999999×10+0.9999999999×10。 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赋值给变量b2 M=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 &&清除内存变量a1 RELEASE 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(2×2)个元素(也可称为分量),分别是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,“abc“2003/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 'abc''abcd' 根据运算符的优先级,上述两行命令的显示结果都是.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 程

    注意事项

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

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开