VisualFoxPRO语言元素.ppt

上传人:sh****n 文档编号:6561777 上传时间:2020-02-29 格式:PPT 页数:83 大小:339.05KB
返回 下载 相关 举报
VisualFoxPRO语言元素.ppt_第1页
第1页 / 共83页
VisualFoxPRO语言元素.ppt_第2页
第2页 / 共83页
VisualFoxPRO语言元素.ppt_第3页
第3页 / 共83页
点击查看更多>>
资源描述
第2章VisualFoxPro语言元素 内容提要 命令语法规则数据类型和文件类型常量与变量运算符与表达式函数 2 1命令语法规则 命令格式 范围 Fields For WHILE 命令中的符号约定 1 广括号中的内容是可选项 2 尖括号中的内容是必选项 3 要求从本符号的左右两项中选择一项 4 命令中的某些部分以类似的方式延续 命令中的短语 1 范围ALL 当前表的全部记录NEXT 从当前记录开始的连续n条记录RECORD 当前表的第n号记录REST 从当前记录开始到最后一条记录2 fields指出要操作的字段3 for或while指出对满足条件的记录进行操作 条件为逻辑表达式 命令规则 任何命令必须以命令动词开头 后面的多个子句与顺序无关 命令行中的命令 短语间必须用空格隔开 各对数间用逗号隔开 命令行中的命令动词可简写前4个字符 命令的最大长度为254个字符 一行写不下时 可用分行符 续行 不区分大小写 VFP没有规定系统保留字 在选择变量名 字段名和文件名时应尽量不使用系统中的动词或其他使用过的名字 2 2数据类型和文件类型 数据类型是数据的基本属性 对数据进行操作时 只有同类型的数据才能进行操作 若对不同类型的数据进行操作系统将判为语法出错 数据类型 13种 1 字符型 Character 通常用于存储键盘输入的文本数据 汉字 字母 数字 空格 符号及标点符号字符型数据必用双引号或单引号或 来定界如 how 1234 中国人 字符型字段的宽度最大为254每个字符占一个字节 一个汉字占2个字节 2 货币型 Currency 保存货币数值时 用货币类型而不是数值类型字段最多保留4位小数位数 多则四舍五入至4位每个货币型数据占8个字节内存变量用 数值来赋初值如 x 999 Type x 3 数值型 Numeric 数值型字段用来存储数值数据 它可以包含数字0 9 也可以带正 负号或小数点如 1234100 89 4 浮点型 Float 浮点型字段在功能上等价于数值型字段 5 日期型 Date 用于存储包含有年 月 日的日期数据长度为8字节日期型数据表示有多种 常用的格式为mm dd yyyy 6 日期时间型 DateTime 用于存储包含有年 月 日 时 分 秒的日期和时间数据 7 双精度型 Double 双精度型用于存储精度要求较高 位数固定的数值 或真正的浮点数值 8 备注型 Memo 用于存储不定长度的文本数据当文本数据长度可能大于254 无法使用字符型存储时 使用备注类型字段所有备注型字段的实际内容存储在和表名相同 扩展名为 FPT的备注文件中 9 通用型 General 通用型用于存储OLE对象数据字段宽度固定为4个字节 用于存储一个4个字节的指针 指向该字段的实际内容其内容存储在扩展名为 FPT的文件中 OLE对象包括电子表格 字处理文档 图像或其他多媒体对象等OLE对象可以用链接方式存储在表中 存储数据的大小 取决于相的OLE服务程序 和磁盘空间大小的限制 10 整型 Integer 整型用于存储整数数据字段宽度固定为4个字节 取值范围从 2147483647到2147483646 11 逻辑型 Logical T 或 Y 为逻辑真 F 或 N 为逻辑假长度固定为1字节 12 字符型 二进 Character Binary 字符型 二进制 用于存储不需要系统代码页维护的字符数据其他字段特性同字符型字段 13 备注型 二进制 Memo Binary 备注型 二进制 用于存储不需要系统代码页维护的备注字段数据 其他字段特性同备注型字段 文件类型 扩展名类型 DBC数据库文件 DCT数据库备注文件 DCX数据库索引文件 BAK备份文件 DBF数据表文件 FPT数据表备注文件 PJX项目文件 PJT项目备注文件 文件格式 盘符 路径 扩展名 常用的文件类型 扩展名类型 PRG源程序文件 FXP源程序编译后的文件 CDX数据表复合索引文件 IDX单一索引文件 SCX表单文件 SCT表单备注文件 SPR为源程序 SPX为目标程序 常用的文件类型 扩展名类型 FRX报表文件 FRT报表备注文件 LBX标签文件 LBT标签备注文件 MNX菜单文件 MNT菜单备注文件 MPR菜单源程序文件 MPX菜单编译文件 常用的文件类型 扩展名类型 QPR生成的查询程序文件 QPX查询程序文件编译后的文件 FMT格式文件 MEM内存变量文件 VUE视图文件 APP应用程序文件 TXT文本文件 EXE可执行应用程序文件 常用的文件类型 一 常量 值始终不变的量 6种 数值型 由小数点 数字 正负号组成长度 20位 含 小数点为半角的字符型由汉字 数字 字母 空格 专用符号组成长度0 254个字符 0为空串 用单引号 双引号 中括号定界逻辑型由 和 组成 或 和 长度 位T F两侧小数点不可以省略 2 3常量与变量 货币型组成同数值小数位 位由 标识例 日期型格式 YYYY MM DD MM DD YYYY 长度8位分隔符 日期时间型格式 YYYY MM DD MM DD YYYY 长度 位 日期格式设置命令 1 setmarkto 日期分隔符 作用 输出日期时分隔符号 减号 小数点 空格 分号 例 setmarkto 2 setdate to American ansi british ymd mdy dmy规定年月日顺序及分隔符号 3 setcenturyon off作用 设置年份的位数on为 位 off为 位 例 date Setmarkto date SetdatetoymdSetmarkto date Setcenturyoff date 二 变量 1 分类 内存变量 普通内存变量 数组 字段变量 2 命名规则 1 由数字 字母 汉字 下划线组成 2 不以数字开头 不可以包含空格 3 长度1 128字符 4 不能使用VFP的保留字 例 4Ff4a1 2adb哪个为非法变量名 3 当前字段变量与内存变量同名时字段变量优先 此时内存变量要以 M 变量名 或 M 变量名 表示 4 变量赋值 格式1 变量名 格式2 storeto变量名1 变量名2例 x 6 5 5 输出内存变量格式 功能 显示一个或多个表达式的值说明 表示换行后显示输出表达式中各表达式的值 表示不换行直接在当前行显示输出表达式表中各表达式的值 正确 正确 错误 store2 3tox y store6 3tox y store6 3tox 6 常用内存变量操作 显示内存变量 ListMemory Like ToPrint ToFile DisplayMemory Like ToPrint ToFile 功能说明 显示当前内存变量的名称 作用域 类型 值等信息 Like子句设置显示符合条件的变量 通配符为 To子句设置将信息同时打印输出或保存到指定文件 格式 连续显示 格式 分屏显示 清除内存变量 ClearMemory Release ReleaseAll Extended ReleaseAll Like Except 功能说明 清除内存变量 释放它们所占用的内存空间 格式 清除所有内存变量 格式 清除指定内存变量 在命令窗口中格式 与格式 功能相同 在程序中需要可选项 格式 中 Like子句清除与通配符匹配的内存变量 而Except子句则清除与通配符不匹配的内存变量 数组变量清除以数组为单位 命令中不能出现数组元素 保存内存变量SaveTo AllLike AllExcept 功能说明 将当前全部 部分内存变量保存到指定内存变量文件 默认扩展名 mem 中 无可选项 保存全部 有可选项 保存指定的 数组变量的保存以数组为单位 不允许只保存数组元素 恢复内存变量RestoreFrom Additive 功能说明 将指定内存文件中保存的内存变量恢复到内存中 无可选项 先清除当前内存变量再恢复 可选项 保留当前变量 文件中的变量追加到内存中 若追加的变量与当前变量同名 当前变量被替换 系统变量变量名以 为首字符 由VFP系统在启动时自动定义 其中保存着系统运行环境参数 应通过系统设置命令或操作修改 而不要随意地直接改变它们 三 数组变量 数组 一组内存变量的集合1 定义数组 dimention 例 dimea 4 b 2 3 数组名 下标的上界 b数组为二维数组 由行和列形式表示的数组元素矩阵 其顺序为a 1 1 a 1 2 a 1 3 a 2 1 a 2 2 a 2 3 说明 1 数组名的命名同内存变量 2 下标的下界为1 3 同一个数组的各个元素数据类型可以不同 4 未赋值的数组元素的数据类型为逻辑型 F 5 每个元素可以通过下标来访问 2 数组的赋值赋值方法同内存变量的赋值如 dimx 3 a 2 3 X 1 10X 2 计算机 A 1 1 world 2 4运算符与表达式 VFP中主要有5类运算符和表达式 算术运算符和算术表达式字符运算符和字符表达式关系运算符和关系表达式逻辑运算符和逻辑表达式日期运算符和日期表达式 1 算术运算符和算术表达式 算术表达式 表达式结果为数值型 是由算术运算符和数值型常数 变量 函数组成 运算结果为数值型数据 算术运算符为 优先次序 括号 函数 乘方 乘除和加减 同级运算从左到右依次进行如 3 6 2 EXP 8 LOG 20 2 5 2 字符串运算符和字符串表达式 字符表达式 表达式结果为字符型 是由字符运算符和字符型常数 即用定界符括起来的字符串 变量 函数组成 运算结果是字符型数据 三种字符串运算 连接 将左串尾部空格移动到连接结果尾部 左串是否为右串的一部分 完全连接运算格式 字符串1 字符串2 功能 将两个字符串连接为一个字符串 例如 THISIS APEN 输出 THISISAPEN完全连接是指两个字符串合并 即包括空格在内的字符串中所有字符相加 不完全连接运算格式 字符串1 字符串2 功能 将两个字符串连接为一个字符串 但是删去字符串1尾部的空格符例如 首都 北京 输出 首都 北京 注 串1尾部的空格移到串1后 包含运算 格式 串1 串2 功能 如串1包含在串2中 表达式的值为真 否则为假 例如 AB ACBTE 结果为假 F AB ABCDE 结果为真 T 注 包含运算是字符串的关系运算关系运算返回的是逻辑值 3 关系运算符和关系表达式 关系表达式 表达式结果为逻辑型 是由关系运算符与字符表达式或数值表达式组成结果是一个逻辑值关系成立结果取真 T 不成立结果取假 F 关系运算符两边的数据类型要一致 同类型 运算符有 或 例 123 100 CH CA 注 字符的比较是ASCII码值的大小空格 0 9 A Z a z 汉字是按机内码值比较的 拼音 比较字符串时 setexacton时将短串尾部加空格补齐再比setexactoff时判断右串是否为左串的一部分 专用于比字符串 是否完全一致 4 逻辑表达式 逻辑表达式 表达式对象和结果为逻辑型 是由逻辑常数 变量和函数用逻辑运算符连接而成条件判断满足结果为真 T 否则结果为假 F 逻辑运算符有三种 AND 逻辑与 且 两都成立才为真 OR 逻辑或 只要有一个成立为真 NOT 或 逻辑非 与原来相反 逻辑运算符的优先级别为 NOTANDOR 例 not 3 5 and3 53 5or5 3 5 日期时间运算符和日期时间表达式日期时间运算符有 表达式对象为D或T类型说明 D D两日期表达式相加 属非法表达式D D两个日期相差的天数D N表示从当前日期往后数N天D N表示从当前日期向前数N天 如 DATE 5DATE 5 运算符的优先顺序 表达式中运算符的优先顺序 由高到低依次为 算术或字符或日期运算 关系运算 逻辑运算相同优先级的运算按从左到右的顺序计算例如 性别 男 AND 职称 副教授 10 3 5 and ab abcde 2 5函数 函数 是用程序来实现的一种数据运算或转换 每一个函数都有特定的数据运算或转换功能 它往往需要若干个自变量 即运算对象 但只能有一个运算结果 称为函数值或返回值 函数可以用函数名和一对圆括号加以调用 自变量放在圆括号里 如LEN x 函数调用可以出现在表达式里 表达式将函数的返回值作为自己运算的对象 函数调用也可作为一条命令使用 但此时系统忽略函数的返回值 本章将常用函数分为数值函数 字符处理函数 日期类函数 数据类型转换函数 测试函数5类 通过举例分别介绍 一 数值函数二 字符函数三 日期时间函数四 数据类型转换函数五 测试函数 常用函数 运算对象和运算结果都是数值 1 绝对值函数格式 ABS 数值表达式 功能 返回指定的数值表达式的绝对值 例如 ABS 10 ABS 5 105 一 数值函数 2 符号函数格式 SIGN 数值表达式 功能 返回指定数值表达式的符号 当表达式的运算结果为正 负和零时 函数值分别为1 1和0 例如 SIGN 10 SIGN 0 SIGN 5 101 3 求平方根函数格式 SQRT 数值表达式 功能 返回指定表达式的平方根 自变量表达式的值不能为负 例如 SQRT 4 24 圆周率函数格式 PI 功能 返回圆周率 数值型 该函数没有自变量 5 求整数函数格式 INT 数值表达式 CEILING 数值表达式 FLOOR 数值表达式 功能 INT 返回指定数值表达式的整数部分 CEILING 返回大于或等于指定数值表达式的最小整数 FLOOR 返回小于或等于指定数值表达式的最大整数 例如 X 5 8 INT X INT X CEILING X 5 56 CEILING X FLOOR X FLOOR X 55 6 6 四舍五入函数ROUND 数值表达式1 数值表达式2 功能 返回指定表达式在指定位置四舍五入后的结果 数值表达式2 指明四舍五入的位置 数值表达式2 0 表示要保留的小数位数 数值表达式2 0 表示整数部分的舍入位数 例如 X 645 345 ROUND X 2 ROUND X 1 ROUND X 0 645 35645 3645 ROUND X 1 650 7 求余数函数格式 MOD 数值表达式1 数值表达式 功能 返回两个数值相除后的余数 说明 数值表达式1 是被除数 数值表达式2 是除数 余数的正负号与除数相同 如果被除数与除数同号 那么函数值即为两数相除的余数 如果被除数与除数异号 则函数值为两数相除的余数再加上除数的值 例如 MOD 10 3 MOD 10 3 1 2 MOD 10 3 MOD 10 3 2 1 8 求最大值和最小值函数MAX 数值表达式1 数值表达式2 MIN 数值表达式1 数值表达式2 功能 MAX 计算各自变量表达式的值 并返回其中的最大值 MIN 计算各自变量表达式的值 并返回其中的最小值 说明 自变量表达式的类型可以是数值型 字符型 货币型 双精度型 浮点型 日期型和日期时间型 但所有表达式的类型必须相同 例如 MIN 8 100 MAX 8 100 1008 MIN 工作 学习 休息 工作 字符函数是指自变量一般是字符型数据的函数 1 求字符串长度函数格式 LEN 字符表达式 功能 返回指定字符表达式值的长度 即所包含的字符个数 函数值为数值型 例如 X book LEN X 4 二字符函数 2 小写转换函数格式 LOWER 字符表达式 功能 将指定表达式值中的大写字母转换成小写字母 其他字符不变 例如 LOWER BOOK LOWER abcDeFg20 bookabcdefg20 3 大写转换函数格式 UPPER 字符表达式 功能 将指定表达式值中的小写字母转换成大写字母 其他字符不变 例如 UPPER work UPPER abcDeFg WORKABCDEFG 4 空格字符串生成函数格式 SPACE 数值表达式 功能 返回由指定数目的空格组成的字符串 例如 FOX SPACE 3 PRO FOXPRO 5 删除前后空格函数格式 TRIM 字符表达式 LTRIM 字符表达式 ALLTRIM 字符表达式 功能 TRIM 返回指定字符表达式值去掉尾部空格后形成的字符串 LTRIM 返回指定字符表达式值去掉前导空格后形成的字符串 ALLIRIM 返回指定字符表达式值去掉前导和尾部空格后形成的字符串 例如 STORESPACE 1 VFP SPACE 3 TOX TRIM X LTRIM X ALLTRIM X VFPVFPVFP LEN X LEN TRIM X LEN LTRIM X LEN ALLTRIM X 7463 6 取子串函数格式 LEFT RIGHT SUBSTR 功能 LEFT 从指定表达式值的左端取一个指定长度的子串作为函数值 RIGHT 从指定表达式值的右端取一个指定长度的子串作为函数值 SUBSTR 从指定表达式的值指定起始位置取指定长度的子串作为函数值 说明 在SUBSTR 函数中 若缺省第三个自变量 长度 则函数从指定位置一直取到最后一个字符 例如 STORE GOODBYE TOX LEFT X 2 SUBSTR X 6 2 SUBSTR X 6 GOBYBYE RIGHT X 3 YE 7 计算子串出现次数函数格式 OCCURE 功能 返回第一个字符串在第二个字符串中出现的次数 函数值为数值型 若第一个字符串不是第一个字符串的子串 函数值为0 例如 STORE abarabcadababcr TOX OCCURE a X OCCURE b X OCCURE c X OCCURE f X OCCURE r X 64202 8 求子串位置函数AT ATC 功能 AT 的函数值为数值型 如果 字符表达式1 是 字符表达式2 的子串 则返回 字符表达式1 值的首字符在 字符表达式2 值中的位置 若不是子串 则返回0 说明 ATC 与AT 功能类似 但在子串比较时不区分字母大小写 第三个自变量 数值表达式 用于表明要在 字符表达式2 值中搜索 字符表达式1 值的第几次出现 其默认值是1 例如 STORE ThisisVisualFoxPro TOx AT pro x ATC fox x 016 AT is x 3 AT xo x 100 9 子串替换函数STUFF 功能 用 字符表达式2 值替换 字符表达式1 中由 起始位置 和 长度 指明的一个子串 说明 替换和被替换的字符个数不一定相等 如果 长度 值是0 字符表达式2 则插在由 起始位置 指定的字符前面 如果 字符表达式2 值是空串 那么 字符表达式1 中由 起始位置 和 长度 指明的子串被删去 例如 STORE GOODBYE TOX1STORE MORNING TOX2 STUFF X1 6 3 X2 STUFF X1 1 4 X2 GOODMORNING MORNINGBYE 10 字符替换函数CHRTRAN 功能 当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时 就用第三个字符串中的对应字符 相同位置 替换这些字符 说明 如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数 因而没有对应字符 那么第一个字符串中相匹配的各字符将被删除 如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数 多余字符被忽略 该函数的自变量是三个字符表达式 例如 x1 CHRTRAN ABACAD ACD X12 y1 CHRTRAN 计算机ABC 计算机 电脑 z1 CHRTRAN 大家好 大家 您 x1 y1 zXBX1X2电脑ABC您好 11 字符串匹配函数LIKE 字符表达式1 字符表达式2 功能 比较两个字符串对应位置上的字符 若所有对应字符都相匹配 则函数返回逻辑真 T 否则返回逻辑假 F 说明 字符表达式1 中可以包含通配符 和 可与任何数目的字符相匹配 可以与任何单个字符相匹配 例如 STORE abc TOXSTORE abcd TOy LIKE ab x LIKE ab y LIKE x y T T F LIKE b x LIKE Abc x T F 三日期和时间函数 日期和时间函数的自变量一般是日期型数据或日期时间型数据 1 系统日期和时间函数格式 DATE TIME DATETIME 功能 DATE 返回当前系统日期 函数值为日期型 TIME 以24小时制 hh mm ss格式返回当前系统时间 函数值为字符型 DATETIME 返回当前系统日期时间 函数值为日期时间型 例如 DATE TIME 08 25 0316 59 05 DATETIME 08 25 0304 59 05PM 2 求年份 月份和天数函数YEAR 日期表达式 日期时间表达式 MONTH 日期表达式 日期时间表达式 DAY 日期表达式 日期时间表达式 功能 YEAR 从指定的日期表达式或日期时间表达式中返回年份 如2003 MONTH 从指定的日期表达式或日期时间表达式中返回月份 DAY 从指定的日期表达式或日期时间表达式中返回月里面的天数 说明 这三个函数的返回值都为数值型 例如 STORE 2001 08 25 TOd YEAR d MONTH d DAY d 2003825 3 时 分和秒函数格式 HOUR 日期时间表达式 MINUTE 日期时间表达式 SEC 日期时间表达式 功能 HOUR 从指定的日期时间表达式中返回小时部分 24小时制 MINUTE 从指定的日期时间表达式中返回分种部分 SEC 从指定的日期时间表达式中返回秒数部分 这三个函数的返回值都为数值型 例如 STORE 2003 08 2504 20 40P TOt HOUR t MINUTE t SEC t 162040 四数据类型转换函数 数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据 1 数值转换成字符串STR 功能 将数值表达式经小数位数和长度的处理后转换为字符串规则 1 舍弃小数位时四舍五入 2 长度多于规定长度时再舍弃小数部分 小数部分全部舍弃后长度仍大于规定长度输出规定长度个 号 3 长度不足规定长度 加前导空格补足 4 小数位数默认为0 长度默认为10 例如 STORE 834 456TOX X STR X 8 3 STR X 6 STR X X 834 456 834 834 STR X 9 2 STR X 6 2 STR X 3 834 46 834 5 2 字符串转换成数值格式 VAL 字符表达式 功能 将字符表达式转换为数值 小数位保留2位 规则 1 遇到非数值位停止转换 前导空格可以忽略 2 首字符非数值 返回0 例如 STORE 6789 TOxSTORE 23 TOySTORE A42 TOz VAL x VAL x y VAL x z VAL z y 6789 6789 23 6789 000 00 3 字符串转换成日期或日期时间格式 CTOD 字符表达式 CTOT 字符表达式 功能 CTOD 将 字符表达式 值转换成日期型数据 CTOT 将 字符表达式 值转换成日期时间型数据 说明 字符串中的日期部分格式要与SETDATETO命令设置的格式一致 其中的年份可以用四位 也可以用两位 如果用两位 则世纪由SETCENTURYTO语句指定 例如 SETDATETOYMDSETCENTURYONSETCENTURYTO19ROLLOVER51d1 CTOD 2003 07 25 t1 CTOT 2003 07 25 TIME d1 t12003 07 252003 07 25 CTOD 50 01 01 10 31 54PM2050 01 01 CTOD 51 01 01 1951 01 01注 SETCENTURYTO语句指定 小于51的两位数年份属于21世纪 19 1 而大于等于51的两位数年份属于20世纪 19 显示日期或日期时间时 用4位数显示年分 4 日期或日期时间转换成字符串格式 DTOC 日期表达式 日期时间表达式 1 TTOC 日期时间表达式 1 功能 DTOC 将日期型数据或日期时间数据的日期部分转换成字符串 TTOC 将日期时间数据转换成字符串 说明 1 字符串中日期部分的格式与SETDATETO语句的设置和SETCENTURYON OFF ON为四位年份 OFF为两位数年份 语句的设置有关 2 时间部分的格式与SETHOURSTO12 24语句的设置有关 3 DTOC 函数 如果使用选项1 则字符串的格式总是YYYYMMDD 共8个字符 对TTOC 来说 如果使用选项1 则字符串的格式总是为YYYYMMDDHHMMSS 采用24小时制 共14个字符 例如 STOREDATETIME TOt t08 25 0310 54 49PM DTOC t DTOC t 08 25 0320030825 TTOC t 08 25 0319 54 49PM TTOC t 1 20030825225449 5 宏替换函数格式 字符型变量 功能 替换出字符型变量的内容 即 的值是变量中的字符串 说明 如果该函数与其后的字符无明确分界 则要用 作函数结束标识 宏替换可以嵌套使用 例如 STORE ZGDA TOXUSE X 相当于USEZGDAXM 姓名 XM 你好 相当于 姓名 你好 张黎黎你好 字段变量姓名的值是张黎黎SKIP 转到下条记录 XM XM 相当于 XM 姓名姓名李艳 五测试函数 在数据处理过程中 有时用户需要了解操作对象的状态 例如 要使用的文件是否存在 数据库的当前记录号 是否到达了文件尾 检索是否成功 某工作区中记录指针所指的当前记录是否有删除标记 数据类型等信息 尤其是在运行应用程序时 常常需要根据测试结果来决定下一步的处理方法或程序走向 1 空值 NULL值 测试函数格式 ISNULL 表达式 功能 判断一个表达式的运算结果是否为NULL值 若是NULL值返回逻辑真 T 否则返回逻辑假 F 例如 STORE NULL TOX X ISNULL X NULL T 2 空 值测试函数格式 EMPTY 表达式 功能 根据指定表达式的运算结果是否为 空 值 返回逻辑真 T 或逻辑假 F 说明 1 这里所指的 空 值与NULL值是两个不同的概念 函数EMPTY NULL 的返回值为逻辑假 F 2 该函数自变量表达式的类型可以是数值型 字符型 逻辑型 日期型等类型 不同类型数据的 空 值 有不同的规定 如表14 1所示 3 数据类型测试函数VARTYPE 表达式 逻辑表达式 功能 测试 表达式 的类型 返回一个大写字母 说明 1 函数值为字符型 字母的含义如表14 2所示 2 若 表达式 是一个数组 则根据第一个数组元素的类型返回字符串 若 表达式 的运算结果是NULL值 则根据 逻辑表达式 值决定是否返回 表达式 的类型 如果 逻辑表达式 值为 T 就返回 表达式 的原数据类型 如果 逻辑表达式 值为 F 或缺省 则返回X以表明 表达式 的运算结果是NULL值 例如 X AAA STORE10TOXSTORE NULL TOYSTORE 100 2TOZ VARTYPE X VARTYPE Y T NC VATRYPE Y VARTYPE Z XY 4 表文件尾测试函数系统对表中的记录是逐条进行处理的 对于一个打开的表文件来说 在某一时刻只能处理一条记录 VFP为每一个打开的表设置了一个内部使用的记录指针 指向正在被操作的记录 该记录称为当前记录 记录指针的作用是标识表的当前记录 最上面的记录是首记录 记为TOP 最下面的记录是尾记录 记为BOTTOM 在第一个记录之前有一个文件起始标识 称为BeginningofFile BOF 在最后一个记录的后面有一个文件结束标识 称为EndofFile EOF 使用测试函数能够得到指针的位置 刚刚打开表时 记录指针总是指向首记录 格式 EOF 工作区号 表别名 功能 测试指定表文件中的记录指针是否指向文件尾 则是返回逻辑真 T 否则返回逻辑假 F 说明 表文件尾是指最后一条记录的后面位置 若缺省自变量 则测试当前表文件 若在指定工作区上没有打开表文件 函数返回逻辑假 F 若表文件中不包含任何记录 函数返回逻辑真 T 例如 USEZGDAGOBOTTOM EOF F SKIP EOF EOF 2 2号工作区没有打开表 T F 5 表文件首测试函数格式 BOF 工作区号 表别名 功能 测试当前表文件 若缺省自变量 或指定表文件中的记录指针是否指向文件首 若是返回逻辑真 T 否则返回逻辑假 F 说明 表文件首是指第一条记录的前面位置 若指定工作区上没有打开表文件 函数返回逻辑假 F 若表文件中不包含任何记录 函数返回逻辑真 T 6 记录号测试函数格式 RECNO 工作区号 表别名 功能 返回当前表文件 若缺省自变量 或指定表文件中当前记录 记录指针所指记录 的记录号 说明 如果指定工作区上没有打开表文件 函数值为0 如果记录指针指向文件尾 函数值为表文件中的记录数加1 如果记录指针指向文件首 函数值为表文件中第一条记录的记录号 7 记录个数测试函数格式 RECCOUNT 工作区号 表别名 功能 返回当前表文件 若缺省自变量 或指定表文件中的记录个数 如果指定工作区上没有打开表文件 函数值为0 说明 该函数返回的是表文件中物理上存在的记录个数 不管记录是否被逻辑删除以及SETDELETED的状态如何 也不管记录是否被过滤 SETFILTER 该函数都会把他们考虑在内 例如 USEZGDA 假定表中有8条记录 BOF RECNO F 1SKIP 1 BOF RECNO T 1GOBOTTOM EOF RECNO F 8SKIP EOF RECNO RECCOUNT T 98 8 条件测试函数格式 IIF 功能 测试 逻辑表达式 的值 若为逻辑真 T 函数返回 表达式1 的值 若为逻辑假 F 函数返回 表达式2 的值 说明 和 表达式2 的类型不要求相同 例如 X 100Y 300 IIF X 100 X 50 X 50 IIF Y 100 Y 50 Y 50 150250SETCENTURYONSTOREDATE TODSTOREDTOC D TOX X IIF LEN X 8 这是两位数年份 年份是 STR YEAR D 4 08 25 2003年份是 2003 9 记录删除测试函数格式 DELETED 表的别名 工作区号 功能 测试指定的表 或在指定工作区中所打开的表 记录指针所指的当前记录是否有删除标记 若有为真 否则为假 若缺省自变量 则测试当前工作区中所打开的表 例如 SELECT0 选择最小号空闲工作区USEZGDA 打开职工表DELETEFOR性别 女 AND职称 助教 LIST姓名 性别FORDELETED 记录号 姓名性别1 张黎黎女2 李艳女 10 值域测试函数格式 BETWEEN 功能 判断表达式1的值是否 表达式2 并且 表达式3说明 3个表达式类型要求一致例 between 12 1 46 T
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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