江苏省计算机等级考试二级VFP复习资料.doc_第1页
江苏省计算机等级考试二级VFP复习资料.doc_第2页
江苏省计算机等级考试二级VFP复习资料.doc_第3页
江苏省计算机等级考试二级VFP复习资料.doc_第4页
江苏省计算机等级考试二级VFP复习资料.doc_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江苏省计算机等级考试二级VFP复习资料计算机的应用领域:科学计算、数据处理(70%)、自动控制、辅助设计、人工智能数据处理需求:大量地处理数据(人事、工资、成绩管理、销售管理、图书馆、售票) 数据库是计算机系统的一个重要组成部分。数据库技术是信息技术中应用最广泛的技术之一计算机系统包括:硬件和软件;其中软件又包括系统软件和应用软件,系统软件有:OS、DBMS、编译数据处理是对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程。数据处理的中心问题是数据管理数据管理是对数据的分类、组织、编码、存储、检索和维护。计算机数据管理技术发展的三个阶段 人工管理阶段、文件系统阶段、数据库系统阶段数据库系统(DataBase System) 组成:数据库(DB)、数据库管理系统(DBMS)、操作系统、应用程序、计算机硬件以及数据管理员(DBA) DBS=DB+DBMS+DBA数据库: 以一定的组织形式存放在计算机的存储介质上的相互关联的数据的集合。 特点:按一定的数据模型组织,具有较小的冗余度,较高的数据独立性和扩展性,安全、可靠、保密性好 数据库的组成:数据+元数据 数据库按数据模型可分为: 层次、网状、关系、面向对象数据库DBMS是DBS的核心: DBMS对DB进行管理(建立、使用和维护)的系统软件,是用户和数据库之间的接口, 提供了用户对DB进行操作的各种命令 (DB的建立、记录的输入、修改、检索、显示、删除、统计等) DBMS的组成: 模式翻译、应用程序编译、交互式查询、 数据的组织和存取、事务运行和管理、数据库的维护DBA是管理数据库系统的机构和相关人员,具有最高的数据特权,负责全面管理DBS DBA的主要职责 规划和定义数据库的结构 定义数据库的安全性和完整性 选择数据库的存储结构和存取路径 监督和控制数据库的使用和运行 改进数据库系统和重组数据库DB和DBMS的关系:在数据库系统中,用户通过DBMS可以建立和使用DB,使用DB是目的,而DBMS是实现目的的手段和工具数据库系统三级结构 外部层(用户看到的) 概念层(所有信息的概括) 内部层(如何存储)三级结构间存在两级映射,保证了数据的物理独立性(2、3)和逻辑独立性(1、2)信息转化的三个阶段: 现实世界、观念世界、数据世界现实世界 信息世界 数据世界 抽象 数据表示 事物及联系 实体模型 数据模型 事物 实体 数据 对象 性质 对象 属性 记录 字段数据模型:是数据库领域定义数据及其操作的一种抽象表示。数据模型的三要素 数据结构(实体及实体联系) 数据操作 数据的约束条件数据模型分类 概念数据模型:ER模型 逻辑数据模型:层次模型、网络模型、关系模型、面向对象模型广泛使用的概念模型是实体-联系模型,简称E-R模型,三要素:实体、联系、属性 实体: 用来对应现实世界的事物, 实体集中的实体借助实体标识符(关键字)来加以区别 联系 分类: 1:1 1:m m:n 属性: 实体或联系所具有的特征 E-R图:E-R模型的图形化表示 实体集矩形 联系菱形 属性椭圆形关系模型以关系代数理论为基础,是当今广泛使用的数据库关系模型 关系: 是以二维表结构来表示实体及其实体间的联系。 一个关系就是 一张二维表 例子:学生表、成绩表、课程表 类别、产品 属性(字段):一列 Field 元组(记录):一行 Record 关系模式: 是对关系结构的描述,它包括模式名以及组成该关系的各属性名,例:成绩(学号,课程代号,成绩)关键字(码):唯一标志一行的多列为关键字。 超关键字 唯一标志一行的多列XH+XIMING+CSRQ 候选关键字 +无多余的列 XH XM+XB 主关键字 +从候选中选唯一的一个 XH 外关键字 其他表的主关键字 CJ表 XH关系模型:用二维表表示实体集,通过外部关键字表示实体间联系的数据模型。 关系模型的组成: 关 系 关系操作:选择、投影、连接、除 关系的三类完整性: 域完整性(列级/元组级) 实体完整性 参照完整性 用户定义的完整性关系是一种规范化了的二维表 关系的性质: 不规范的关系模式存在的缺点: 数据冗余度大,插入异常,删除异常 所以 设计关系时应尽量将互相依赖密切的属性构成单独的关系模式 解决办法: 基于关系代数的关系规范化理论, 关系规范化的过程是通过关系中属性和关系的模式分解来实现的。关系规范化的条件可以分为几级,每级称为一个范式(Normal Form) 1NF 每个属性不可分解 2NF 完全函数依赖于候选关键字 3NF 不传递依赖于候选关键字 (实际关系模型中要满足3NF)传统的集合运算,要求两个相同的关系模式 并、交、差专门的关系运算 选择 原关系的子集,水平分解 投影 抽取原关系的部分属性形成的新的关系,垂直分解 联接 根据给定的条件将两个关系拼成一个新的关系面向对象模型按如下方式组织 事物对象对象标识 对象状态行为 具有相同属性和方法的对象集合类 对象实例 类层次类的继承父类子类子类 类的复合属性的定义域可以为类 对象是被封装的,状态和行为外部不可见, 外部只能通过显式定义的消息传地对对象进行操作常见的关系数据库:IBM DB2、ORACAL、INFOMIX、SYBASE、SQL-SERVER等 微机数据库管理系统:Visual Foxpro、Access 数据库管理系统的发展趋向: 分布式、网络化、面向对象、数据仓库 VFP的发展:70年代后期微机出现-1981dBase -dBaseII-dBaseIV-Foxbase-Foxpro(dos)-Foxpro(Windows) -Visual FoxproVFP的特点 最突出的特点:OOP功能(面向对象编程) 集成环境: 菜单(主菜单(动态)+快捷菜单)、工具栏 状态栏 主窗口 命令窗口(VFP的两种操作方式 鼠标+命令) 通过命令窗口输入(命令方式)myform=CreateObject(form)myform.show myform.Width=400 myform.Height=300 myform.AutoCenter=.t. myform.BackColor=RGB(0,0,255) myform.Caption=我是表单 编写包含多条命令的程序 (程序方式)程序中使用的命令称为语句 VFP命令主要书写规则:VFP命令不区分大小写:COPYFILE = copy file命令动词和短语可以只书写前4个字母:create = crea clear= clea VFP命令必须以动词开头,短语次序不限:delete file Filename 一个命令行只能写一条命令VFP命令 执行命令:Enter键; 删除当前输入的命令:Esc键。 一条长命令分为多行输入(在前面几行)的结尾处输入分号 ;(最后一行除外) 重复执行某条命令,再次按Enter键 若要重复执行已输入的多条命令,执行快捷菜单中“运行所选区域”命令几个常用命令* 本行是注释 &此后是注释? 换行显示 ?接着上次的内容显示CLEAR 清除主窗口信息DIR 显示文件MD 创建目录(make directory) RD 删除目录 CD 改变目录COPY FILE复制文件 RENAME FILE 重命名 DELETE FILE删除文件RUN 运行应用程序QUIT 退出VFP系统 配置VFP操作环境 工具选项 例:设置文件的位置 时间格式 千位年份 SET命令 可以进行临时设置(当前有效,重新启动VFP将不起作用) 设置默认路径 set default to d:huang设置日期显示四位年份 set century onVFP文件类型 与某一种类型的文件相关的磁盘文件类型可能有多个例如::项目类:pjx(项目) pjt(项目备注) 报表类:frx(报表) frt(报表备注) 创建文件: 菜单 /工具栏 / 命令 工具(设计器、向导、生成器) 比较重要的文件类型:PRG(程序) FXP(编译后的程序)项目管理器:VFP的管理中心项目:管理文件的文件(保存在磁盘),说明和某一个任务相关的数据、对象、文档等项目管理器 组织工具 选项卡分类、层次 定制项目管理器项目管理器的操作 命令按钮是“动态”的,随着当前选择的操作对象或类型而有所不同* 新建:通过项目管理器新建的文件或对象被项目所管理(在项目管理器窗口中显示);利用菜单命令“新建” “文件”或“常用”工具栏上的“新建”按钮或在命令窗口中利用命令创建的某种类型的文件或对象,不会显示在项目管理器窗口中,即不被项目所管理。* 移去:被移去项的相关信息仍然保留在项目文件中,但已做了删除标记。如果需要彻底删除相关信息,则需要执行菜单命令“项目” “清理项目”。 快捷菜单命令: 包含/排除:排除(该项前用带斜线的圆圈标注),包含的项在运行时只读 设置主文件:项目中只能有一个主文件,显示时该项用粗体表示系统将第一个创建的程序、表单、查询或菜单作为默认为主文件 重命名:不允许对已打开的文件重命名。 编辑说明 项目信息 项目间共享文件 项目中可以添加任何一种类型的文件 一个项目可以和多个其他文件共享文件 共享方法:若要在项目间共享文件,首先打开要共享文件的两个项目,在包含该项目的“项目管理器”中选择该文件,拖动该文件到另一个项目容器中即可。数据类型适应现实世界的各种各样的数据类型 用来表示数字的数值型、用来表示日期的等、用来表示姓名等信息的字符型什么是数据类型?哪两个方面的含义? 数据类型:数据对象的取值集合,以及对它可施行的运算的集合怎样指定数据类型 字段在创建时提前规定举例:cj 数值型 宽度3位,没有小数部分 变量由其中保存的值来确定x=100 数值型 100VFP的基本数据类型只适用于表字段的数据类型 *只适用于表的字段哪些类型在内存中占用的字节固定? 字符型(最多有254个字符)、数值型、浮点型的在内存中占用的字节不固定,其它类型占用固定字节(货币、日期、日期时间8字节)数据容器:用来保存数据的常量、变量、数组、记录和对象VFP中的命名规则开头:字母、汉字、下划线 包含:字母、汉字、下划线、数字 长度限制:自由表的字段名、表的索引标识名10,其他1128个字符 哪些字符不能使用:避免使用保留字(use、create、do 等)举例:下列名称为什么合法?cVar nVar2 x_2 sum_of_score nSum_score _aer_gz _1下列名称为什么不合法?2x 2_x num-of-xs nsum&score _aver#gz use常量:在所有操作过程中保持不变不同类型常量的特点? 不同类型的常量有不同的定界符 不同类型的常量允许进行不同的运算常量类型 数值型:数字、小数点、正负号 如: 3.12E28 货币型:$200 字符型: “ ” 逻辑型 .f. .t. .y. .n. 日期型 / / - - : : 空日期日期格式传统日期格式 受到set 命令的影响 set date to set century on|off VFP5.0及以前版本的默认格式 系统默认日期格式(月/日/年) 美国 mm/dd/yy hh:mm:ss a|p 09/20/98 1:05:50 可以通过更改区域设置来更改日期格式set date to ymd set date to long set century on严格日期格式 不受set命令的影响 VFP6.0及以后版本的默认格式(年/月/日)在VFP6.0以后版本中怎样使用传统格式? 要是用传统的格式需要使用set strictdate to 0编译时常量 什么时候可以使用:在程序中(非交互方式下)本质:命名的数据项格式:#define 常量名 值 引入原因:简便、批量修改变量 给存储位置一个标号(变量名),存储内容是变化的,由程序(命令)来修改 内存变量:由用户定义的内存中的一个(组)存储单元,变量名是存储位置的符号 标志。 其值可以由程序操作修改。使用过程中该存储单元中存放的数据在程序操作期间通过变量名去修改 创建变量 VFP的变量不需要特殊声明= (赋值) 、STORE 值 TO 变量名 访问变量 字段变量与内存变量同名时,字段变量优先 此时要引用内存变量,在变量名前加M. 或M-xm=1234?xm?m.xm?m-xm 例子:当前工作区打开了JS表,当前记录的xm字段的值为“王一平” ?xm, m.xm 控制变量的访问 程序:为解决问题设计的一连串的指令 计算机的存储程序控制的原理 子程序的提出: 程序太长、有重复操作、提高程序的可读性 作用域: 应用程序运行(内存变量) 创建变量的工作区(字段) PRIVATE 私有 当前及子程序(若程序中未定义,默认为私有)LOCAL局部 当前PUBLIC公共(全局) 所有运行的程序中(只能说明一次)命令窗口中变量均为PUBLIC型公共(全局):在当前工作期,任何程序都能使用全局变量私有:私有变量的作用范围是当前程序及子程序;私有变量允许在当前程序中使用调用程序(上级程序)中的同名变量,不影响变量的原始值;局部:局部变量只能在当前程序中使用,不能被更高层或更低层的程序访问内存变量的保存与恢复 显示:display memoery like 清除:clear memoery 保存到文件:save to 文件名(扩展名为mem) 从文件恢复: restore from数组(内存中有序的数据值系列) 数组: 由一系列被称为元素的有序数据值构成。 内存中连续的内存单元 多个变量共用同一个名称,并且连续存放在一个空间里的数据集合 数组元素的表示 数组名(序号)数组的声明(任意数据类型) 私有 DECLARE数组名(下标1) DIMENSION数组名(下标1,下标2) 公用PUBLIC数组名(下标1) 局部LOCAL 数组名(下标1) 声明之后,每个元素被默认赋予.F.值,在赋值时确定具体类型 不能对已定义的数组再定义,但可以更改维数举例:dimension dd(8)dd(5)=3dimension dd(3,3) 2维数组在内存中也要顺序存放, 顺序先行后列存放 dd(1,1) dd(1,2) 因此1维数组和2维数组在某种程度上等价?dd(3,2) 结果为3,等价与dd(5) 为数组元素赋值 给某个元素赋值 数组名( I, J)=值 store 给所有元素赋相同值 数组名=值,此时数组名代表所有数组元素 用表数据给数组赋值 当数组名独立出现在=后时,代表什么?数组的第一个元素 x=dd 等价于 xx=dd(1)字段 字段型变量的类型由设计阶段决定 (表设计器、CREATE TABLE) 字段变量:字段中的值随指针的移动而变化,所以可视字段为变量对象 类 对于拥有数据和一定行为特征对象集合的描述 例:汽车类四轮、发动机、燃料、可以行驶 对象 类的实例,属性、方法、事件 例:黑白相间的足球 被踢 进了球门 特征 发生了什么事 执行了什么动作 创建对象 CreateObject( )函数 mf=createobject(form)mf.showmf.backcolor=rgb(255,0,255)mf.circle(100,100,100)不同数据容器作用域的差异 编译时常量,只在程序中使用,作用域为私有 对象的属性,通过对象和对象层次被引用例: 汽车.发动机.燃料类型=”汽油”运算符:操作符可用来处理同类型的数据 (大多数时候) 数值操作符 优先级高到低 ( ) *或 * /%(取余数)+ - %(取余数)的结果中 符号同除数的符号 6%5 6%-5 字符操作符(字符型、备注型)+ 两个字串直接相连(结果为字串) 第一个字串去掉尾部空格与第二个字串相连,连接后字符串的末尾有空格(结果 为字串)$ 第一个字串是否包含在第二个字串中,结果为逻辑值 ? “I ” - “love ” - “peace!” ? “face” $ “ happy face” 日期和日期时间操作符(日期、整数)+ 日期 + N 今天后的第N天; 日期时间 + N 日期时间加N秒 日期 N 今天前的第N天; 日期时间 N 日期时间减N秒 日期-日期 返回天数 日期时间 日期时间 返回秒数逻辑操作符(逻辑数据) 优先级大到小 ()、NOT或!、AND、OR例:42 OR 23 AND NOT “3” $ “123” 42 OR ( 23 AND ( NOT (“3” $ “123”) ) ) 关系操作符:用于同种类型的比较,包括字符、备注和数字相关的类型、日期、逻辑型(真假) 日期比较:数字越大,日期越大, 越后发生的日期越大?9/20/99-9/15/99 字符串比较:1) 从左到右逐个比较,字符不同则根据字符排序序列决定两个字符串的大小,字符串比较的结果还受到是否精确比较的影响2) Machine序列:按照机内码顺序排序。空格 大写字母 小写字母 一级汉字(按拼音排序) 二级汉字(按笔画排序) PinYin序列:汉字按拼音序列排序。对于西文字符,空格 小写字母 大写字母 Stroke序列:汉字按笔画序列排序。 对于西文字符,空格 小写字母 大写字母3)设置字符的排序序列*大小写英文字符比较受VFP设置影响 “工具”“选项”“数据”选项卡 machine按ASCII码,大写小写stroke 大写小写 也可以使用set命令 Set collate to “machine”Set collate to “pinyin” Set collate to “Stroke”4) 字符串精确比较用 = 进行字符串比较,结果受到系统环境的影响 SET EXACT OFF左串长右串短时,将左串截去与右串比? “bcde”=“bc” - 返回.T.?“bc”=“bcde” - 返回.F.?“bc”=“bc ” - 返回.F. SET EXACT ON将短的字符串加空格至长度相等,再精确比较 ? “bcde”=“bc” - 返回.F.? “bc” =“bcde” - 返回.F.? “bc” =“bc ” - 返回.T. 用 = = 进行字符串的精确比较不受SET EXACT命令所设置的环境影响,只有长度相等且各个字符相同时,两个字符串才相等。函数: 引入: 在系统中有一些经常使用的运算或功能,比如:对一个字符串取子串,今天是几号等。对这些常用的运算或功能可以预先编制好程序代码,并加以命名,供用户或程序调用,称之为函数 分类: 系统函数 用户自定义函数 函数定义: 是一种预先编制好的程序代码,可供用户或程序调用。接受0个或多个参数,返回一个值。 函数的格式 函数名(参数1,参数2,) SQRT(9) LEFT(“MicroSoft”,5) DATE() 函数的组成: 函数名 SQRT LEFT DATE 0个或多个参数 9 MicroSoft 5 无 一个返回值 3 Micro 今天的日期参数 形参: 在编写函数时(预先编制程序代码时),不给定的具体数据,而是采用符号代表数据,称为形式参数,简称形参 (类似于公式,例如ax2+bx+c=0的根x1,2=(b+sqrt(b*b-4*a*c)/2 中的 a,b,c) 实参:在使用函数时(实际运行程序代码时)对应符号给定具体的值,称为实际参数,简称实参 ( x2+8x+6=0 中的 1,8,6)返回值 函数返回单个值,因此可以将函数作为表达式的一部分,函数之间可以嵌套。 12345+sqrt(12345) Year(date() round(sqrt(8562),0) 系统函数的分类 查询函数帮助的方法: “帮助”菜单“帮助内容”“索引”分类:数据类、数据库类、环境类、输入输出类、程序设计类常用函数介绍 数值函数:u ABS()函数 功能:返回指定数值表达式的绝对值 举例:?ABS(- 45) 显示45u MAX()和MIN()函数u INT()函数 功能:计算一个数值表达式的值,并返回整数部分 举例:?INT(12.5) 显示12u MOD()函数 功能:用一个数值表达式去除另一个数值表达式,返回余数 举例:?MOD(25.250,5.0) 显示0.250 ?MOD(23,-5) 显示 -2 ?MOD(-23,-5) 显示 -3 规则:被除数表达式中的小数位数决定了返回值中的小数位数; 除数表达式为整数,返回值为正,否则返回式为负。u ROUND()函数 功能:返回圆整到指定小数位数的数值表达式 举例:?ROUND(1234.1962,2) 显示1234.2000 ?ROUND(1234.1962,0) 显示1234.0000 ?ROUND(1234.1962,-2) 显示1200.0000 规则:小数位数为负,则返回的结果在小数点左端包含指定个零。u SQRT()函数 功能:返回数值表达式的值的平方根 举例:SQRT(4) 显示2.00u RAND()函数 功能:返回一个01之间的随机数 举例:RAND() 显示一个01之间的数值 字符函数:u ALLTRIM()函数:删除指定字符表达式值的前后空格符;LTRIM()函数:删除指定字符表达式值的前面空格符;RTRIM()与TRIM()函数:删除指定字符表达式值的后面空格符;u AT()函数: 功能:返回一个字符表达式(或备注字段)在另一个字符表达式(或备注字段)中首次出现的位置。 格式:?AT(cSearchExpression,cExpressionSearched,nOccurrence) 解释:cSearchExpression为搜索表达式,cExpressionSearched指定被搜索表达式;数值表达式nOccurrence指定搜索表达式在被搜索表达式中第几次出现,缺省时为1,。如果返回值为0,则表示未出现。(区分大小写)u LEN()函数: 功能:返回字符表达式的值中字符的数目 举例:LEN(1 2 3) 显示5(注:有两个空格) 注意:空格占一个字符,汉字占两个字节。u SUBSTR()函数: 功能:从一个给定的字符表达式(或备注字段)中返回一个子字符串。 举例:?SUBSTR(abcdefghijklm,1,5) 显示abcde ?SUBSTR(abcdefghijklm,6) 显示fghijklmu LEFT()函数:从字符表达式最左边字符开始返回指定数目的字符;RIGHT()函数:从字符表达式最右边字符开始返回指定数目的字符。举例:?LEFT(Redmond,WA,7) 显示“Redmond” ?RIGHT(Redmond,WA,2) 显示“WA” 日期与时间函数:u DATE()函数:返回由操作系统控制的当前系统日期;TIME()函数:返回当前系统时间;DATETIME()函数:返回当前系统日期与时间。u YEAR()函数:从指定的日期表达式或日期时间表达式中返回年份;YEAR()函数总是返回带世纪的年份,CENTURY的设置(ON/OFF)并不影响此返回值。MONTH()函数:返回月份值;DAY()函数:返回某月中的第几天。u DOW()函数:从日期表达式或日期时间表达式返回该日期是一周的第几天(第一天为星期日),如:?DOW(DATE() 数据类型转换函数:u ASC()函数 功能:返回字符表达式值中最左边字符的ASCII值 举例:?ASC(ABCD) 显示字母A的ASCII码值65 常用码值:a 的码值是97 ;A 的码值是65 ;回车符的码值为13u CHR()函数: 功能:计算数值表达式的值,然后以该值为ASCII代码返回其对应的字符 举例:?CHR(66) 显示字符B 注意:数值表达式的值必须在1255之间;在实际应用中,可用CHR()向打印机等设备发送控制代码u VAL()函数: 功能:由数字组成的字符表达式返回数字值。 举例:?VAL(123a4) 显示123 ?VAL(a4) 显示0 规则:字符表达式最多由16位数字组成,若超过16位,则对其圆整;该函数在处理时,从左到右返回字符表达式值中的数字,直到遇到非数值型字符时为止(忽略前面的空格);若字符表达式的第一个字符不是数字,也不是加减号,则VAL()函数返回值为0。u DTOC()、TTOC()函数 功能:由日期或日期时间型返回字符型日期 格式:DTOC(dExpression | tExpression,1 | 2) 解释:对于这两种函数,参数“1”用于以年月日顺序且无分隔符的形式返回字符型日期,参数“2”用于仅返回含时间部分的字符型时间; 举例:STORE1995/10/31 10:34 TO gdThisDate ?DTOC(gdThisDate) 显示字符串10/31/1995 ?DTOC(gdThisDate,1) 显示字符串19951031 ?TTOC(gdThisDate) 显示字符串10/31/1995 10:34:00 AM ? TTOC(gdThisDate,1) 显示字符串19951031103400 ? TTOC(gdThisDate,2) 显示字符串10:34:00 AMu CTOD()、CTOT()函数 功能:正好与上述的两个函数相反 格式CTOD(cExpression) CTOT(cExpression) 解释:字符表达式cExpression的求值结果必须是从1/1/100至12/31/9999范围内的一个有效日期,其默认格式是mm/dd/yy。u STR()函数 功能:将数值表达式的值转换为对应的字符串 举例:?STR(314.15) 返回“314”,没有指定宽度和小数位数,默认宽度取10 ?STR(314.15,5)返回“314”,宽度5,没有指定小数位数,前导两个空格 ?STR(314.15,5,2)返回“314.2”,宽度5,小数位数2,宽度不够,首先保证整数 ?STR(314.15, 2)返回“*”,宽度为2,小于整数部分宽度,溢出 ?STR(1234567890123) 返回“1.234E+12” 解释:长度用于指定STR()返回的字符串长度,该长度包括小数点所占的 字符和小数点右边每个数字所占的字符。如果指定长度大于整个数值的宽度,STR()用前导空格填充返回的字符串;如果指定长度小于整数部分的数字位数,STR()返回一串星号,表示数值溢出;如果未指定长度,系统默认为10,。小数位数用于指定由STR()返回的字符串中的小数位数(若要指定小数位数,必须同时包括长度),如果指定的小数位数小于数值表达式的值中的小数位数,则截断多余的小数位。u BETWEEN()函数 功能:判断一个表达式的值是否在另外两个相同数据类型的表达式的值之 间,返回值为.T.或.F.或NULL(当上限或下限有一个为NULL时就返回NULL)。 举例:?BETWEEN(3,14,15) 显示.F. ?BETWEEN(A, a, P) 显示.T.u TYPE()函数 功能:返回表达式的值的数据类型,数据表达式必须用引号。 举例:?TYPE(12*3)+4) 显示N ?TYPE(DATE() 显示D ?TYPE(.T. OR .F. ) 显示L ?TYPE(ANSWER=42)显示U(ANSWER变量未预先赋予值,不确定类型)u IIF()函数 功能:根据逻辑表达式的值返回两个值中的一个。 格式:IIF(lExpression,eExpression1, eExpression2),其中,逻辑表达式lExpression为条件,其值为.T.时返回eExpression1的值,否则返回eExpression2的值。u MessageBox()函数 功能:显示一个用户自定义对话框 格式:MessageBox(提示信息,对话框类型,标题文字) 举例:MessageBox(“下雨了还出去春游吗?”,4+64+256,“提示”)u GETFILE()函数 功能:显示打开对话框,并返回选定文件的名称。 格式:GETFILE(cFileExtensions,cText) 解释:字符串cText 用于指定文件文本框前的标签;文本扩展名 cFileExtensions用于指定没有选择“所有文件”菜单项时,列表中显示的文本扩展名,文本扩展名形式有很多种:l 如果包含单一扩展名,只显示具有此扩展名的文件;l 可以包含由分号分隔的文件扩展名列表;l 如果只包含分号,则显示所有不带扩展名的文件;表达式 表达式:通过运算符将常量、变量、函数、字段名等组合起来可以进行计算的表达式。 表达式的求值结果为单个值 单个变量、操作符、常量、函数、字段名、控件及属性视为表达式的特例 使用:表达式的求值结果为单个值,所以用到常量的地方都可以使用表达式 字符表达式 字符型、备注型、字符操作符 日期表达式 日期型、日期时间型、数值型、日期操作符 算术表达式 和数值有关的类型、算术运算符 逻辑表达式 逻辑型、逻辑操作符 从左自右,算到不必算为止 名称表达式:是由圆括号括起来的一个字符表达式, 该表达式也可以是单个变量或数组元素, Use (“c”+ “j”) Use (substr(“abcj”,3) X=“cj” use (x) Dimension aa8 aa2=“cj” use (aa2) 用来替换命令和函数中的名称,从而为VFP的命令和函数提供灵活性。字段名、变量名、窗口名、菜单名、文件名、对象名宏替换 宏替换与名称表达式具有相似的作用,可使用宏替换的方法用内存变量替换名称,在使用宏替换时,将连字符(&)放在变量前,告诉VFP将此变量的值当作名称使用 宏替换作为名称使用 x=“cj” use &x 等价于 use (x) 组成:由&和一个字符变量组成,使用一个英文句号. 结束宏替换表达式 宏替换表达式的结果与字符变量的值相关 字符变量的值 宏替换表达式值 为数字串 数字串对应的数字 X=“123” ? &X 123 为非数字串 为字符串对应的变量的值 X=“Y” ?&X 找不到变量Y Y=“ABCDE” ?&X ABCDE 宏替换与名称表达式的区别 在表达式中 gg=3456 hh=gg?(hh) =gg?&hh =3456 (gg的值) 英文句号的作用 v=abc v1=ggg ? pp&v12 ? 结果应该是ppggg2还是ppabc12 ? pp&v1. ? pp&v.1空值 空值表示不确定的值,用NULL或.NULL.表示 空值具有以下特点 等价于没有任何值 与0、“”、空格不同 排序优先于其它数据(不论升序或降序) 大多数函数均可使用SQRT(NULL) NULL可以出现在任何使用值或表达式的地方 Null不是一种数据类型,只是一个值?type(“.null.”) U Undefined X=100 X=.NULL. ?TYPE(“X”) N空值的赋值和判断 赋值 变量: 变量名= .NULL. 字段 CTRL+0 (设字段空值) 判断 使用ISNULL函数判断空值 ISNULL对于空值返回.T. ISNULL对于0和空白或空字符串返回.F. EMPTY和ISBLANK对于空值返回.F. EMPTY函数对于0和空白或空字符串返回.T. ISBLANK函数对于空白或空字符串返回.T.EMPTY()ISBLANK()ISNULL()空字符串.T.T.F.空白字段.T.T.F.0.T.F.F.NULL.F.F.T.在表达式中NULL的行为 数值型、日期型与NULL值运算结果为NULL 逻辑型运算结果大多数为NULL 逻辑表达式中NULL值的行为见表2-14 例:.NULL. AND .T.的结果 NULL可能为 .T. AND .T 结果 .T. NULL可能为 .F. AND .T. 结果 .F. .NULL. AND .T.结果不能确定,所以为.NULL.空值在命令或函数中的行为使用NULL作为参数的通用规则 给命令传递NULL值将产生错误 GO .NULL. 接收.NULL.为有效参数的函数其结果也为.NULL.?SQRT(.NULL.) 向本应接收数值型参数的函数传递.NULL.值参数,将产生错误。 当传递NULL值时,ISBLANK() ISDIGI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论