常量变量表达式和函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、 日期型常量
日期型常量是使用花括号括起来的日期型数据序列,花括号内包含年、月、日三部分内容,各部分 之间用分割符分割,(/)(-)和(.)。在Visual FoxPro中日期型常量具有以下两种表示格式: (1) 传统的日期格式:{MM/DD/YY}或{MM/DD/YYYY},其中MM、DD、YY分别表示月、日、年 。 例如:{04/28/05}或{04/28/2005} (2) 严格的日期格式:{^YYYY-MM-DD} 格式中的符号“^”表明该日期格式是严格的,并按照YMD的格式来解释日期如{^2005-04-28}
?{^2005-04-28,11:25:30 A} 主屏幕显示:
04/28/05 11:25:30 AM
(5) 逻辑型常量
逻辑型常量只有两个值:“真”与“假”,用.T.或.t.,.Y.或.y.表示“真”,用.F. 或.f.,.N.或.n.表示“假”。 注意:逻辑型常量前后两边的小圆点作为逻辑型常量的定界符不能省略。
2021/3/8
上一页
下一页
百度文库返回
6
二、 变量
变量是指在程序运行过程中可以变化的量,即变量的值是可以随时更改的。 在Visual FoxPro中的变量可以分为字段变量和内存变量两大类。
1、 字段变量
字段变量是指数据表中已定义的任意一个字段,个数据由于在一表中,字段 的值是随着记录行的变化而变化的,所以称它为变量。使用字段变量首先要 建立数据表,在建立表的过程中创建字段变量。
【例3.4】分屏显示所有内存变量。 DISPLAY MEMORY
2021/3/8
上一页
下一页
返回
9
(5)内存变量的清除命令
所谓内存变量的清除,是指清除内存存储单元中存放的内容,并收回该内存变量所占 用的内存空间。它有以下几种命令格式。
格式1:CLEAR MEMORY 格式2:RELEASE <内存变量名表> 格式3: RELEASE ALL [LIKE <通配符>] 功能:清除内存变量。 区别:格式1清除所有的内存变量,格式2清除指定的内存变量,格式3清除与通配符 相匹配的内存变量。 【例3.5】清除所有以n开头的内存变量 解:在命令窗口输入命令
l 日期型数据1-日期型数据2 &&结果为两个日期间相差的天数
l 日期时间型数据+数值(秒数)&&结果为日期时间型数据加上 数值后的一个新日期时间
l 日期时间型数据-数值(秒数) &&结果为日期型数据减去数值 后的一个新日期时间
l 日期时间型数据1-日期时间型数据2 &&结果为两个日期时间 相差的秒数
与内存变量不同,数组在使用之前必须先定义后使用,具体定义格式如下: 格式1:DIMENSION <数组名>(<下标1> [,<下标2>]) 格式2: DECLARE <数组名>(<下标1> [,<下标2>]) 注意: 数组元素的下标从1开始,每个数组元素的默认值为逻辑假。 ②数组的赋值
数组的赋值和内存变量赋值方法相同,例如:A(1) = "张三",当省略下标时表 示将一个值赋值给数组的所有元素,例如:A=15。 在Visual FoxPro系统中,数组经常用于和表交换数据,使用方法在以后有关内 容中介绍。
l 两个日期型或日期时间型数据不能相加
2021/3/8
上一页
下一页
返回
13
【例3.8】日期型数据操作举例。 解:? {^2010-10-16}+20
主屏幕显示结果为: 11/05/10 ? {^2010-10-16}-10 主屏幕显示结果为: 10/06/10 ? {^2011-07-15}-{^2010-10-16} 主屏幕显示结果为: 272 ? {^2011-07-15}+{^2010-10-16} 主屏幕显示“操作符/操作数类型不匹配”的错误信息。
(5)日期时间型:简称T型。表示年月日和时分秒,标准宽度为8个字节长 度。
(6)逻辑型:简称L型。只有两个值,真(.T.)或假(.F.),标准宽度为1个字节。 (7)备注型:简称M型。存放不定长文本,如个人简历等。标准宽度度为4 个字节。
(8)通用型:简称G型。用来存放OLE对象数据,如图片、照片等,标准宽度 为4个字节。
2021/3/8
上一页
下一页
返回
8
注意:系统规定,如果内存变量与打开的当前数据表文件中的字段同名,在 显示时字段变量优先于内存变量,此时若要显示内存变量的内容,必须在内 存变量名前加写“M->”或“M.”以示区别。
(4)内存变量的显示命令 格式:LIST|DISPLAY MEMORY [LIKE<通配符>] 功能:显示内存变量的当前信息,包括变量名、作用范围、类型和值。 说明:LIST不分屏显示,DISPLAY分屏显示。通配符中"*"表示一个或多个字 符,“?”表示单个字符。
第三章 数据与数据运算
第一节 数据类型 第二节 常量与变量 第三节 运算符与表达式 第四节 函数
2021/3/8
上一页
下一页
1
第一节 数据类型
(1)字符型:简称C型,是默认的数据类型。一个字符型字段最长为255个 字符。用户可按需要确定宽度。
(2)货币型:简称Y型。货币单位,如价格。宽度为8,自动取4位小数。 (3)数值型:简称N型。整数或小数,如考试分数。需要用户确定其宽度。 最多可以有20位数字(包括小数点)。 (4) 日期型:简称D型。表示年月日,如出生日期等,标准宽度为8个字节 长度。
2021/3/8
上一页
下一页
返回
3
注意:
l Visual FoxPro默认日期格式为严格的日期格式,若要使用传统的日期格式 须先执行命令SET STRICTDATE TO 0
传统的日期格式中年月日的默认顺序为MDY,若要改变可使用命令
SET DATE TO YMD/MDY/DMY
传统的日期格式中分割符的默认值为斜杠(/),若要改变可使用如下命 令:
上一页
下一页
返回
10
(7)数组 数组是按一定顺序排列的一组内存变量,在内存中用一串连续的区域来存
放,数组用统一的名称来表示,称为数组名,数组中的每一个内存变量都称为 数组的元素,数组元素用数组名及它在数组中的排列标号(简称下标)来表示。 例如:A(1)、A(2)、A(3)、A(4)其中A表示数组名,1、2、3、4为下标。根据 下标的个数又可以把数组分为一维数组和二维数组,例如A(3)表示一维数组、 A(3,4)表示二维数组。 ①数组的定义
2021/3/8
上一页
下一页
返回
4
【例3.1】在命令窗口输入如下命令,查看各种日期数据的输出结果。
解:SET STRICTDATE TO 0
SET CENTURY OFF
?{04/28/05} && ? 号用来显示表达式的值
主屏幕显示
04/28/05
接着再输入命令
SET CENTURY ON
?{04/28/05}
RELEASE ALL LIKE n*
(6)宏替换命令
格式:&<字符型内存变量>[.] 功能:用字符型内存变量中存放的内容取代"&"号及其后面的变量名,[.]中的圆点用 作结束的标识。
【例3.6】设L=8,M=5,N="L+M",求表达式5+&N的值。 解: ? 5+&N 主屏幕显示结果为:18
2021/3/8
2021/3/8
上一页
下一页
返回
7
(2)内存变量的赋值命令 格式1:<内存变量名>=<表达式> 格式2:STORE <表达式> TO <内存变量名表> 功能:计算表达式,并将计算结果赋值给内存变量。 【例3.3】定义内存变量并将其赋值。 解:在命令窗口输入以下命令:
Y="VFP" STORE “李平” TO XM
2、 内存变量
内存变量是指内存中的一个存储单元,该单元的名称称为内存变量名,该单 元内存放的数据,称为内存变量的值,而内存变量的类型取决于内存变量值 的类型,它可以是数值型、字符型、逻辑型、日期型和日期时间型。
(1)内存变量的命名
为区分不同的存储单元,对不同的存储单元就应该具有不同的名称,即每个 内存变量都应该有自己的名称。在Visual FoxPro中内存变量名可以由字母 (也可以是汉字)、数字和下划线组成,其长度不超过128个字符,且须以字 母或下划线开头,不可与保留字同名。
2021/3/8
上一页
下一页
返回
14
2.字符运算符 字符运算符是对字符串进行连接操作的一种符号,在Visual FoxPro中 的字符运算符如表4-2所示。 +:将加号前后的字符串连接起来组成一个新的字符串。 -:先将减号前字符串尾部的空格移至减号后字符串的尾部,然后再 将两个字符串连接组成一个新的字符串。
2021/3/8
上一页
下一页
2
第二节 常量与变量
一、常量
1、数值型常量
数值型常量也就是常数,是由数字0~9、小数点和正负号构成的数字序列。 例如:123,123.45,-123.45等。
2、 字符型常量
字符型常量又称字符串,是由英文状态的单引号、双引号和方括号括起来的字符序列,这里的单引 号、双引号和方括号又称定界符。 例如:”Visual FoxPro”, 'VF系统开发',[计算机],""," ","I'm a student",[I'm a student ]等。
主屏幕显示结果为:
148.00 注意:表达式中4和X之间的乘号不能省略。
2021/3/8
上一页
下一页
返回
12
作为一种特例,加法和减法运算符也可以用于日期型和日期时间 型数据的操作,其操作规则如下:
l 日期型数据+数值(天数) &&结果为日期型数据加上数值后的 一个新日期
l 日期型数据-数值(天数) &&结果为日期型数据减去数值后的 一个新日期
2021/3/8
上一页
下一页
返回
11
第三节 运算符与表达式
表达式是指用括号和运算符把常量、变量以及函数连接而成的式子,表达式 具有计算、判断和数据类型转换等作用。
一、 运算符
运算符是对数据进行各种操作的一种符号,又称操作符。在Visual FoxPro中运 算符分为4类,即:算术运算符、字符运算符、关系运算符和逻辑运算符。 1.算术运算符 算术运算符是对数值型数据进行操作的一种符号,在Visual FoxPro中的算术运 算符如表4—1所示。 (),**、^,*、/、%,+、【例3.7】假定变量X的值为5,计算表达式3+4X+53的值。 解:? 3+4*X+5^3
格式:SET MARK TO [日期分割符] 功能:用于设置日期分隔符,如“-”、“.”等。格式中分隔符要用单引号 或双引号定界。
l 传统的日期格式中年份的默认值为2位,若要显示世纪值即4位数的年份 值,可使用如下命令: 格式: SET CENTURY ON/OFF 功能:用于设置显示日期型数据是否显示世纪,ON表示年份用4位,OFF则 只显示2位。
STORE 2 TO n1,n2,n3 注意:格式2可以同时为多个变量赋相同的值,格式1只能为单个变量赋值。 (3)表达式值的显示命令 格式1:? <表达式表> 格式2:?? <表达式表> 功能:计算表达式,并将计算结果在主屏幕中显示。 区别:格式1自动产生换行符,表示要换行显示结果,而格式2不会产生换行 符,表示要在当前行光标所在位置起显示结果。
主屏幕显示
04/28/2005
接着再输入命令 SET STRICTDATE TO 1
图 4-1 错误提示信息
?{04/28/05}
主屏幕提示出错信息如图4-1所示。
?{^2005-04-28}
主屏屏显示:
04/28/2005
2021/3/8
上一页
下一页
返回
5
(4) 日期时间型常量
日期时间型常量是用花括号括起来的日期时间型数据序列,括号内主要包括 日期和时间两部分内容:{<日期>,<时间>},其中日期部分的表示格式与日期 型常量相同,时间部分的表示格式为:[HH[:MM[:SS]]] [A|P] 这里的HH、MM、 SS分别表示时、分和秒,A(或AM)和P(或PM)分别表示上午和下午。 【例3.2】在主窗口显示日期时间型常量的内容。 解:在命令窗口输入命令:
【例3.9】在命令窗口分别输入A="hello "和B="everyone",求A+B和AB的值。 解:在命令窗口输入
? A+B 主屏幕显示为: hello everyone
接着再输入: ? A-B 主屏幕显示为: helloeveryone
2021/3/8
上一页
下一页
返回
15
3.关系运算符 关系运算符: <小于、<=小于等于、>大于、>=大于等于、=等于、<>或#或!=不 等于、==字符串精确比较、$字符串包含测试。 两个数据的比较规则:
日期型常量是使用花括号括起来的日期型数据序列,花括号内包含年、月、日三部分内容,各部分 之间用分割符分割,(/)(-)和(.)。在Visual FoxPro中日期型常量具有以下两种表示格式: (1) 传统的日期格式:{MM/DD/YY}或{MM/DD/YYYY},其中MM、DD、YY分别表示月、日、年 。 例如:{04/28/05}或{04/28/2005} (2) 严格的日期格式:{^YYYY-MM-DD} 格式中的符号“^”表明该日期格式是严格的,并按照YMD的格式来解释日期如{^2005-04-28}
?{^2005-04-28,11:25:30 A} 主屏幕显示:
04/28/05 11:25:30 AM
(5) 逻辑型常量
逻辑型常量只有两个值:“真”与“假”,用.T.或.t.,.Y.或.y.表示“真”,用.F. 或.f.,.N.或.n.表示“假”。 注意:逻辑型常量前后两边的小圆点作为逻辑型常量的定界符不能省略。
2021/3/8
上一页
下一页
百度文库返回
6
二、 变量
变量是指在程序运行过程中可以变化的量,即变量的值是可以随时更改的。 在Visual FoxPro中的变量可以分为字段变量和内存变量两大类。
1、 字段变量
字段变量是指数据表中已定义的任意一个字段,个数据由于在一表中,字段 的值是随着记录行的变化而变化的,所以称它为变量。使用字段变量首先要 建立数据表,在建立表的过程中创建字段变量。
【例3.4】分屏显示所有内存变量。 DISPLAY MEMORY
2021/3/8
上一页
下一页
返回
9
(5)内存变量的清除命令
所谓内存变量的清除,是指清除内存存储单元中存放的内容,并收回该内存变量所占 用的内存空间。它有以下几种命令格式。
格式1:CLEAR MEMORY 格式2:RELEASE <内存变量名表> 格式3: RELEASE ALL [LIKE <通配符>] 功能:清除内存变量。 区别:格式1清除所有的内存变量,格式2清除指定的内存变量,格式3清除与通配符 相匹配的内存变量。 【例3.5】清除所有以n开头的内存变量 解:在命令窗口输入命令
l 日期型数据1-日期型数据2 &&结果为两个日期间相差的天数
l 日期时间型数据+数值(秒数)&&结果为日期时间型数据加上 数值后的一个新日期时间
l 日期时间型数据-数值(秒数) &&结果为日期型数据减去数值 后的一个新日期时间
l 日期时间型数据1-日期时间型数据2 &&结果为两个日期时间 相差的秒数
与内存变量不同,数组在使用之前必须先定义后使用,具体定义格式如下: 格式1:DIMENSION <数组名>(<下标1> [,<下标2>]) 格式2: DECLARE <数组名>(<下标1> [,<下标2>]) 注意: 数组元素的下标从1开始,每个数组元素的默认值为逻辑假。 ②数组的赋值
数组的赋值和内存变量赋值方法相同,例如:A(1) = "张三",当省略下标时表 示将一个值赋值给数组的所有元素,例如:A=15。 在Visual FoxPro系统中,数组经常用于和表交换数据,使用方法在以后有关内 容中介绍。
l 两个日期型或日期时间型数据不能相加
2021/3/8
上一页
下一页
返回
13
【例3.8】日期型数据操作举例。 解:? {^2010-10-16}+20
主屏幕显示结果为: 11/05/10 ? {^2010-10-16}-10 主屏幕显示结果为: 10/06/10 ? {^2011-07-15}-{^2010-10-16} 主屏幕显示结果为: 272 ? {^2011-07-15}+{^2010-10-16} 主屏幕显示“操作符/操作数类型不匹配”的错误信息。
(5)日期时间型:简称T型。表示年月日和时分秒,标准宽度为8个字节长 度。
(6)逻辑型:简称L型。只有两个值,真(.T.)或假(.F.),标准宽度为1个字节。 (7)备注型:简称M型。存放不定长文本,如个人简历等。标准宽度度为4 个字节。
(8)通用型:简称G型。用来存放OLE对象数据,如图片、照片等,标准宽度 为4个字节。
2021/3/8
上一页
下一页
返回
8
注意:系统规定,如果内存变量与打开的当前数据表文件中的字段同名,在 显示时字段变量优先于内存变量,此时若要显示内存变量的内容,必须在内 存变量名前加写“M->”或“M.”以示区别。
(4)内存变量的显示命令 格式:LIST|DISPLAY MEMORY [LIKE<通配符>] 功能:显示内存变量的当前信息,包括变量名、作用范围、类型和值。 说明:LIST不分屏显示,DISPLAY分屏显示。通配符中"*"表示一个或多个字 符,“?”表示单个字符。
第三章 数据与数据运算
第一节 数据类型 第二节 常量与变量 第三节 运算符与表达式 第四节 函数
2021/3/8
上一页
下一页
1
第一节 数据类型
(1)字符型:简称C型,是默认的数据类型。一个字符型字段最长为255个 字符。用户可按需要确定宽度。
(2)货币型:简称Y型。货币单位,如价格。宽度为8,自动取4位小数。 (3)数值型:简称N型。整数或小数,如考试分数。需要用户确定其宽度。 最多可以有20位数字(包括小数点)。 (4) 日期型:简称D型。表示年月日,如出生日期等,标准宽度为8个字节 长度。
2021/3/8
上一页
下一页
返回
3
注意:
l Visual FoxPro默认日期格式为严格的日期格式,若要使用传统的日期格式 须先执行命令SET STRICTDATE TO 0
传统的日期格式中年月日的默认顺序为MDY,若要改变可使用命令
SET DATE TO YMD/MDY/DMY
传统的日期格式中分割符的默认值为斜杠(/),若要改变可使用如下命 令:
上一页
下一页
返回
10
(7)数组 数组是按一定顺序排列的一组内存变量,在内存中用一串连续的区域来存
放,数组用统一的名称来表示,称为数组名,数组中的每一个内存变量都称为 数组的元素,数组元素用数组名及它在数组中的排列标号(简称下标)来表示。 例如:A(1)、A(2)、A(3)、A(4)其中A表示数组名,1、2、3、4为下标。根据 下标的个数又可以把数组分为一维数组和二维数组,例如A(3)表示一维数组、 A(3,4)表示二维数组。 ①数组的定义
2021/3/8
上一页
下一页
返回
4
【例3.1】在命令窗口输入如下命令,查看各种日期数据的输出结果。
解:SET STRICTDATE TO 0
SET CENTURY OFF
?{04/28/05} && ? 号用来显示表达式的值
主屏幕显示
04/28/05
接着再输入命令
SET CENTURY ON
?{04/28/05}
RELEASE ALL LIKE n*
(6)宏替换命令
格式:&<字符型内存变量>[.] 功能:用字符型内存变量中存放的内容取代"&"号及其后面的变量名,[.]中的圆点用 作结束的标识。
【例3.6】设L=8,M=5,N="L+M",求表达式5+&N的值。 解: ? 5+&N 主屏幕显示结果为:18
2021/3/8
2021/3/8
上一页
下一页
返回
7
(2)内存变量的赋值命令 格式1:<内存变量名>=<表达式> 格式2:STORE <表达式> TO <内存变量名表> 功能:计算表达式,并将计算结果赋值给内存变量。 【例3.3】定义内存变量并将其赋值。 解:在命令窗口输入以下命令:
Y="VFP" STORE “李平” TO XM
2、 内存变量
内存变量是指内存中的一个存储单元,该单元的名称称为内存变量名,该单 元内存放的数据,称为内存变量的值,而内存变量的类型取决于内存变量值 的类型,它可以是数值型、字符型、逻辑型、日期型和日期时间型。
(1)内存变量的命名
为区分不同的存储单元,对不同的存储单元就应该具有不同的名称,即每个 内存变量都应该有自己的名称。在Visual FoxPro中内存变量名可以由字母 (也可以是汉字)、数字和下划线组成,其长度不超过128个字符,且须以字 母或下划线开头,不可与保留字同名。
2021/3/8
上一页
下一页
返回
14
2.字符运算符 字符运算符是对字符串进行连接操作的一种符号,在Visual FoxPro中 的字符运算符如表4-2所示。 +:将加号前后的字符串连接起来组成一个新的字符串。 -:先将减号前字符串尾部的空格移至减号后字符串的尾部,然后再 将两个字符串连接组成一个新的字符串。
2021/3/8
上一页
下一页
2
第二节 常量与变量
一、常量
1、数值型常量
数值型常量也就是常数,是由数字0~9、小数点和正负号构成的数字序列。 例如:123,123.45,-123.45等。
2、 字符型常量
字符型常量又称字符串,是由英文状态的单引号、双引号和方括号括起来的字符序列,这里的单引 号、双引号和方括号又称定界符。 例如:”Visual FoxPro”, 'VF系统开发',[计算机],""," ","I'm a student",[I'm a student ]等。
主屏幕显示结果为:
148.00 注意:表达式中4和X之间的乘号不能省略。
2021/3/8
上一页
下一页
返回
12
作为一种特例,加法和减法运算符也可以用于日期型和日期时间 型数据的操作,其操作规则如下:
l 日期型数据+数值(天数) &&结果为日期型数据加上数值后的 一个新日期
l 日期型数据-数值(天数) &&结果为日期型数据减去数值后的 一个新日期
2021/3/8
上一页
下一页
返回
11
第三节 运算符与表达式
表达式是指用括号和运算符把常量、变量以及函数连接而成的式子,表达式 具有计算、判断和数据类型转换等作用。
一、 运算符
运算符是对数据进行各种操作的一种符号,又称操作符。在Visual FoxPro中运 算符分为4类,即:算术运算符、字符运算符、关系运算符和逻辑运算符。 1.算术运算符 算术运算符是对数值型数据进行操作的一种符号,在Visual FoxPro中的算术运 算符如表4—1所示。 (),**、^,*、/、%,+、【例3.7】假定变量X的值为5,计算表达式3+4X+53的值。 解:? 3+4*X+5^3
格式:SET MARK TO [日期分割符] 功能:用于设置日期分隔符,如“-”、“.”等。格式中分隔符要用单引号 或双引号定界。
l 传统的日期格式中年份的默认值为2位,若要显示世纪值即4位数的年份 值,可使用如下命令: 格式: SET CENTURY ON/OFF 功能:用于设置显示日期型数据是否显示世纪,ON表示年份用4位,OFF则 只显示2位。
STORE 2 TO n1,n2,n3 注意:格式2可以同时为多个变量赋相同的值,格式1只能为单个变量赋值。 (3)表达式值的显示命令 格式1:? <表达式表> 格式2:?? <表达式表> 功能:计算表达式,并将计算结果在主屏幕中显示。 区别:格式1自动产生换行符,表示要换行显示结果,而格式2不会产生换行 符,表示要在当前行光标所在位置起显示结果。
主屏幕显示
04/28/2005
接着再输入命令 SET STRICTDATE TO 1
图 4-1 错误提示信息
?{04/28/05}
主屏幕提示出错信息如图4-1所示。
?{^2005-04-28}
主屏屏显示:
04/28/2005
2021/3/8
上一页
下一页
返回
5
(4) 日期时间型常量
日期时间型常量是用花括号括起来的日期时间型数据序列,括号内主要包括 日期和时间两部分内容:{<日期>,<时间>},其中日期部分的表示格式与日期 型常量相同,时间部分的表示格式为:[HH[:MM[:SS]]] [A|P] 这里的HH、MM、 SS分别表示时、分和秒,A(或AM)和P(或PM)分别表示上午和下午。 【例3.2】在主窗口显示日期时间型常量的内容。 解:在命令窗口输入命令:
【例3.9】在命令窗口分别输入A="hello "和B="everyone",求A+B和AB的值。 解:在命令窗口输入
? A+B 主屏幕显示为: hello everyone
接着再输入: ? A-B 主屏幕显示为: helloeveryone
2021/3/8
上一页
下一页
返回
15
3.关系运算符 关系运算符: <小于、<=小于等于、>大于、>=大于等于、=等于、<>或#或!=不 等于、==字符串精确比较、$字符串包含测试。 两个数据的比较规则: