徐春 南京金启航教育培训中心 TEL: QQ:

Slides:



Advertisements
Similar presentations
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
Advertisements

3.1 表的建立 教学内容 :一、建立表结构 ; 二、输入数据. 重点 :建立表 难点 :建立表.
10.2.switch语句.
FoxPro数据库系统 基本知识.
Visual FoxPro 程序设计 河南财专信息工程系 2017/3/8 1.
(第11讲) Mysql 简介和创建新的数据库 本讲大纲: 1、MYSQL简介与概要 2、访问MYSQL的几种途径
小学生游戏.
不确定度的传递与合成 间接测量结果不确定度的评估
本章介绍Visual FoxPro 6.0的系统特性、集成环境及配置方法及常用命令的基本语法规则。
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
C语言高级编程(第四部分) 字符串 北京大学 信息科学技术学院.
2.5 字符串.
第三章 数据库和表的操作.
第三讲 一.VFP中表达式、常量、变量 二.变量与数组操作 三.函数与函数操作 2018/11/27 中国医科大学计算机中心 徐东雨讲师.
Visual Foxpro程序设计 第三章 VisualFoxpro中的数据 123.
Visual Basic程序设计基础 教师: 丁 鹏 联系电话:
走进编程 程序的顺序结构(二).
元素替换法 ——行列式按行(列)展开(推论)
Visual Basic程序设计基础 教师:夏学梅 电话:
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Visual Basic 程序设计 第3章 BASIC 语言基础
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
Visual Basic程序设计.
C语言程序设计基础 刘新国.
第二章 Java语言基础.
第二章 数据类型、运算符与表达式.
表达式与函数.
第一章 函数与极限.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第一单元 我的软件我来装 制作者 臧红启.
Visual Basic 程序设计教程.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
第12章 字符串处理.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
Visual Basic程序设计 第13章 访问数据库
学习目标 1、了解基本运算符 2、运算符优先级.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
第二章 Java基本语法 讲师:复凡.
期末复习.
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
第四章 串 String
复习 标签(label)、文本框(text)控件 按钮:点击事件
第三章 VB语言基础 3.1 数据类型 3.2 常量与变量 3.3 运算符与表达式 3.4 常用内部函数 本章目录.
基本知识 数据类型、变量、常量、运算符.
VB与Access数据库的连接.
数据表示 第 2 讲.
鸡兔同笼(续) ——选择结构.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
复习 界面介绍 工作簿 工作表 单元格 删除 添加 改名 移动 美化 内容修改 文字设置 边框设置 背景色设置 单元格对齐 单元格合并
数的简单处理 ——顺序结构、变量、数据类型、运算符
第4章 数据查询.
VFP的基本数据运算(一).
§4.5 最大公因式的矩阵求法( Ⅱ ).
顺序结构程序设计 ——关于“字符串”和数值.
第二章 Visual FoxPro语言基础 本章教学要求:掌握数Visual FoxPro数据类型、变量、表达式的基本概念和用法, Visual FoxPro常用命令和函数的基本使用方法,自定义函数和过程 定义和使用。 2 .1 Visual FoxPro的数据类型 2 .2 常量和变量 2 .3 数组.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

徐春 南京金启航教育培训中心 E_mail:xuchun2006@126.com TEL:13605146298 QQ:503682783 第三章 数据与数据运算 徐春 南京金启航教育培训中心 E_mail:xuchun2006@126.com TEL:13605146298 QQ:503682783

考纲分析 2011年9月:选择2分(left、right及substr函数);填空6分(SET CENTURY ON、数组及表达式) 2011年3月:选择2分(%求余);填空4分(EMPTY()函数、”-“ 2010年9月:选择4分(SET CENTURY ON、定界符);填空4分(.AND.、IIF函数)

3.1 VFP数据类型 1.字符型:字母、数字、空格、符号等构成,其长度范围:0~254。C表示 2.数值型:数值型、浮点型、双精度型、整型。 3.货币型:Y表示 4.日期型:D表示。格式:mm/dd/yyyy 5.日期时间型:T表示 6.逻辑型:.T.和.F. 7.备注型 8.通用型

? “abc”,‘abc’,[abc] &&结果为abc abc abc 3.2 常量与变量 3.2.1常量 1.数值常量:科学计数法(4.5E-12的值为4.5*10-12) 2.货币常量 3.字符常量:三个定界符(’’,””,[])(常考) 4.日期型常量:用{^}来表示 5.日期时间型常量 6.逻辑型常量:.T.或.F. 占1个字节 ? “abc”,‘abc’,[abc] &&结果为abc abc abc set century on ? date() &&结果为12/10/2011 SET CENTURY ON 设置4位数据年份(常考) SET MARK TO 恢复系统默认的斜杠日期分隔符年份 SET DATE TO YMD 设置年月日格式

● <内存变量>=<表达式> ●STORE <表达式> TO <内存变量> 3.数组(考过) a=10 ? a &&结果为10 STORE 10+1 TO b ? b &&结果为11 3.2.2变量 1.字段变量 指数据库表中定义的所有字段。 2.内存变量 变量赋值: ● <内存变量>=<表达式> ●STORE <表达式> TO <内存变量> 3.数组(考过) 数组声明: DIMENSION <数组名>(<下标上限1>[,<小标上限2>])[…] DECLARE <数组名>(<下标上限1>[,<小标上限2>])[…] 注意:数组声明后,系统自动给每个数组元素赋以逻辑值.F. DIMENSION A(4) ? A(1) &&结果为.F.

格式1:STORE <表达式> TO <变量名表> 格式2:<内存变量名>=<表达式> 3.2.3内存变量常用命令 1.内存变量的赋值 格式1:STORE <表达式> TO <变量名表> 格式2:<内存变量名>=<表达式> 功能说明:计算表达式并将表达式值赋予一个或多个内存变量,其中格式2只能给一个变量赋值。 2.表达式值的显示 格式1:?[<表达式>] 格式2:??[<表达式>] 功能说明:计算表达式并输出各表达式值。?<表达式>值在下一行输出;??<表达式>值在本行输出。 ? "a" ?? “b“ 显示结果ab ? “a” ? “b”显示结果为 a b

●LIST MEMORY [LIKE<通配符>][TO PRINTER|TO FILE <文件名>] store "H" TO x1 store "i" to x2 display memory like x* &&结果为 3.显示内存变量 ●LIST MEMORY [LIKE<通配符>][TO PRINTER|TO FILE <文件名>] ●DISPLAY MEMORY [LIKE<通配符>][TO PRINTER|TO FILE <文件名>] 功能:显示内存变量的当前信息,包括变量名、作用域、类型和取值。 4.清除内存变量(考过) ●CLEAR MEMORY ● RELEASE <内存变量名> ● RELEASE ALL [EXTENDED] ● RELEASE ALL [LIKE<通配符>[EXCEPT<通配符>] RELEASE X1,X2 RELEASE ALL LIKE A*

5.表中数据域数组数据之间的交换 1)将表的当前记录复制到数组 ●SCATTER [FIELDS <字段名表>][MEMO] TO <数组名>|BLANK] ●SCATTER [FIELDS LIKE <通配符>|FIELDS EXCEPT <通配符>][MEMO] 2)将数组数据复制到表的当前记录 ●GATHER FROM <数组名>[FIELDS <字段名表>][MEMO] ●GATHER FROM <数组名>[FIELDS LIKE<通配符>|FIELDS EXCEPT <通配符>][MEMO]

3.3 表达式 3.3.1数值、字符与日期时间表达式 1.数值表达式 1)算术运算符优先级 优先级 运算符 说明 1 () 形成表达式内的子表达式 2 **或^ 乘方运算 3 *、/、% 乘、除、求余运算 4 +、- 加、减运算

2)求余运算 求余运算、取余函数MOD()的作用。余数的正负号与除数一致。如果被除数与除数同号,那么函数即为两数相除的余数;如果被除数与除数异号,则余数为两数相除的余数加上除数的值。 举例: ? 10%3 &&结果为1 ? 10%-3 &&结果为-2 ? -10%3 &&结果为2 ? -10%-3 &&结果为-1

+:前后两个字符串首尾连接形成一个新的字符串。 -:连接前后两个字符串,并将前字符串的尾部空格移到黑合并后的新字符串尾部。 ?“计算机 ”+“等级考试“ &&结果为”计算机 等级考试“ ?“计算机 ”-“等级考试“ &&结果为”计算机等级考试 “ 2.字符型表达式 字符运算符: +:前后两个字符串首尾连接形成一个新的字符串。 -:连接前后两个字符串,并将前字符串的尾部空格移到黑合并后的新字符串尾部。 3.日期时间表达式 日期+天数、日期-日期、日期-天数 举例: ?{^2011-12-10}-8 &&结果为:12/02/2011 ?{^2011-12-10}+8 &&结果为:12/18/2011 ?{^2011-12-10}- {^2011-12-4}- &&结果为:6

3.3.2关系表达式 1.关系表达式 运算符 说明 < 小于 <= 小于或等于 > 大于 >= 大于或等于 = 等于 == 字符串精确比较 <>、#、!= 不等于 $ 子串包含测试

2.设置字符的排序次序 3.字符串精确比较与EXACT设置 ==:比较两个字符串时,只有当两个字符串完全相同时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。 =:比较字符串时,运算结果与SET EXACT ON/OFF设置有关,该命令是设置精确匹配与否的开关。OFF:字符串比较以右边的字符串为目标,右字符串结束即终止比较。ON:字符串的比较运算将进行到两个字符串全部结束为止,先在较短字符串的尾部加上若干个空格,使两个字符串的长度相等,然后再进行比较。 注意:在SET EXACT ON状态下,“=”与“==”等价。 SET EXACT OFF状态下,右边是左边子串即为.T.。

3.3.3 逻辑表达式 1..NOT. 逻辑非 .AND. 逻辑与 .OR. 逻辑或 ? .T..AND. .T. &&显示结果.T. ? .T. .OR. .F. &&显示结果.T. 2.运算符优先级 算术>关系>逻辑 ? 8>3 .AND. 9<4 &&显示结果.F.

3.4 常用函数 3.4.1数值函数 1.ABS()函数 格式:ABS(<数值表达式>) STORE 100 TO X ? ABS(20-X),ABS(X-20) &&结果为5 5 ? ABS(7-2*4) &&结果为1 ? ABS(-50) &&结果为50 3.4.1数值函数 1.ABS()函数 格式:ABS(<数值表达式>) 功能:ABS()函数返回指定的表达式的绝对值。 2.SIGN()函数 格式:SIGN(<数值表达式>) 功能:SIGN()函数返回指定数值表达式的符号。当表达式的运算结果为正、负和0时,函数值分别胃1,-1,0。 ?SIGN(12),SIGN(-34),SIGN(0) &&结果为:1,-1,0

格式:SQRT(<数值表达式>) 功能:SQRT()函数返回数值表达式的平方根。 4.PI()函数 格式:PI() STORE 2.30 TO A STORE PI()*A^2 TO B ? B &&结果为 16.6190

格式:INT(<数值表达式>) 功能:INT()函数返回数值表达式的整数部分。 6.CELING()函数 STORE 5.7 TO X ? INT(X),INT(-X) &结果为 5 5 5.INT()函数 格式:INT(<数值表达式>) 功能:INT()函数返回数值表达式的整数部分。 6.CELING()函数 格式:CELING(<数值表达式>) 功能:CELING()函数返回大于或等于数值表达式的最小整数。 STORE 5.7 TO X ? CEILING(X),CEILING(-X) &&结果为6 -5

格式:FLOOR(<数值表达式>) 功能:FLOOR()函数返回小于或等于数值表达式的最大整数。 8.ROUND()函数 STORT 5.7 TO X ?FLOOR(X),FLOOR(-X) &&结果为 5 -6 7.FLOOR()函数 格式:FLOOR(<数值表达式>) 功能:FLOOR()函数返回小于或等于数值表达式的最大整数。 8.ROUND()函数 格式:ROUND(<数值表达式1>,<数值表达式2>) 功能:ROUND()函数返回数据表达式在指定位置四舍五入后的结果。<数值表达式2>表示四舍五入的位置。如果<数值表达式2>大于或等于0,那么它表示的是要保留的小数位数;如果<数值表达式2>小于0,那么它表示的是整数部分的舍入位数。 X=876.456 ? ROUNT(X,2),ROUND(X,1),ROUND(X,0)ROUND(X,-1) &&结果为 876.46 876.5 876 880

格式:MOD(<数值表达式1>,<数值表达式2>) 10.MAX()函数 格式:MAX(<数值表达式1>,<数值表达式2>…) 功能:MAX()函数返回数值表达式中的最大表达式。 ? MAX(“2”,”37”,”7”) && 结果为37

11.MIN()函数 格式:MIN(<数值表达式1>[,<数值表达式2>]…) 功能:MIN()函数返回表达式中的最小表达式。 举例: ? MIN(“2”,”34”,”7”) &&结果为34 ? MIN(3.72,INT(2.72)) &&结果为2

? LOWER(“ABC”) &&结果为 “abc” ? LEN(“计算机等级考试”) &&结果为14 3.4.2字符函数 1.LEN()函数 格式:LEN(<字符表达式>) 功能:LEN()函数返回字符表达式值的长度,函数值为数值型。 2.LOWER()函数 格式:LOWER(<字符表达式>) 功能:LOWER()函数将表达式中的大写字母转换成小写字母,其他字符不变。 ? LOWER(“ABC”) &&结果为 “abc”

? UPPER(“abc”) &&结果为“ABC” 4.SPACE()函数 格式:SPACE(<数值表达式>) 功能:SPACE()函数生成指定空格数的空字符。 ? “计算机”+SPACE(3)+”等级考试” &&结果为 “计算机 等级考试“

? TRIM(“计算机 ”)+“等级考试“ &&结果为”计算机等级考试“ 6.LTRIM()函数 格式:LTRIM(<字符表达式>) 功能:LTRIM()函数删除<字符表达式>串前空格字符。 ? “计算机”+LTRIM(“ 等级考试”) &&结果为”计算机等级考试“

? ALLTRIM(“ 计算机 ”)+“等级考试“ &&结果为”计算机等级考试“ 8.LEFT()函数(常考) 格式:LEFT(<字符表达式>,<长度>) 功能:LEFT()函数从字符表达式值的左端取一个指定长度的字串作为函数值。 ? LEFT(“abcde”,3) &&结果为”abc“

格式:RIGHT(<字符表达式>,<长度>) ? RIGHT(“abcde”,3) &&结果为”cde“ 9.RIGHT()函数(常考) 格式:RIGHT(<字符表达式>,<长度>) 功能:RIGHT()函数从字符表达式值的右端取一个指定长度的字串作为函数值。 10.SUBSTR()函数(常考) 格式:SUBSTR(<字符表达式>,<长度>) 功能:SUBSTR()函数从表达式值的起始位置取一个指定长度的字串作为函数值。 ? SUBSTR(“abcde”,2,3) &&结果为”bcd“

格式:OCCURS(<字符串表达式1>,<字符串表达式2>) ? OCCURS(“O”,“STOP DOG”) &&结果为2 ? OCCURS(“A”,“STOP DOG”) &&结果为0 11.OCCURS()函数(区分大小写) 格式:OCCURS(<字符串表达式1>,<字符串表达式2>) 功能:OCCURS()函数返回第一个字符在第二个字符串中出现的次数,如果第一个字符串不是第一个字符串的字串,则函数数值为0。 12.AT()函数 格式:AT(<字符串表达式1>,<字符串表达式2>[,<数值表达式>]) 功能:AT()函数返回<字符串表达式1 >值的首字符在<字符串表达式2>值中的值;若不是字串则返回0。ATC()不区分大小写。 ? AT(“fox”,“Visual FoxPro”) &&结果为0 ? ATC(“fox”,“Visual FoxPro”) &&结果为8

格式:STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>) ? STUFF(“network”,3,1,“abc”) &&结果为”neabcwork“ 13.STUFF()函数 格式:STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>) 功能:STUFF()函数用<字符表达式2>串替换<字符表达式1>串中由<起始位置>和<长度>指明的一个字串。 14.CHRTRAN()函数 格式:CHRTRN(<字符表达式1>,<字符表达式2>,<字符表达式3>) 功能:CHRTRAN()函数将ASCII转化为相应的字符,函数返回值为字符型。 ? CHRTRAN(“大家好”,“大家”,“您”) &&结果为”您好“

15.LIKE()函数 格式:LIKE(<字符表达式1>,<字符表达式2>) 功能:LIKE()函数比较两个字符串对应位置上的字符,如果所有对应字符都相匹配,函数返回逻辑值真(.T.),否则返回逻辑值假(.F.)。 举例: ? LIKE(“AB*”,”abcd”) &&结果为.T. ? LIKE("ab?","abcd") &&结果为.F. 注意:<字符表达式1>中可以包含通配符”*“和”与“?“,”*”可与任何数目的字符相匹配,“?”可以与任何单个字体相匹配。

功能:DATE()函数返回当前系统日期,函数值为日期型。 2.TIME()函数 格式:TIME() 3.4.3日期时间函数 1.DATE()函数 格式:DATE() 功能:DATE()函数返回当前系统日期,函数值为日期型。 2.TIME()函数 格式:TIME() 功能:TIME()函数以24小时制,hh:mm:ss格式返回当前系统时间,函数值为字符型。 ? TIME() &&结果为 23:34:00

? DATETIME() &&结果为12/09/11 23:36:00 PM 4.DOW()函数 格式:DOW(<dExp>)|CDOW (<dExp>) 功能:DOW()函数返回日期表达式或日期时间表达式返回的该日期是一周的第几天,用1~7表示星期日~星期六。函数值为数值型,CDOW()函数返回日期表达式或日期时间表达式中星期的应为名称,函数型为字符型。 ? DOW(date()) &&结果为6 ? CDOW(date()) &&结果为Friday

格式:YEAR(<日期表达式>|<日期时间表达式>) ?YEAR(date()) &&结果为2011 5.YEAR()函数 格式:YEAR(<日期表达式>|<日期时间表达式>) 功能:YEAR()函数从指定的日期表达式或日期时间表达式中返回年份。 6.MONTH()函数 格式:MONTH(<日期表达式>|<日期时间表达式>) 功能:MONTH()从指定的日期表达式或日期时间表达式中返回月份。 ? MONTH(date()) &&结果为12

? HOUR(datetime()) &&结果为23 ? DAY(date()) &&结果为9 7.DAY()函数 格式:DAY(<日期表达式>|<日期表达式>) 功能:DAY()从指定的日期或日期时间表达式中返回月份中的天数。 8.HOUR()函数 格式:HOUR(<日期时间表达式>) 功能:HOUR()从日期函数表达式中返回小时部分(24小时制)。 ? HOUR(datetime()) &&结果为23

格式:MINUTE(<日期时间表达式>) 功能:MINUTE()从日期时间表达式中返回分钟部分。 10.SEC()函数 ? MINUTE(datetime()) &&结果为 43 9.MINUTE()函数 格式:MINUTE(<日期时间表达式>) 功能:MINUTE()从日期时间表达式中返回分钟部分。 10.SEC()函数 格式:SEC(<日期时间表达式>) 功能:SEC()从日期时间表达式中返回秒数部分。 ? SEC(datetime()) &&结果为37

格式:STR(<数值表达式>[,<长度>[,<小数位数>]]) 3.4.4 数据类型转换函数 1.STR()函数 格式:STR(<数值表达式>[,<长度>[,<小数位数>]]) 功能:STR()将<数值表达式>按设定的<长度>和<小数位数>转换成字符型数据,函数返回值为字符型。 注意:如果<长度>值大于L,则字符串加前导空格以满足规定的<长度>要求;如果<长度>值大于或等于数值表达式值的整数部分(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;如果<长度>值小于<数值表达式>值的整数部分位数,则返回一串星号(*)。<小数位数>的默认值为0,<长度>的默认值为10. 2.VAL()函数 格式:VAL (<字符表达式>) 功能:VAL ()函数将数值字符串转换为数值。 注意:如果字符串内出现非数字字符,那么只转换前面部分;如果字符串的首字符不是数字符号,则返回数值0,但忽略前导空格。 ? VAL(“123”) &&结果为123.00 ? VAL("1A3") &&结果为1.00 ? VAL(“A3”) &&结果为0.00

格式: CTOD(<字符表达式>) 功能: CTOD()函数将“mm/dd/yy”格式的<字符表达式> 4.DTOC()函数 格式:DTOC(<日期表达式>|<日期时间表达式>[,1]) 功能:DTOC()将<日期表达式>转换成相应的字符串,函数返回值类型为字符型。TTOC()函数将日期时间数据转换成字符串。 ? DTOC({^2011/12/09}) &&结果为12/09/11

替换的作用相当于去除了字符串的定界符;如果宏替换后面还有非空格字符串,则以“.”表示变量结束,并将宏替换结果的值与字符串的值连接起来。 5.宏替换函数 格式:&<字符型变量>[,] 功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与后面的字符无明确分界,则要用“.”作为函数结束标识,宏替换可以嵌套使用。 举例: STORE “职工” TO DB USE &DB XM=“姓名” ? &XM-”你好!” SKIP ? XM,&XM 替换的作用相当于去除了字符串的定界符;如果宏替换后面还有非空格字符串,则以“.”表示变量结束,并将宏替换结果的值与字符串的值连接起来。

格式:BETWEEN(<表达式T>,<表达式L>,<表达式H>) 3.4.5 测试函数 1.BETWEEN()函数 格式:BETWEEN(<表达式T>,<表达式L>,<表达式H>) 功能:BETWEEN()判断一个表达式的值是否在另外两个表达式的值之间。当<表达式T>值大于或等于<表达式L>值且小于或等于 <表达式H>值时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。如果<表达式L>或<表达式H>有一个是NULL值,则函数值也是NULL值。 2.ISNULL()函数 格式:ISNULL(<表达式>) 功能: ISNULL()判断一个表达式的运算结果是否为.NULL.值,如果是.NULL.值,则返回逻辑真(.T.),否则返回逻辑值假(.F.)。 STORE .NULL. TO X ?X,ISNULL(X) &&结果为.NULL. .T.

格式:EMPTY(<表达式>) ? EMPTY(NULL) &&结果为.F. 3.EMPTY()函数 格式:EMPTY(<表达式>) 功能:EMPTY()函数根据表达式的运算结果是否为“空”值返回逻辑真(.T.)或逻辑假(.F.)。 注意:“空”值与NULL值是两个不同的概念。函数EMPTY(.NULL.)返回值为逻辑假(.F.)。 4.VARTYPE()函数 格式:VARTYPE(<表达式>,<逻辑表达式>) 功能:VARTYPE()测试<表达式>的数据类型,返回一个大写字母,函数值为字符型。 如果<表达式>是一个数组,则根据第一个数组元素的类型返回字符串;如果<表达式>的运算结果是NULL值,则根据<逻辑表达式>值决定是否返回<表达式>的类型;如果<逻辑表达式>值为.T.,就返回<表达式>的原数据类型;如果<逻辑表达式>值为.F.或省略,则返回X以表明<表达式>的运算结果是NULL的值。 ? VARTYPE(10) &&结果为N

5.EOF()函数 格式:EOF([<工作区>|<表别名>]) 功能:测试记录指针是否指向文件尾,如果是则返回逻辑真(.T.),否则返回逻辑假(.F.)。表文件尾是指最后一条记录的后面位置。如果省略自变量,则测试当前的表文件。 注意:如果在指定工作区上没有打开表文件,EOF函数逻辑假,如果表文件刚打开时,记录指针总是指向首记录。 6.BOF()函数 格式:BOF([<工作区>|<表别名>]) 功能:测试当前表文件中的记录指针是否指向文件首,如果是则返回逻辑真(.T.),否则返回逻辑假(.F.),表文件首是指第一条记录的前面位置。 注意:如果指定工作区上没有打开表文件,BOF函数返回逻辑假;如果表文件中不包含任何记录,BOF函数返回逻辑真。

7.RECNO()函数 格式:RECNO([<工作区>|<表别名>]) 功能:RECNO()返回当前表文件中当前记录的记录号。如果指定工作区上没有打开表文件,则函数值为0;如果记录指针指向文件尾,函数值为表文件中的记录数加1;如果记录指针指向文件首,函数值为表文件中的第一条记录的记录号。 8.RECCOUNT()函数 格式:RECCOUNT ([<工作区>|<表别名>]) 功能:返回当前表文件中的记录个数,如果指定工作区上没有打开表文件,则函数值为0。 注意:RECCOUNT()函数返回的是表文件中物理上存在的记录个数。不管记录是否逻辑删除及SET DELETED的状态如何,也不管记录是否过滤(SET FILTER),该函数都会把他们考虑在内。

格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>) x=100 y=300 ? IIF(X>Y,X-50,X+50) &&结果为150 9.IIF()函数(该函数常考) 格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>) 功能:IIF()函数测试<逻辑表达式>的值,如果为逻辑真(.T.),则函数返回<表达式1>的值;如果为逻辑假(.F.),则函数返回<表达式2>的值 10.DELETED()函数 格式:DELETED([<工作区>|<表别名>]) 功能:DELETED()函数测试工作区中打开的表,记录指针锁指的当前记录是否有删除标识“*”,如果有则为真,否则为假。如果省略自变量,则测试当前工作区中所打开的表。

3.4.6 其他常用函数 1.TYPE()函数 TYPE()返回表达式中的值的类型。 2.INKEY()函数 INKEY()返回一个键码值,该值对应于键盘的缓冲区中第一个键的操作。如果没有按键,则INKEY()函数返回值为0,一直等到有按键开始时;如果键盘缓冲区中有多个按键值,则返回第一个输入到缓冲区的按键的值。 3.MESSAGEBOX()函数 MESSAGEBOX()函数显示一个用户自定义对话框。