1 / 41

第二章  Visual FoxPro 的数据与数据运算

第二章  Visual FoxPro 的数据与数据运算. 1. 数据类型. 2. 常量与变量. 3. 5. 其他数据存储容器. 常用函数. 4. 运算符与表达式. 目录. 数据类型. VFP 中每一个数据都有一定的类型,数据类型是数据的基本属性,它决定了数据的存储方式和运算方式。 字符型 (Character) 数值型 (Numeric) 货币型 (Currency) 日期型 (Date) 日期时间型 (DateTime) 逻辑型 (Logical). [ Image information in product ]

lindsay
Download Presentation

第二章  Visual FoxPro 的数据与数据运算

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 Visual FoxPro的数据与数据运算

  2. 1 数据类型 2 常量与变量 3 5 其他数据存储容器 常用函数 4 运算符与表达式 目录 Visual FoxPro程序设计

  3. 数据类型 • VFP中每一个数据都有一定的类型,数据类型是数据的基本属性,它决定了数据的存储方式和运算方式。 • 字符型(Character) • 数值型(Numeric) • 货币型(Currency) • 日期型(Date) • 日期时间型(DateTime) • 逻辑型(Logical) • [ Image information in product ] • Image - CD: School life (PhotoDisc) • Note to customers : This image has been licensed to be used within this PowerPoint template only. • You may not extract the image for any other use. Visual FoxPro程序设计

  4. 数据类型 • 双精度型(Double) • 浮点型(Float) • 整型(Integer) • 通用型(General) • 备注型(Memo) Visual FoxPro程序设计

  5. 常量与变量 • 常量 在程序的运行过程中,把需要处理的数据存放在内存储器中,称始终保持不变的数据为“常量”,其值和类型始终保持不变。 • 数值型常量 • 字符型常量 • 逻辑型常量 • 日期型常量和日期时间型常量 • 货币型常量 Visual FoxPro程序设计

  6. 日期型常量的格式 严格的日期格式{^yyyy-mm-dd} 传统的日期格式美国日期格式“mm/dd/yy”(月日年) “mm/dd/yyyy” 日期型常量 Visual FoxPro程序设计

  7. SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | USA | MDY | DMY | YMD 1 SET CENTURY ON/OFF 2 SET MARK TO [日期分隔符] 3 影响日期格式的设置命令 Visual FoxPro程序设计

  8. 变量 • 变量 变量是指在在命令操作或程序的执行过程中其值可以改变的量,Visual FoxPro中的变量可分为内存变量和字段变量两大类,内存变量又包括用户定义的内存变量、数组变量和系统内存变量。 • 一般内存变量 • 数组 • 系统变量 • 字段变量 Visual FoxPro程序设计

  9. 变量 • 变量的作用域包括定义它的过程以及该过程所调用的子过程范围。 • 变量名命名规则 : • 由字母、汉字、数字及下划线组成,不能以数字开头,中文版Visual FoxPro可以汉字开始。 • 长度为1~128个字符,其中每个汉字占两个字符。 • 不能使用Visual FoxPro的保留字。 Visual FoxPro程序设计

  10. 一般内存变量 • 内存变量的赋值 • 格式1:内存变量=表达式 • 格式2:STORE 表达式 TO 内存变量表 • 内存变量的显示输出 • 格式1:DISPLAY|LIST MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>]内存变量=表达式 • 格式2:?[<表达式表>] ??[<表达式表>] • 内存变量的清除 • 格式1:CLEAR MEMORY • 格式2:RELEASE<内存变量名表>[ALL[LIKE|EXCEPT<通配符>]] Visual FoxPro程序设计

  11. 数组 • 数组是—组按照一定顺序排列的内存变量,其中各个内存变量称为数组元素。数组元素用数组名及其在数组中排列位置的下标来表示,下标的个数称为数组的维数。 • VFP只支持一维数组和二维数组。 • 定义数组 命令格式为: DIMENSION|DECLARE数组名(下标1[,下标2])[,数组名(下标1[,下标2])…] • 数组的赋值 Visual FoxPro程序设计

  12. 其他数据存储容器 • 字段、记录和数据表 • 对象 Visual FoxPro程序设计

  13. 算术运算符和算术表达式 字符串运算符和字符串表达式 运算符和表达式 日期运算符和日期表达式 关系运算符和关系表达式 逻辑运算符和逻辑表达式 运算符与表达式 Visual FoxPro程序设计

  14. 算术运算符与算术表达式 • 算术表达式也称数值型表达式,是由算术运算符将数值型数据连接起来的式子,其运算结果仍然是数值型数据。 • 算术运算符的优先级 • 一级:() • 二级:^或**(乘方) • 三级:*(乘),/(除),%(求余) • 四级:+(加),-(减)。 Visual FoxPro程序设计

  15. 字符串运算符和字符串表达式 • 字符表达式是用字符运算符将字符数据连接起来的式子,其运算结果还是字符型。 • 字符运算符有:+,-。 • +:前后两个字符串首尾相连接形成一个新的字符串。 • -:连接前后两个字符串,并将前串的尾部空格移到合并后的新串尾部。 Visual FoxPro程序设计

  16. 日期运算符和日期表达式 • 日期时间表达式中可使用的运算符:+和-。 Visual FoxPro程序设计

  17. 关系运算符和关系表达式 • 关系表达式是由关系运算符连接两个同类数据对象进行关系比较的运算式。其运算结果是逻辑数据。 • 格式:<表达式1>关系运算符<表达式2> Visual FoxPro程序设计

  18. 字符型数据比较 • 单个字符 • 字符串 • 相等比较 • 恒同比较 • 大小比较 • 其他比较 • 字符串精确比较与EXACT设置 Visual FoxPro程序设计

  19. 逻辑运算符和逻辑表达式 • 由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。 Visual FoxPro程序设计

  20. 多种运算符混合表达式 • 优先级依次为:先执行算术运算,字符运算和日期运算,再执行关系运算,最后执行逻辑运算。括号括起来的应优先运算。 Visual FoxPro程序设计

  21. 常用函数 • 函数(Function)是一种能够完成某种特定操作或功能的数据形式。使用函数需要若干参数(自变量),函数的运算结果称为函数值或返回值,函数调用的格式为: 函数名([参数1][,参数2][,…]) Visual FoxPro程序设计

  22. 常用函数 数值处理函数 字符函数 常用函数 日期时间函数 数据类型转换函数 测试函数 Visual FoxPro程序设计

  23. 数值处理函数 • 取整函数 • 格式:INT(<数值型表达式>) • 功能:返回数值型表达式的整数部分 • 四舍五入函数 • 格式:ROUND(<数值型表达式1>,<数值型表达式2>) • 功能:对<数值型表达式1>的值进行四舍五入运算。 • 取绝对值函数和符号函数 • 格式:ABS(<数值型表达式>) SIGN(<数值型表达式>) • 功能:ABS()求指定数值型表达式的绝对值。SIGN()求指定数值型表达式的符号,当表达式运算结果为正、负和零时,函数值分别为1、-1、0。 Visual FoxPro程序设计

  24. 数值处理函数 • 求最大值函数 • 格式:MAX(<数值型表达式1>,<数值型表达式2>[,<数值型表达式3>……]) • 功能:计算各个数值型表达式的值,并返回其中的最大值。 • 求最小值函数 • 格式:MIN(<数值型表达式1>,<数值型表达式2>[,<数值型表达式3>……])功能:计算各个数值型表达式的值,并返回其中的最大值。 • 功能:计算各个数值型表达式的值,并返回其中的最小值。 Visual FoxPro程序设计

  25. 数值处理函数 • 求平方根函数 • 格式:SQRT(<数值型表达式>) • 功能:返回指定数值型表达式的平方根。数值型表达式的值不能为负。 • 求余函数(模函数) • 格式:MOD(<数值型表达式1>,<数值型表达式2>) • 功能:返回数值型表达式1除以数值型表达式2的余数,余数的正负号与除数相同。 Visual FoxPro程序设计

  26. 数值处理函数 • 圆周率函数 • 格式:PI() • 功能:返回圆周率,该函数没有自变量,返回值为数值型。 • 随机函数 • 格式:RAND(<数值表达式>) • 功能:返回0-1之间一个随机数 Visual FoxPro程序设计

  27. 字符函数 • 求字符串长度函数 • 格式:LEN(<字符串表达式>) • 功能:返回指定字符串表达式的长度,即包含字符的个数,一个汉字占2个字节的长度。函数值为数值型 • 求子串位置函数 • 格式:AT(<字符型表达式l>,<字符型表达式2>[,<数值型表达式>]) ATC(<字符型表达式1>,<字符型表达式2>[,<数值型表达式>]) • 功能:AT的函数值为数值型。如果<字符表达式1>是<字符表达式2>的子串,则返回<字符表达式1>值的首字符在<字符表达式2>值中的位置;若不是子串,则返回0。第3个<数值型表达式>用于表明要在<字符表达式2>值中搜索<字符表达式1>值的第几次出现的起始位置,其默认值是1,可缺省。 • ATC与AT的功能类似,但在子串比较时不区分大小写。 Visual FoxPro程序设计

  28. 字符函数 • 空格生成函数 • 格式:SPACE(<数值型表达式>) • 功能:返回由指定数目的空格组成的字符串。 • 求子串函数 • 格式:LEFT(<字符型表达式>,<数值型表达式>) RIGHT(<字符型表达式>,<数值型表达式>) SUBSTR(<字符型表达式>,<数值型表达式1>[,<数值型表达式2>]) • 功能:LEFT在字符型表达式中,从左端截取一个指定长度的子串作为函数值。 RIGHT在字符型表达式中,从右端截取一个指定长度的子串作为函数值。 SUBSTR在字符型表达式中,截取一个子串,起点由数值型表达式1给出;截取字符的个数由数值表达式2给出。如缺省数值型表达式2,将从起点截取到字符型表达式的结尾。 Visual FoxPro程序设计

  29. 字符函数 • 删除前后空格函数 • 格式:TRIM/RTRIM(<字符型表达式>) LTRIM(<字符型表达式>) ALLTRIM(<字符型表达式>) • 功能:TRIM/RTRIM返回指定字符表达式值去掉尾部空格后形成的字符串。 LTRIM返回指定字符表达值去掉前导空格后形成的字符串。 ALLTRIM返回指定字符表达式值去掉前导和尾部空格后形成的字符串。 • 大小写转换函数 • 格式:LOWER(字符型表达式) UPPER(字符型表达式) • 功能:将指定字符串中的大写字母转换为小写字母,其他字符不变。UPPER()将指定字符串中的小写字母转换成大写字母,其他字符不变。 Visual FoxPro程序设计

  30. 字符函数 • 子串替换函数 • 格式:STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>) • 功能:用<字符表达式2>的值替换<字符表达式1>中由<起始位置>和<长度>指明的一个子串。替换和被替换的字符个数不要求相等。如果<长度>值为0,<字符表达式2>则插在由<起始位置>指定的字符前面。如果<字符表达式2>值是空串,那么<字符表达式1>中由<起始位置>和<长度>指明的子串被删去。 Visual FoxPro程序设计

  31. 日期时间函数 • 系统日期和时间函数 • 格式:DATE() TIME() DATETIME() • 功能:DATE()返回系统当前日期,返回值为日期型。默认格式为MM/DD/YY,可通过设置改变为其他格式。TIME()返回系统当前时间,返回值为字符型。以24小时制,hh:mm:ss格式返回。 DATETIME返回当前系统日期时间,函数值为日期时间型。 Visual FoxPro程序设计

  32. 日期时间函数 • 求年份、月份和天数函数 • 格式:YEAR(<日期型表达式>|<日期时间型表达式>) MONTH(<日期型表达式>|<日期时间型表达式>) CMONTH (<日期型表达式>|<日期时间型表达式>) DAY(<日期型表达式>|<日期时间型表达式>) • 功能:YEAR返回日期表达式或日期时间型表达式的年份值,返回值为数值型。MONTH返回日期型表达式或日期时间型表达式的月份值,返回值为数值型。CMONTH返回英文月份,返回值为字符型。DAY返回日期型表达式或日期时间型表达式的日的数值,返回值为数值型。 Visual FoxPro程序设计

  33. 日期时间函数 • 星期函数 • 格式:DOW(<日期型表达式>|<日期时间型表达式>) CDOW(<日期型表达式>|<日期时间型表达式>) • 功能:返回日期型表达式或日期时间型表达式的日号所对应的星期号。CDOW返回英文星期号,返回值为字符型。 Visual FoxPro程序设计

  34. 数据类型转换函数 • 字符串转日期或日期时间函数 • 格式:CTOD(<字符型表达式>) CTOT(<字符型表达式>) • 功能:CTOD将<字符表达式>值转换成日期型数据。 CTOT将<字符表达式>值转换成日期时间型数据。 • 日期或日期时间转字符串函数 • 格式:DTOC(<日期型表达式>|<日期时间型表达式>[,1] TTOC(<日期时间型表达式>[,1]) • 功能:DTOC将日期型数据或日期时间数据的日期部分转换成字符串。TTOC将日期时间数据转换成字符串。 Visual FoxPro程序设计

  35. 数据类型转换函数 • 数值转字符串函数 • 格式:STR(<数值型表达式1>[<,数值型表达式2>[<,数值型表达式3>]]) • 功能:将数值型表达式1代表的实际数值转换为字符串,返回值为字符型。具体功能详见教材。 • 字符串转数值型函数 • 格式:VAL(<字符型表达式>) • 功能:将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据,返回值为数值型。 Visual FoxPro程序设计

  36. 数据类型转换函数 • 字符转ASCII码函数 • 格式:ASC(<字符型表达式>) • 功能:返回字符型表达式中第1个字符的ASCII码,返回值为数值型。 • ASCII码转字符函数 • 格式:CHR(<数值型表达式>) • 功能:将ASCII码转换为相应的字符。返回值为字符型。 Visual FoxPro程序设计

  37. 测试函数 • 表文件头测试函数 • 格式:BOF([<工作区号>|<表别名>]) • 功能:测试当前或指定工作区中数据表的记录指针是否指向文件首,即第1条记录之前。返回值为逻辑型,当指针指向文件首时为.T.。其他情况为.F.。 • 表文件尾测试函数 • 格式:EOF([<工作区号>|<表别名>]) • 功能:测试当前或指定工作区中数据表的记录指针是否指向最后一条记录之后。返回值为逻辑型。当指针指向最后一条记录之后时为.T.,其他情况为.F.。 Visual FoxPro程序设计

  38. 测试函数 • 当前记录号测试函数 • 格式:RECNO([<工作区号>|<表别名>]) • 功能:测试当前或指定工作区中数据表的当前记录号,即记录指针当前指向的记录号。返回值为数值型。 • 记录查找测试函数 • 格式:FOUND([<工作区号>|<表别名>]) • 功能:在用命令LOCATE/CONTINUE、FIND或SEEK后,测试是否查找到满足条件的记录,如果查找到,则返回.T.。 Visual FoxPro程序设计

  39. 测试函数 • 记录个数测试函数 • 格式:RECCOUNT([<工作区号>|<表别名>]) • 功能:测试当前或指定工作区中的数据表记录个数,包含已做逻辑删除的记录。返回值为数值型。 • 工作区号测试函数 • 格式:SELECT([0/1/别名]) • 功能;返回当前工作区号或未使用工作区的最大编号,缺省“0/1/别名”或者选取“0”,返回当前工作区号;选取“1”返回未使用工作区的最大编号。返回值为数值型。 Visual FoxPro程序设计

  40. 测试函数 • 条件测试函数 • 格式:IIF(<逻辑型表达式>,<表达式l>,<表达式2>) • 功能:测试<逻辑型表达式>的逻辑值,如果为.T.,函数返回<表达式1>的值;否则,则返回<表达式2>的值。返回值有多种类型。<表达式1>和<表达式2>的类型不要求相同。该函数可以嵌套使用。 Visual FoxPro程序设计

  41. Thank You

More Related