第二章VisualFoxPro操作基础及数据运算_第1页
第二章VisualFoxPro操作基础及数据运算_第2页
第二章VisualFoxPro操作基础及数据运算_第3页
第二章VisualFoxPro操作基础及数据运算_第4页
第二章VisualFoxPro操作基础及数据运算_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、1第二章第二章Visual FoxProVisual FoxPro基础及数据运算基础及数据运算2本本 章章 目目 录录 第一节第一节 Visual FoxProVisual FoxPro系统简介系统简介 第二节第二节 Visual FoxProVisual FoxPro的数据及其运算的数据及其运算 第三节第三节 常用函数常用函数3学学 习习 目目 标标1 1了解了解Visual FoxPro 6.0 Visual FoxPro 6.0 的运行环境、安装、启动和用户界面。的运行环境、安装、启动和用户界面。2 2掌握掌握Visual FoxPro 6.0 Visual FoxPro 6.0 的三种

2、操作方式及命令的语法规则。的三种操作方式及命令的语法规则。3 3掌握掌握Visual FoxPro 6.0 Visual FoxPro 6.0 的的8 8种数据类型。种数据类型。4 4掌握字符型常量、数值型常量、货币型常量、日期型常量、日期时间掌握字符型常量、数值型常量、货币型常量、日期型常量、日期时间型常量、逻辑型常量及其应用。型常量、逻辑型常量及其应用。5 5掌握字段变量和内存变量的概念,掌握内存变量的应用。掌握字段变量和内存变量的概念,掌握内存变量的应用。6 6掌握算术表达式、字符表达式、日期和时间型表达式、关系表达式掌握算术表达式、字符表达式、日期和时间型表达式、关系表达式逻辑表达式的

3、概念及使用。逻辑表达式的概念及使用。7 7掌握数值函数、字符函数、日期和时间函数、数据类型转换函数和掌握数值函数、字符函数、日期和时间函数、数据类型转换函数和测试函数等常用函数的概念及使用。测试函数等常用函数的概念及使用。4第一节第一节 Visual FoxProVisual FoxPro系统简介系统简介 Visual FoxPro 6.0系统是一个关系型系统是一个关系型DBMS,是微软公司是微软公司19981998年推出的可视化语言集成包年推出的可视化语言集成包Visual Visual Studio 6.0系统中的一个产品。系统中的一个产品。 能运行于各种平台上的能运行于各种平台上的32位

4、数据库开发系统。位数据库开发系统。5一、一、Visual FoxPro6.0的安装与启动的安装与启动 1、最低运行环境、最低运行环境 (1 1)486DX/66MHZ486DX/66MHZ或更高的处理器。或更高的处理器。(2 2)16M16M以上内存。以上内存。(3 3)硬盘空间:典型安装需要)硬盘空间:典型安装需要85M85M,最大安装需要,最大安装需要90MB90MB。(4 4)VGAVGA或更高分辨率以上的显示器。或更高分辨率以上的显示器。(5 5)操作系统:)操作系统:Windows95Windows95或或9898以上。以上。6 2、Visual FoxPro 6.0系统的安装系统的

5、安装(1 1)将)将Visual FoxPro 6.0系统光盘插入光驱。系统光盘插入光驱。(2 2)打开光盘,找到)打开光盘,找到setup.exe文件,双击该文件,运行文件,双击该文件,运行 安装向导。安装向导。(3 3)按安装向导的提示,单击)按安装向导的提示,单击“下一步下一步”按钮进行安装。按钮进行安装。 (4 4)进入系统安装界面,根据提示按步操作,直到安装完毕。)进入系统安装界面,根据提示按步操作,直到安装完毕。7 3、 Visual FoxPro 6.0的启动与退出的启动与退出启动启动Visual FoxPro 6.0Visual FoxPro 6.0常用方法:常用方法:(1 1

6、)单击)单击“开始开始”菜单,选择菜单,选择“程序程序”,从级联菜单中单击,从级联菜单中单击Visual FoxPro6.0Visual FoxPro6.0。(2 2)双击桌面建立的)双击桌面建立的Visual FoxPro 6.0Visual FoxPro 6.0的快捷图标。的快捷图标。Visual FoxPro 6.0Visual FoxPro 6.0的退出有以下四种方法:的退出有以下四种方法:(1 1)单击)单击VFPVFP窗口标题栏右边的关闭按钮。窗口标题栏右边的关闭按钮。(2 2)在)在VFP“VFP“文件文件”下拉菜单中选择下拉菜单中选择“退出退出”。(3 3)按快捷键)按快捷键A

7、LT+F4.ALT+F4.(4 4)在)在VFPVFP的命令窗口中输入命令的命令窗口中输入命令QUITQUIT。8Visual FoxPro 6.0的主窗口包括:标题栏、菜单栏、常用工具栏、状态栏、的主窗口包括:标题栏、菜单栏、常用工具栏、状态栏、命令窗口和主窗口工作区几个组成部分。命令窗口和主窗口工作区几个组成部分。二、二、Visual FoxPro 6.0用户界面用户界面9三、三、Visual FoxPro 6.0的操作方式的操作方式Visual FoxPro 6.0Visual FoxPro 6.0系统为用户提供了几种各具特点系统为用户提供了几种各具特点的操作方式,用户可根据情况以及应用

8、的需要,选择合的操作方式,用户可根据情况以及应用的需要,选择合适的操作方式,实现数据库的操作、应用。适的操作方式,实现数据库的操作、应用。 Visual FoxPro 6.0Visual FoxPro 6.0系统的操作方式主要有:系统的操作方式主要有: (1 1)命令操作方式)命令操作方式 (2 2)菜单操作方式)菜单操作方式 (3 3)程序操作方式)程序操作方式10四、四、Visual FoxPro 6.0的命令语法的命令语法 1、一般的命令格式一般的命令格式 范围范围FORWHILEFIELDS Visual FoxPro 6.0Visual FoxPro 6.0中常用短语介绍:中常用短语

9、介绍: FIELDSFIELDS子句用来规定当前处理的字段或表达式。子句用来规定当前处理的字段或表达式。 范围子句用来规定对表进行操作的记录的范围。通常有以下四种范围:范围子句用来规定对表进行操作的记录的范围。通常有以下四种范围:ALL:ALL: 对表中所有记录进行操作。对表中所有记录进行操作。NEXT N:NEXT N: 只对包括当前记录在内的连续只对包括当前记录在内的连续N N条记录进行操作。条记录进行操作。RECORD N:RECORD N: 只对第只对第N N条记录进行操作。条记录进行操作。REST:REST: 从当前记录开始从当前记录开始( (含当前记录含当前记录) )到表尾的所有记

10、录。到表尾的所有记录。11 FORFOR子句和子句和WHILEWHILE子句子句FORFOR 的作用是:在规定的范围内,按条件检查全部记录。的作用是:在规定的范围内,按条件检查全部记录。 WHILEWHILE 的作用是:在规定的范围内,只要条件成立,就的作用是:在规定的范围内,只要条件成立,就对当前记录执行该命令,并把记录指针指向下一条记录,一旦对当前记录执行该命令,并把记录指针指向下一条记录,一旦遇到条件不满足的记录,就停止查找并结束该命令的执行。遇到条件不满足的记录,就停止查找并结束该命令的执行。若同时使用若同时使用FORFOR子句和子句和WHILEWHILE子句,则子句,则WHILEWH

11、ILE有较高的优先级。有较高的优先级。 12例: 读者表内容如下,分析以下命令的运行结果。USE USE 读者读者LIST NEXT 4 LIST NEXT 4 LIST REST LIST REST LIST FIELDS LIST FIELDS 学号,姓名,入学成绩学号,姓名,入学成绩LIST FOR LIST FOR 性别性别= “= “男男” ” LIST WHILE LIST WHILE 性别性别= “= “男男” ” USE USE 132Visual FoxPro 6.0命令的书写规则命令的书写规则(1)命令动词必须写在一条命令的最前面,而后面子句的次序可以任意排列。)命令动词必

12、须写在一条命令的最前面,而后面子句的次序可以任意排列。(2)命令行中,命令动词与短语、短语与短语和短语的各部分之间必须以一)命令行中,命令动词与短语、短语与短语和短语的各部分之间必须以一个或多个空格分开。个或多个空格分开。(3)命令动词、各短语中的保留字及函数名都可简写为前四个字符,且大小)命令动词、各短语中的保留字及函数名都可简写为前四个字符,且大小写无关。如写无关。如DISPLAY 可简写为可简写为DISP。(4)一个命令行的最大长度是)一个命令行的最大长度是254个字符,如果命令太长,一行写不下,个字符,如果命令太长,一行写不下,可在行末用可在行末用“;”续行。并按回车换行,在下一行继续

13、输入该命令。续行。并按回车换行,在下一行继续输入该命令。(5)一行只能写一个命令。)一行只能写一个命令。143符号约定符号约定:方括号,表示是可选的项目。若选择该项目,方括号,表示是可选的项目。若选择该项目, 不要写方括号本身。不要写方括号本身。:角括号,表示括号内的项目是必须要选的,但不要写角括号本身。角括号,表示括号内的项目是必须要选的,但不要写角括号本身。|: |: 坚线号,表示两个项目中选择其中一个,但不要写坚线号本身。坚线号,表示两个项目中选择其中一个,但不要写坚线号本身。 :省略号,表示前项可继续重复多次选择:省略号,表示前项可继续重复多次选择15第二节第二节 Visual Fox

14、ProVisual FoxPro的数据及其运算的数据及其运算一、一、Visual FoxPro的数据类型的数据类型1字符型字符型(character) 用字母用字母C表示,字符型数据包括中文字符、英文字符、表示,字符型数据包括中文字符、英文字符、数字字符和其他数字字符和其他ASCII字符,其长度最长不超过字符,其长度最长不超过254个字符。个字符。2数值型数值型(Numeric) 用字母用字母N表示,用来表示数量并可以进行算术运算的表示,用来表示数量并可以进行算术运算的数据类型。由阿拉伯数字、正负号、小数点组成。数据类型。由阿拉伯数字、正负号、小数点组成。Visual FoxPro中,具有数值

15、特征的数据类型还有整型、中,具有数值特征的数据类型还有整型、浮点型和双精度型,但这三种数据类型只用于字段变量163 3日期型日期型(Date)(Date) 用字母用字母D D表示,用来表示日期的数据类型。日期的默认表示,用来表示日期的数据类型。日期的默认 格式为:格式为: mm/dd/yymm/dd/yy其中其中MMMM表示月,表示月,DDDD表示日,表示日,YYYY表表示年。日期型数据的长度固定为示年。日期型数据的长度固定为8 8位。位。4 4日期时间型日期时间型(Date Time)(Date Time) 用字母用字母T T表示,是用来表示日期和时间,默认格式为:表示,是用来表示日期和时间

16、,默认格式为: mm/dd/yy hh:mm:ssmm/dd/yy hh:mm:ss 其中其中mm,dd,yymm,dd,yy的意义与日期型相同,的意义与日期型相同,hhhh,mmmm,ssss分别分别表示时、分、秒。长度也固定为表示时、分、秒。长度也固定为8 8位。位。5 5逻辑型逻辑型(Logic)(Logic) 用字母用字母L L表示,用来描述客观事物真假或是非判断的表示,用来描述客观事物真假或是非判断的数据类型。只有两个取值:真数据类型。只有两个取值:真(.t.(.t.或或.T.).T.)和假和假(.f.(.f.或或.F.).F.),逻辑型数据长度固定为逻辑型数据长度固定为1 1位。位

17、。176货币型(Currency) 用字母Y表示,为存储货币值而使用的一种数据类型,它默认保留4位小数,占据8字节的存储空间。7备注型(Memo) 用字母M表示,用来存放较多字符的数据类型。只用于表中字段类型的定义。字段长度固定为4个字节。实际数据存放在与表文件同名的备注文件(.ftp)中,其长度依实际需要而定。8通用型(General) 用字母G表示,是用来存储OLE对象的数据类型。可以是电子表格、文挡、图形、声音等,跟备注型数据一样,它只用于表中字段类型的定义,通用型数据字段长度固定为4位。18二、常量二、常量常量是在命令或程序中可直接引用、具有具体值的数据项,常量是在命令或程序中可直接引

18、用、具有具体值的数据项,其特征是在整个操作过程中它的值和表现形式保持不变。其特征是在整个操作过程中它的值和表现形式保持不变。Visual FoxProVisual FoxPro按常量取值的数据类型,将常量分为按常量取值的数据类型,将常量分为6 6种类型:种类型: 数值型常量、货币型常量、字符型常量、数值型常量、货币型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量。逻辑型常量、日期型常量、日期时间型常量。191字符型常量字符型常量 由任意由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。为与其他类型常量、变量和标识符字符

19、型常量又称为字符串。为与其他类型常量、变量和标识符相区别,相区别,Visual FoxPro要求将字符串中所有字符,用一对要求将字符串中所有字符,用一对双引号双引号“ ”或单引号或单引号 或方括号或方括号 作为定界符对括起来。作为定界符对括起来。 如如:“ I am a student.”,中华人民共和国中华人民共和国,Visual FoxPro 6.0系统系统都是字符串。都是字符串。202 2日期型常量日期型常量 日期型常量是表示日期值的数据,其默认格式是日期型常量是表示日期值的数据,其默认格式是: : mm/dd/yyyymm/dd/yyyy 如如10/01/0210/01/02和和10/

20、01/200210/01/2002均表示均表示20022002年年1010月月1 1日。日。 3 3日期时间型常量日期时间型常量 Visual FoxProVisual FoxPro系统中增加了一种表示日期和时间值的系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是:日期时间型常量,其默认格式是: mm/dd/yyyy mm/dd/yyyy , hh:mm:ssa|p hh:mm:ssa|p 其中其中a a和和p p分别表示分别表示AMAM(上午)和(上午)和PMPM(下午)。(下午)。 日期值和日期时间值的输入格式与输出格式并不完全相同,日期值和日期时间值的输入格式与输出格式并不

21、完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。需要进行相应调整、设置。 21严格的日期格式严格的日期格式 Visual FoxProVisual FoxPro系统增加了一种所谓严格的日期格式。系统增加了一种所谓严格的日期格式。不论哪种设置,按严格日期格式表示的日期型和日期时间型不论哪种设置,按严格日期格式表示的日期型和日期时间型数据,都具有相同的值和表示形式。严格的日期格式是:数据,都具有相同的值和表示形式。严格的日期格式是: yyyy-mm-dd,hh:mm:ssa|pyyyy-mm-dd,hh:mm:s

22、sa|p 符号表明该格式是严格的日期格式,并按照符号表明该格式是严格的日期格式,并按照 YMD YMD 的的格式解释日期型和日期时间型数据,它是严格日期格式的标格式解释日期型和日期时间型数据,它是严格日期格式的标志,不可缺少。有效的日期型和日期时间型数据分隔符为:志,不可缺少。有效的日期型和日期时间型数据分隔符为:连字符连字符“-”-”、正斜杠、正斜杠“/”/”、句点、句点“.”.”和空格。如和空格。如2002-10-012002-10-01、2002-10-01 10:30:30a2002-10-01 10:30:30a,分别表示,分别表示20022002年年1010月月1 1日及该日日及该

23、日上午上午1010时时3030分分3030秒这两个日期数据。秒这两个日期数据。224逻辑型常量逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两种,分别用(.t.或.y.)和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母左右加注圆点符“.”以示区别。逻辑型常量在内存中占用一个字节。235 5数值型常量数值型常量 也称常数,用来表示一个数量的大小,由数字也称常数,用来表示一个数量的大小,由数字0-90-9、小数点和正负符号组成。例如,小数点和正负符号组成。例如,12.3,-6712.3,-67,3.143.14等。也可以等。也可以使用科学计数法形式表示,例如:使

24、用科学计数法形式表示,例如:6.7896.789* *105105可表示为可表示为6.789E56.789E5。6 6货币型常量货币型常量 用来表示货币值,书写格式与数值型类似,但要加上用来表示货币值,书写格式与数值型类似,但要加上一个前置的符号一个前置的符号$ $。货币型数据在存储和计算时,采用。货币型数据在存储和计算时,采用4 4位小数,位小数,如果多于如果多于4 4位,那么系统自动四舍五入。货币型常量不能用科学位,那么系统自动四舍五入。货币型常量不能用科学计数法表示。计数法表示。 24三、变量三、变量变量是在操作过程中可以改变其取值或数据类型的数据项。变量是在操作过程中可以改变其取值或数

25、据类型的数据项。在在Visual FoxPro系统中变量分为字段变量、内存变量、系统中变量分为字段变量、内存变量、数组变量和系统变量数组变量和系统变量4类。此外,作为面向对象的程序语言,类。此外,作为面向对象的程序语言,Visual FoxPro在进行面向对象的程序设计中引入了对象的在进行面向对象的程序设计中引入了对象的概念,对象实质上也是一类变量。概念,对象实质上也是一类变量。 确定一个变量,需要确定其三个要素:确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。变量名、数据类型和变量值。251命名规则命名规则 在在Visual FoxPro系统中,将表示、存储数据的常量、变量、系统

26、中,将表示、存储数据的常量、变量、数组、字段、记录、对象、表、数据库等,都称之为数据容器。数组、字段、记录、对象、表、数据库等,都称之为数据容器。所有数据容器均需命名以相互区别,为规范各类对象的命名,所有数据容器均需命名以相互区别,为规范各类对象的命名,Visual FoxPro系统推荐了若干系统推荐了若干“命名规则命名规则”供用户参考,以提高供用户参考,以提高操作命令与程序的可读性和规范性。操作命令与程序的可读性和规范性。 使用字母,下划线和数字命名。一般建议不采用汉字命名;使用字母,下划线和数字命名。一般建议不采用汉字命名; 命名以字母或下划线开头;除自由表中字段名、索引的命名以字母或下划

27、线开头;除自由表中字段名、索引的TAG标识名最多只能标识名最多只能10个字符外,其他的命名可使用个字符外,其他的命名可使用1128个字符;个字符; 避免使用避免使用 Visual FoxPro的保留字;的保留字; 文件名的命名应遵循操作系统的约定。文件名的命名应遵循操作系统的约定。262 2内存变量的赋值内存变量的赋值 内存变量是在内存中定义的一种单个数据元素的临时性变量。内存变量是在内存中定义的一种单个数据元素的临时性变量。 (1 1)内存变量的数据类型)内存变量的数据类型 内存变量的数据类型包括:数值型、字符型、逻辑型、日期型和内存变量的数据类型包括:数值型、字符型、逻辑型、日期型和日期时

28、间型;日期时间型; (2 2)内存变量的建立)内存变量的建立 建立内存变量就是给内存变量赋值。内存变量赋值既可定义一个建立内存变量就是给内存变量赋值。内存变量赋值既可定义一个新的内存变量,也可改变已有内存变量的值或数据类型。新的内存变量,也可改变已有内存变量的值或数据类型。 命令格式一:命令格式一: STORE STORE TO TO 命令功能:计算命令功能:计算 的值并赋值给各个内存变量。的值并赋值给各个内存变量。 命令格式二:命令格式二: = = 命令功能:计算命令功能:计算 的值并赋值给指定内存变量。的值并赋值给指定内存变量。273.表达式的显示输出表达式的显示输出 可以用两个命令在屏幕

29、上显示输出内存变量的值。可以用两个命令在屏幕上显示输出内存变量的值。 命令格式:命令格式: ?| ? AT 命令功能:计算表达式表中各表达式的值,并在屏幕上指定命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。位置显示输出各式的值。 ?:先回车换行,再计算并输出表达式的值;?:先回车换行,再计算并输出表达式的值; ?:在屏幕上当前位置,计算并直接输出表达式的值;?:在屏幕上当前位置,计算并直接输出表达式的值; :多个用逗号两两分隔的表达式,各表达式的值:多个用逗号两两分隔的表达式,各表达式的值输出时,以空格分隔;输出时,以空格分隔; AT 子句指定表达式值从指定列开始显

30、示输出。子句指定表达式值从指定列开始显示输出。AT的的定位只对它前面的一个表达式有效,多个表达式必须用多个定位只对它前面的一个表达式有效,多个表达式必须用多个AT子句分别定位输出,而且可反序定位。子句分别定位输出,而且可反序定位。28 4内存变量的显示内存变量的显示 (1)变量的显示)变量的显示 用?用?/?命令可以分别显示单个或一组变量的值。有时用户?命令可以分别显示单个或一组变量的值。有时用户还需了解变量其他相关信息,如数据类型、作用范围,或了解系还需了解变量其他相关信息,如数据类型、作用范围,或了解系统变量的信息。统变量的信息。Visual FoxPro系统提供了相应操作命令。系统提供了

31、相应操作命令。 命令格式:命令格式: DISPLAY | LIST MEMORY LIKE TO PRINTER PROMPT | TO FILE NOCONSOLE 命令功能:显示指定变量的信息。命令功能:显示指定变量的信息。29说明:说明:(1) LIKE选项子句可以使用通配符来代替变量名的一部分,选项子句可以使用通配符来代替变量名的一部分,以显示与通配符相符合的变量。有两种通配符:以显示与通配符相符合的变量。有两种通配符:“?”代表任意代表任意一个字符,一个字符,“*”代表任意多个字符。代表任意多个字符。(2) LIST 和和DISPLAY的区别是:前者连续显示,后者分屏显示。的区别是:

32、前者连续显示,后者分屏显示。(3) TO FILE 子句功能是将内存变量有关信息送至子句功能是将内存变量有关信息送至一个文本文件。一个文本文件。TO PRINTER 则是送至打印机打印。则是送至打印机打印。例:例: 定义并显示内存变量:定义并显示内存变量: STORE dggaf TO a1 a2=2004-04-25 c=.t. LIST MEMO LIKE a?305. 内存变量文件的建立内存变量文件的建立 Visual FoxPro提供相应命令,可用文件形式将某些内提供相应命令,可用文件形式将某些内存变量保存起来,以便重复使用。存变量保存起来,以便重复使用。 命令格式:命令格式: SAV

33、E TO ALL LIKE | ALL EXCEPT 命令功能:将指定变量的信息保存到指定的变量文件命令功能:将指定变量的信息保存到指定的变量文件 (*.MEM)中。)中。 ALL LIKE :只保存符合通配符条件的所有变量;:只保存符合通配符条件的所有变量; ALL EXCEPT :只保存不符合通配符条件的所有:只保存不符合通配符条件的所有变量。变量。316. 内存变量的恢复内存变量的恢复 需要保存在文件中的变量信息时,必须先恢复到内存后方可使用。需要保存在文件中的变量信息时,必须先恢复到内存后方可使用。 命令格式:命令格式: RESTORE FROM ADDITIVE 命令功能:将指定变量

34、文件(命令功能:将指定变量文件(*.MEM)中变量信息恢复到内存中。)中变量信息恢复到内存中。 ADDITIVE:省略此项,清除内存所有变量后再恢复文件中变量的信息;:省略此项,清除内存所有变量后再恢复文件中变量的信息;加选此项,将变量文件中的变量信息追加到内存现有变量信息中。加选此项,将变量文件中的变量信息追加到内存现有变量信息中。 7.内存变量的清除内存变量的清除 Visual FoxPro系统对定义内存变量的数量是有限制的,应及时清理,系统对定义内存变量的数量是有限制的,应及时清理,尽量减少内存的占用,定义其他变量。尽量减少内存的占用,定义其他变量。 命令格式:命令格式: RELEASE

35、 RELEASE ALL LIKE | EXCEPT 328 8数组变量数组变量 数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的数组变量是结构化的变量,是一组具有相同名称、以下标相互区分的有序内存变量。一个数组通常都包含多个数据元素。有序内存变量。一个数组通常都包含多个数据元素。Visual FoxProVisual FoxPro系统中系统中只允许使用一维数组(相当于数列)和二维数组只允许使用一维数组(相当于数列)和二维数组( (相当于行列式或矩阵相当于行列式或矩阵) )。(1 1)数组元素)数组元素 数组中各有序变量(数据元素)组成数组的成员,称为数组元素。数组中各有序变量(数

36、据元素)组成数组的成员,称为数组元素。数组元素实质上是一个内存变量,也称数组变量,它们具有相同变量名数组元素实质上是一个内存变量,也称数组变量,它们具有相同变量名即数组名,彼此以下标区分;即数组名,彼此以下标区分;33 数组元素的名称(变量名)用数组名加下标构成。如数组元素的名称(变量名)用数组名加下标构成。如AA(1),),BB(2,3)分别表示一维数组)分别表示一维数组AA的第的第1个元素,二维数组个元素,二维数组BB中第中第2行行第第3列的元素;列的元素; 下标必须用圆括号对括;一维数组的元素只有一个下标,二维数组下标必须用圆括号对括;一维数组的元素只有一个下标,二维数组的元素有两个以逗

37、号分隔的下标;的元素有两个以逗号分隔的下标; 下标必须是非负数值,可以是常量、变量、函数或表达式,下标值下标必须是非负数值,可以是常量、变量、函数或表达式,下标值会自动取整。如会自动取整。如AA(1.5),),AA(nA1),),AA(2+10/3)等;)等; 数组元素的数据类型决定于最后赋值的数据类型;不同数组元素的数组元素的数据类型决定于最后赋值的数据类型;不同数组元素的数据类型可以不同;数据类型可以不同; 数组元素与普通内存变量一样操作,可以赋值和引用。数组元素与普通内存变量一样操作,可以赋值和引用。34 (2)数组的定义)数组的定义 数组必须先定义后使用,定义数组是向系统申请数组元素在

38、内存中的数组必须先定义后使用,定义数组是向系统申请数组元素在内存中的存储空间。存储空间。 命令格式:命令格式: DIMENSION | DECLARE (,),(,) 命令功能:定义指定的各个数组。命令功能:定义指定的各个数组。 (3)数组的赋值与引用)数组的赋值与引用数组元素的赋值与引用,与普通内存变量的规则相同。数组元素的赋值与引用,与普通内存变量的规则相同。35 9 9字段变量字段变量 表由若干记录构成,每个记录都包含若干个数量相同的表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段,同一字段在不同记录中分别对应不同的字段值,因此,

39、字段也是变量。与其他变量不同的是,字段变量是定义在表字段也是变量。与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。字段名中的变量,随表的存取而存取,因而是永久性变量。字段名就是变量名;变量的数据类型为就是变量名;变量的数据类型为Visual FoxProVisual FoxPro中任意数据中任意数据类型,字段值就是变量值。类型,字段值就是变量值。36 10系统变量系统变量 系统变量是系统变量是Visual FoxPro系统特有的内存变量,它由系统特有的内存变量,它由Visual FoxPro系统定义、维护。系统变量有很多,其变量名系统定义、维护。系统变量有很

40、多,其变量名均以下划线均以下划线“_”开始,因此在定义内存变量和数组变量名时,开始,因此在定义内存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。系统变量设置、不要以下划线开始,以免与系统变量名冲突。系统变量设置、保存了很多系统的状态、特性,了解、熟悉并且充分地运用保存了很多系统的状态、特性,了解、熟悉并且充分地运用系统变量,会给数据库系统的操作、管理带来很多方便,系统变量,会给数据库系统的操作、管理带来很多方便,特别是开发应用程序时更为突出,学习时可对此有所关注。特别是开发应用程序时更为突出,学习时可对此有所关注。37四、四、 Visual FoxPro的表达式的表达式在在Vis

41、ual FoxProVisual FoxPro系统中,表达式是由常量、变量、函数及其他数据系统中,表达式是由常量、变量、函数及其他数据单独或与运算符组成的有意义的运算式子。单独或与运算符组成的有意义的运算式子。 运算符是对数据对象进行加工处理的符号,根据其处理数据对象的运算符是对数据对象进行加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达式、字符表达式、日期时间

42、表达式、逻辑表达式和关系表达式五类。式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。 常量、变量和函数可以作为表达式的特例。今后涉及到表达式的描述,常量、变量和函数可以作为表达式的特例。今后涉及到表达式的描述,除特别指明,均可包含这些特殊的形式。除特别指明,均可包含这些特殊的形式。38在在Visual FoxProVisual FoxPro系统中,表达式是由常量、变量、函数及其他数据系统中,表达式是由常量、变量、函数及其他数据单独或与运算符组成的有意义的运算式子。单独或与运算符组成的有意义的运算式子。 运算符是对数据对象进行加工处理的符号,根据其处理数据对象的运算符是对数据对象进行

43、加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运数据类型,运算符分为算术(数值)运算符、字符运算符、日期时间运算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达算符、逻辑运算符和关系运算符五类,相应的,表达式也分为算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。式、字符表达式、日期时间表达式、逻辑表达式和关系表达式五类。 常量、变量和函数可以作为表达式的特例。今后涉及到表达式的描述,常量、变量和函数可以作为表达式的特例。今后涉及到表达式的描述,除特别指明,均可包含这些特殊的形式。除特别指明,均可包含这些特殊的形式

44、。在在Visual FoxProVisual FoxPro系统中,各类运算的优先顺序如下:系统中,各类运算的优先顺序如下: 圆括号圆括号 算术和日期运算算术和日期运算 字符串运算字符串运算 关系运算关系运算 逻辑运算逻辑运算39 1. 1. 算术表达式算术表达式 算术表达式又称数值表达式,其运算对象和运算结果均为算术表达式又称数值表达式,其运算对象和运算结果均为数值型数据。数值运算符的功能及运算优先顺序,如下表所示。数值型数据。数值运算符的功能及运算优先顺序,如下表所示。表中运算符按运算优先级别从高到低顺序排列。表中运算符按运算优先级别从高到低顺序排列。运算符功 能表 达 式 举 例运算结果优

45、先级别( )圆括号(2-5)*(3+2)-15最高 | | | 最低-取相反数-(3-8)5*、乘幂2*5、3232、9*、/乘、除2*10、25/520、5%取余数20%50+、-加、减36+19、29-4755、-18402. 字符表达式字符表达式 字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子。字符运算的对象是字符型数据对象,运算结果是字符常量或逻辑常量。字符运算的对象是字符型数据对象,运算结果是字符常量或逻辑常量。表表2-3为字符运算符为字符运算符 的功能。的功能。 “+”与与 “-”都是字符连接运算符,都

46、将两个字符串顺序连接,但都是字符连接运算符,都将两个字符串顺序连接,但“+”是是直接连接,直接连接,“-”则将串则将串1尾部所有空格移到串尾部所有空格移到串2尾部后再连接;尾部后再连接;“$”运算实质运算实质上是比较两个串的包含关系,因此有些书籍中将其归于关系运算,其作用上是比较两个串的包含关系,因此有些书籍中将其归于关系运算,其作用是比较、判断串是比较、判断串1 是否为串是否为串2的子串,如果串的子串,如果串1是串是串2的子串,运算结果为的子串,运算结果为“真真”,否则为,否则为“假假”。所谓子串,如果串。所谓子串,如果串1中所有字符均包含在串中所有字符均包含在串2中、且与中、且与串串1中排

47、列方式与顺序完全一致,则称串中排列方式与顺序完全一致,则称串1为串为串2的子串。的子串。41 表表2-3 2-3 字符运算符字符运算符 两个连接运算的优先级别相同,但高于两个连接运算的优先级别相同,但高于$ $的比较运算。的比较运算。运算符运算符功能功能表达式举例表达式举例运算结果运算结果+串串1+串串2:两串顺序相连接:两串顺序相连接12 +5612 56-串串1-串串2:串:串1尾空格移到尾空格移到串串2尾后再顺序相连接尾后再顺序相连接12 -561256 $串串1$串串2:串:串1是否为串是否为串2子子串串1234$ a123451234$ 34512.T.F.423. 日期表达式日期表

48、达式 由日期运算符将一个日期型或日期时间型数据与一个数值型由日期运算符将一个日期型或日期时间型数据与一个数值型数据连接而成的运算式称为日期表达式。日期运算符分为数据连接而成的运算式称为日期表达式。日期运算符分为“+”和和“-”两种,其作用分别是在日期数据上增加或减少一个天数,两种,其作用分别是在日期数据上增加或减少一个天数,在日期时间数据上增加或减少一个秒数。两个运算的优先级别在日期时间数据上增加或减少一个秒数。两个运算的优先级别相同。相同。例如例如: ? 2004-05-10+10 ? 2004-05-10-2003-05-10主屏幕显示:主屏幕显示: 05/20/04 366 434. 关

49、系表达式 由关系运算符连接两个同类数据对象进行关系比较的运算式称为关系表达式。关系表达式的值为逻辑值,关系表达式成立则其值为“真”,否则为“假”。运算符功 能表 达 式 举 例结果小于15大于A 1.T.=等于2+4 = 3*5.F.、#、!=不等于5 -10.T.=小于或等于abc =大于或等于10-10-02=10/01/02.T.=字符串恒同abc=abcabc.F.445. 5. 逻辑表达式逻辑表达式 由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表由逻辑运算将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。达式。逻辑表达式的运算对象与运算结

50、果均为逻辑型数据。表表2-52-5为逻辑运算符的功能。逻辑运算符前后一般要加圆点为逻辑运算符的功能。逻辑运算符前后一般要加圆点“.”.”标记,以示区别。标记,以示区别。运算符 功 能优先级别( ) 圆括号最高|最低.NOT.或! 逻辑非.AND. 逻辑与.OR. 逻辑或表表2-5 逻辑运算符逻辑运算符45 表2-6 逻辑运算真值表ABA .AND.BA .OR. B.NOT. A.T.T.T.T.F.T.F.F.T.F.F.T.F.T.T.F.F.F.F.T. 对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,对于各种逻辑运算,其运算规则可由逻辑运算真值表确定,表表2-62-6所示就是逻辑运

51、算真值表。所示就是逻辑运算真值表。466运算符优先级运算符优先级 先执行算术运算,字符运算和日期运算,再执行关系运算,先执行算术运算,字符运算和日期运算,再执行关系运算,最后执行逻辑运算。当然可以用括号来改变其优先级。括号括最后执行逻辑运算。当然可以用括号来改变其优先级。括号括起来的应优先运算。起来的应优先运算。 例例: 多种表达式运算示例多种表达式运算示例 ? 93 AND 53 OR a$ab AND .NOT.f. 主屏幕显示:主屏幕显示: .t. ? (100%3=1) AND (15-4=0) OR 张张=张三张三 主屏幕显示:主屏幕显示: .f.47第三节第三节 常用函数常用函数V

52、isual FoxPro系统中,函数是一段程序代码,用来进行一些特定的运算系统中,函数是一段程序代码,用来进行一些特定的运算或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。Visual FoxPro系统有数百种不同函数,按函数提供方式,可分为系统系统有数百种不同函数,按函数提供方式,可分为系统(标准)函数和用户自定义函函数,按函数运算、处理对象和结果的数据(标准)函数和用户自定义函函数,按函数运算、处理对象和结果的数据类型,可分为数值型函数、字符型函数、逻辑型函数、日期时间型函数、类型,可分为数值型函数、字符型函数、逻辑型函数

53、、日期时间型函数、数据转换函数等,按函数的功能和特点,可分为数据处理函数、数据库数据转换函数等,按函数的功能和特点,可分为数据处理函数、数据库操作函数、文件管理函数、键盘和鼠标处理函数、输出函数、窗口界面操作函数、文件管理函数、键盘和鼠标处理函数、输出函数、窗口界面操作函数、程序设计函数、数据库环境函数、网络操作函数、操作函数、程序设计函数、数据库环境函数、网络操作函数、系统信息函数、动态数据操作函数等。系统信息函数、动态数据操作函数等。 Visual FoxPro的函数由函数名与的函数由函数名与自变量两部分组成。自变量两部分组成。48一、数值型函数一、数值型函数数值函数用于数值运算,其自变量

54、与函数返回值都是数值型数据数值函数用于数值运算,其自变量与函数返回值都是数值型数据1取绝对值函数取绝对值函数ABS( )和符号函数和符号函数SIGN( ) 【格式】【格式】ABS(数值表达式数值表达式) SIGN(数值表达式数值表达式) 【功能】计算数值表达式的值,并返回该值的绝对值。【功能】计算数值表达式的值,并返回该值的绝对值。 SIGN()返回指定数值表达式的符号。当表达式运算结果为返回指定数值表达式的符号。当表达式运算结果为正、负和零时,函数返回值分别为正、负和零时,函数返回值分别为1、-1、0492求平方根函数求平方根函数SQRT( ) 【格式】【格式】SQRT(数值表达式数值表达式

55、) 【功能】求非负数值表达式的平方根。【功能】求非负数值表达式的平方根。3求指数函数求指数函数EXP( ) 【格式】【格式】EXP(数值表达式数值表达式) 【功能】求以【功能】求以e为底、数值表达式值为指数的幂,为底、数值表达式值为指数的幂,即返回即返回ex的值。的值。4圆周率圆周率函数函数PI( ) 【格式】【格式】PI( ) 【功能】返回常量【功能】返回常量的近似值的近似值505取整函数取整函数 【格式】【格式】INT(数值表达式数值表达式) CEILING(数值表达式数值表达式) FLOOR(数值表达式数值表达式) 【功能】【功能】INT()返回指定数值表达式的整数部分。返回指定数值表达

56、式的整数部分。CEILING()返回大于或等于指定数值表达式的最小整数。返回大于或等于指定数值表达式的最小整数。FLOOR()返回大于或等于指定数值表达式的最大整数。返回大于或等于指定数值表达式的最大整数。516四舍五入函数四舍五入函数ROUND( ) 【格式】【格式】ROUND(数值表达式数值表达式1,数值表达式,数值表达式2) 【功能】返回数值表达式【功能】返回数值表达式1四舍五入的值,四舍五入的值, 数值表达式数值表达式2表示保留的小数位数。若数值表达式表示保留的小数位数。若数值表达式2大于或等于零,它表示大于或等于零,它表示要保留的小数位数;如果小于零,它表示的是整数部分的舍要保留的小

57、数位数;如果小于零,它表示的是整数部分的舍入位数。入位数。527求余数函数求余数函数MOD( ) 【格式】【格式】MOD(数值表达式数值表达式1,数值表达式,数值表达式2) 【功能】返回数值表达式【功能】返回数值表达式1除以数值表达式除以数值表达式2的余数的余数, 符号符号与数值表达式与数值表达式2相同。如果两个表达式符号相异,则函数为相同。如果两个表达式符号相异,则函数为两数相除的余数再加上除数的值。两数相除的余数再加上除数的值。例:?例:? Mod(6,3) 显示显示 0 ? Mod(-6, 4) 显示显示 2 ?Mod(6,-4) 显示显示- 2 ? Mod(-6,-4) 显示显示-25

58、38最大值函数最大值函数MAX( )和最小值函数和最小值函数MIN( ) 格式】格式】MAX(,.) MIN(,.) 【功能】返回数值表达式中的最大值【功能】返回数值表达式中的最大值MAX( )和最小值和最小值MIN( )。54二、字符函数二、字符函数字符函数是处理字符型数据的函数,其自变量或函数值中字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。至少有一个是字符型数据。1 1求字符串长度函数求字符串长度函数LEN( )LEN( ) 【格式】【格式】 LEN(LEN(字符串表达式字符串表达式) ) 【功能】返回字符串表达式串的字符数【功能】返回字符串表达式串的字符数(

59、 (长度长度) )。 函数值为函数值为N N型。型。552 2大小写转换函数大小写转换函数LOWER( ) LOWER( ) 和和UPPER( )UPPER( ) 【格式】【格式】LOWER (LOWER (字符表达式字符表达式) ) UPPER ( UPPER (字符表达式字符表达式) ) 【功能】【功能】LOWER( )LOWER( )将字符表达式串中字母全部变成小写字母,将字符表达式串中字母全部变成小写字母, UPPER( )UPPER( )将字符串中字母全部变成大写字母,其它字符不变。将字符串中字母全部变成大写字母,其它字符不变。563 3求子串位置函数求子串位置函数【格式】【格式】

60、AT(AT(1, , , )ATC(ATC(1, , , )【功能】返回字符表达式【功能】返回字符表达式1 1在字符表达式在字符表达式2 2中的起始位置。中的起始位置。函数值为整数。如果表达式函数值为整数。如果表达式2 2不包含串表达式不包含串表达式1 1,函数返回值为零。,函数返回值为零。ATC()ATC()与与AT()AT()功能类似,但在子串比较时不区分字母大小写。功能类似,但在子串比较时不区分字母大小写。第三个参数数值表达式用于表明要搜索字符表达式第三个参数数值表达式用于表明要搜索字符表达式1 1在字符表达在字符表达式式2 2中第几次出现,其默认值为中第几次出现,其默认值为1 1,可缺

温馨提示

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

评论

0/150

提交评论