第二章VFP的数据表达式一、数据类型1.字符型字符型(Character,C
第二章 VFP数据基础

2.1 数据类型
2.字符型数据( Character,简称C)
Eg: I am a student ′2004/10/10 ′ [123.456] ′亲自动手′是一个很好的学习方式 注意: 不包含任何字符的字符串()叫空串,空串与包含空格的字符串( ) 不同。 字符型数据中的字母、大小写并不等价,如ABC 并不等价于abc ; ?命令的功能:另起一行,在新的一行的开始处显示若干个表达式的值。 ??命令的功能:不换行,在当前光标所在处继续显示表达式的值。
?date()
Set mark to # ?date()
?{^2008-09-22}
Set date to long ?date(2008,09,22)
Set mark to
Set date to YMD
2.1 数据类型
3.日期型(Date,简称D)
例2.2 在命令窗口输入以下语句并查看显示结果
日期型常量的正规表示方法是 空日期用{}表示。 {^yyyy-mm-dd};
2.2常量与变量
2.2.1常量
5. 日期时间型常量
日期时间型常量的正规表示方法是{^yyyy-mm-dd [hh [:mm [:ss]] [a|am|p|pm]]}
注意:VFP传统的日期和日期时间格式不带“^”,在日期和日期时间型 常量加“^”是VFP6.0以后规定的严格日期格式,且是默认设置。若需使 用传统的日期和日期时间格式,须用SET STRICTDATE 命令进行设置。
字节。
逻辑值旁边有两 个点,这是逻辑型 数据的定界符。 逻辑值不区分大 小写哦!
2.1 数据类型
6.货币型数据(Currency,简称Y)
货币型数据是代替数值型数据表示货币值的数据,最大长度为20位,占 用8个字节的存储空间。
Visual FoxPro数据类型

4
3.浮点型(Float)
从使用上讲,浮点型字段等同于数值型字段。只是浮点型 字段的内部结构与数值型字段不同,因此运算速度也不同。
(DateTime) 整型(Integer) 双精度型(Double) 逻辑型(Logical) 通用型(General) 备注型(Memo) 简介
说明
大小
应用举例
数字、字母、符号 <=254 姓名、住址
货币单位
8
存款、价格
整数、小数
20
考试成绩
同数值型
年、月、日
8
参加工作时间
年、月、日、
8
上班时间
6
5.逻辑型(Logical) 逻辑型字段的宽度固定为1个字节
• 表示逻辑判断结果的值。 • 逻 辑 型 数 据 只 有 两 个 值 : 逻 辑 值 True
(真).T. 或逻辑值False(假).F.。 • 如表达式 ?3>4 的运算结果为:.F.
7
6.整型(Integer)
用于存储不包含小数部分的数值。整型字段占4个字节, 取值介于 -2147483647~2147483646之间。
时、分、秒
无小数点
1
作业完成否
OLE(对象链接与嵌入) 4 EXCEL表格、图片
文本
4 人员简历、产品
10
Visual FoxPro数据类型
1
数据类型
在定义一字段时,必须规定它的类型。 一个字段的类型是指其字段值的数据类型。
第2章 VFP 6.0 语言基础

•数组元素的数据类型是通过所赋值的数据类型来确定的。
二维数组:类似于一个数据表,第一维是行,第二维 是列。
31
2.2.2 变量
内存中连续的一片存储区域,由一组称为
5.数组
数组元素的变量组成。通过赋值语句可以为各个元素
数组下标的排列规则: 分别赋值,且所赋值的数据类型可以不同。 数组从下标1开始排列, •数组变量:一组变量的集合,这些变量的数据类型可 二维数组的元素排列是 以不同,每个数组元素都可以通过一个数值下标被引用, 先按行排,后按列排。 相当于一个内存变量。
例如,在命令窗口中输入上述命令: X1="123" X2=5 X3=.t. 然后:输入命令: LIST MEMORY LIKE X*
结果显示在主窗口中。
27
2.2.2 变量
变量名 数值型内存变量的 计算机内部表示
作用域
类 型 注释信息 变量值
显示所有第一个字符为X的 内存变量信息
28
2.2.2 变量
.F.、.f. 、.N.、.n. (假)
16
2.2.1
常量
5.日期型常量/日期时间型常量:表示一个确切 的日期和时间,用花括号作为定界符。默认格 式为{mm/dd/yy}。
常用的系统输出格式:mm/dd/yy 常用的系统输入格式:{^yyyy/mm/dd}
如:{^2010-09-15} {^2010/09/15 12:30:15} 也可以用CTOD函数进行转换, 如: CTOD(ˊ09/15/2010ˊ)
17
2.2.1
常量
通过SET DATE,SET CENTURY等命令可以改 变默认的日期格式。 (1)SET DATE命令
格式:SET DATE TO ………
vfp教程第02章 VFP的数据类型

5. 逻辑型
逻辑型数据只含有两个值:真(.T.)或假(.F.),占1个字节。
6.货币型
表示货币量,使用货币类型需在数字前加上$符号。 $123.4 当小数点超过4位,自动四舍五入到4位
8.备注型 ☆
备注型用于在表中存储文本数据,为指向具体文本的指 针,4个字节。文本的文件名为.FTP。
9 .通用型☆
2. 数值型
数值型用来表示整数或实数。包含数字0~9、正号(+)、 负号(-)、小数点(.) 。 例: 100 -2.57 科学记数法: 1e-3 (或1E-3)即1×10-3=0.001 1e3 (或1E3)即1×10+3=1000
5
3. 日期型
日期型用于存储有关年月日数据,占8个字节。 数据书写格式: {^yyyy/mm/dd} ,y-年、m-月、d-日
VFP特色类型,用于在表中存储OLE对象,在表中它指向 具体对象的内容,4个字节的引用。
பைடு நூலகம்
10
2.2 数据存储
在VFP中允许使用常量、变量和数组来存 储数据,还可以使用记录和对象。
这些常量、变量、数组、记录和对象称为 存储数据的容器。
11
2.2.1 VFP中的命名规则
存储数据的容器需要名称,如变量名、数组名、 表的字段名等。
21
10、CEILING(exp ) 函数值为大于或等于exp的最小整数 Ceiling(4.2) 值为什么 ? Ceiling(-4.2) 值为 什么? 11、FLOOR(exp) 函数值为小于或等于exp的最大整数 ? floor(-2.6) 显示? ? floor( 2.6) 显示?
22
二、 字符型函数
例如:M->xm
或 M.xm
VFP第二章数据及数据类型

3).逻辑型常量
逻辑型常量就是表示逻辑判断结果“真”或“假” 的逻辑值。逻辑常量只有真和假两种值,分别用(.t.或.y.) 和(.f.或.n.)表示真和假。一般应在表示逻辑常量的字母 左右加注圆点符“.”以示区别。
4).日期型常量 日期型常量是表示日期值的数据,其默认格式是 {mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示 2002年10月1日这一日期常量值。 系统默认的“严格日期格式”以{^yyyy-mm-dd}的形式 来表示。 ∧指该日期是严格的,表达一个确切的日期,它不受日期 设置命令SET DATE TO 和SET CENTURY ON/OFF的影响。 其中“-”可用“/”来代替。 必须注意,执行命令时, VFP默认使用严格的日期或日期 时间格式,如果要使用通常的日期或日期时间格式,必 须先执行SET STRICTDATE TO 0命令,否则会引起出 错。如果要设置严格的日期或日期时间格式,可执行命 令SET STRICTDATE TO 1。
| |
最低
对于各种逻辑运算,其运算规则可由逻辑运算真值表确 定,表所示就是逻辑运算真值表。 表 逻辑运算真值表
A .T. .T. .F. .F.
B .T. .F. .T. .F.
A .AND.B
A .OR. B
.NOT A
.T. .F. .F. .F.
.T. .T. .T. .F.
.F. .F. .T. .T.
(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也就是以汉 字的拼音顺序比较“大小”,因此,汉字比较实质上是以 字母的顺序进行比较;但 Visual FoxPro 系统可以设置汉 字按笔画排列顺序,因而,汉字的“大小”就决定其笔画 数的多少。 用菜单设置汉字排列顺序方式的操作步骤为:单击 【工具】 | 【选项】命令,将打开“选项”对话框中,在 “数据”选项卡的“排序序列”下拉列表框中选择 “Stroke”项并确定,系统将按汉字的笔画数进行汉字的 排序、比较运算。 "MACHINE"按ASCII码比较大小 ?"实际"<"实习"
第二章VFP的数据表达式一、数据类型1.字符型字符型(Character,C

第二章 VFP的数据表达式一、数据类型1.字符型字符型(Character,C型)通常用于储存文本信息,由字母、汉字、空格、数字、符号和标点等字符组成,宽度不能超过254字节。
若超过254字节,则请改用备注型。
例如:“abc”,“计算机”,“123”,“ID18”等。
2.货币型货币型(Currency,Y型)这种类型是专为货币数据设计的数据类型,表示方法是在数字前加一个$符号。
最多只能保留到小数点后4位,超过四位则会自动四舍五入:少于四位则会自动补零。
占8个字节的空间。
例如:money=$980.45678。
3.数值型数值型(Numeric,N型)用于表示数量,由数字0~9、+或-,以及小数点组成。
数值型数据占8个字节,长度为1~20个字节。
VFP中文版采用十进制和十六进制两种格式。
例如:98.66,0xff(前面加0x表示十六进制)。
数值型数据可采用科学计数法,如“3E2”代表“3×102”,“10e-2”代表“10×10-2”。
4.整型整型(Integer,I型)用于存储不含小数部分的数值。
是一种较小的数据类型,整数型占有内存空间4个字节。
5.浮点型浮点型(Float,F型)等价于数值型类型。
VFP出于兼容性的考虑设置了这个数据类型。
6.日期型日期型(Date,D型)用于存储日期数据。
由年、月、日三部分组成,存储格式为“YYYYMMDD”。
表示范围为{^0001/01/01}到{^9999/12/31},即公元0001年1月1日到公元9999年12月31日。
其中“^”符号表示此日期格式严格遵循YMD(year,month,day)的格式,使用日期型数据时应用大括号{}括起来。
日期型数据存储长度为8个字节。
例如:mydate={^2006/10/12}表示日期是2006年10月12日,而不是2006年12月10日。
7.时间日期型时间日期型(Date Time,T型)用于记录日期时间的数据。
VFP语言基础知识

(1)由汉字、字母、数字、下划线组成,而且 必 须以汉字、字母或下划线开头。 (2)长度最多128个字符。(一个汉字占2个字节) (3)不能使用VFP的保留字。
例1:在下列字符串中,不符合VFP规定的、非法的 变量名是( )
A、GZINPUT2 B、A_SK97 C、4AK D、姓名
2.3.5逻辑表达式
5、逻辑表达式
经验: 与运算:全真为真; 或运算:全假为假; 非运算:真为假,假为真;
例1:
?3+5>6.and.4+7<10 ?3+5>6.and.4+7>10 ?3+5<6.and.4+7<10 ?3+5<6.and.4+7>10
2.3.5逻辑表达式
例2: ?3+5>6.or.4+7< 10 ?3+5>6.or.4+7> 10 ?3+5<6.or.4+7<
2.3.1 数值表达式
1、算术表达式 运算符号:+ - * / **或^ %(求余)
例:
? 2**3 ? 12+45 ? 12%5 ? (2*3-4)/2
2.3.2 字符表达式
2、字符表达式 (1)+:联接,联接两个字符型数据 例: ?“AB”+”CD” (2)-:将前边字符串尾部空格压缩到后边 字符串的尾部 例: ?“ab ” – “cd” ?len(“ab ” – “cd”)
性别 出生日期 系别 贷款否 补贴
女 1982-7-12 管理 TRUE 30
男 1983-11-20 法律 FALSE 30
Visual_FoxPro程序设计基础知识

5
2.2 常量与变量
2.2.1 常量
常量是指在程序运行过程中其值不发生变化的量。常量 分为直接常量和用户声明的符号常量。 1.直接常量 (1)字符型 用定界符括起来的字符串即为字符型常量。 定界符有3种,分别是双引号、单引号和方括号。 注意:定界符必须配对使用,且为半角字符。如"这是什 么"、'你好'、[I am a student]。如果一种定界符已成为 字符型常量的组成部分,则应选择另一种定界符来标识字符 串。如:[学号+'050231']。 (2)数值型 数值型常量由数字、小数点和正负号组成,还可以用指 数形式表示。以下都是合法的数值型常量:5、28.23、-3、 0.5432E5和1.2E3。
2.2 常量与变量
(2)?|??命令 命令格式:?|??<表达式1>[,<表达式2>…] 命令功能:在系统主窗口输出一个或多个表达式的值。 说明:“?”命令在光标当前行的下一行显示,“??”则在当前光标位置 显示。 【例2-3】内存变量的赋值与显示 STORE "数据库" TO x1,x2 STORE 5 TO a1,a2 a3=8 a4={^2008/04/20} ?x1,x2 ?a1,a2 ??a3 ?a4 LIST MEMORY LIKE x*
9
2.2 常量与变量
2.用户声明的符号常量 定义常量的语句格式如下: #DEFINE 常量名 表达式 其中: (1)“常量名”为要定义的常量,为了与一般变量名区别, 常量名一般用大写字母表示。 (2)“表达式”是常量所代表的数据内容,即在程序运行 时实际使用的值。 例如: #DEFINE PI 3.1415926 在 使 用 了 此 定 义 后 , 以 后 凡 遇 到 常 量 名 PI , 都 用 3.1415926来表示。 说明:此语句只能在程序方式下运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 VFP的数据表达式
一、数据类型
1.字符型
字符型(Character,C型)通常用于储存文本信息,由字母、汉字、空格、数字、符号和标点等字符组成,宽度不能超过254字节。
若超过254字节,则请改用备注型。
例如:“abc”,“计算机”,“123”,“ID18”等。
2.货币型
货币型(Currency,Y型)这种类型是专为货币数据设计的数据类型,表示方法是在数字前加一个$符号。
最多只能保留到小数点后4位,超过四位则会自动四舍五入:少于四位则会自动补零。
占8个字节的空间。
例如:money=$980.45678。
3.数值型
数值型(Numeric,N型)用于表示数量,由数字0~9、+或-,以及小数点组成。
数值型数据占8个字节,长度为1~20个字节。
VFP中文版采用十进制和十六进制两种格式。
例如:98.66,0xff(前面加0x表示十六进制)。
数值型数据可采用科学计数法,如“3E2”代表“3×102”,“10e-2”代表“10×10-2”。
4.整型
整型(Integer,I型)用于存储不含小数部分的数值。
是一种较小的数据类型,整数型占有内存空间4个字节。
5.浮点型
浮点型(Float,F型)等价于数值型类型。
VFP出于兼容性的考虑设置了这个数据类型。
6.日期型日期型(Date,D型)用于存储日期数据。
由年、月、日三部分组成,存储格式为“YYYYMMDD”。
表示范围为{^0001/01/01}到{^9999/12/31},即公元0001年1月1日到公元9999年12月31日。
其中“^”符号表示此日期格式严格遵循YMD(year,month,day)的格式,使用日期型数据时应用大括号{}括起来。
日期型数据存储长度为8个字节。
例如:mydate={^2006/10/12}表示日期是2006年10月12日,而不是2006年12月10日。
7.时间日期型
时间日期型(Date Time,T型)用于记录日期时间的数据。
由日期数据加具体时间构成,存储格式为“YYYYMMDDHHMMSS”。
其中时间部分的取值为:00:00:00a到11:59:59p之间。
例如:mydatetime={^2006/12/14 10:30:05p} 。
8.双精度型
双精度型(Double,B型)常用来记录高精度的数据。
9.逻辑型
逻辑型(Logical,L型)用于存储只有两个值的数据,即逻辑真T(t)或Y(y)和逻辑假F(f)或N(n)。
10.通用型
通用型(General,G型)是一种用于OLE(对象的链接与嵌入)存储对象(字处理文档、电子表格、图片、声音等)的数据类型。
这些OLE对象是用其他应用程序建立的,该类型的长度固定为4个字节。
11.备注型
备注型(Memo,M型)在字段名长度上和通用型一样,在表中占4个字节,实际的备注内容以后缀名.fpt的独立文件存储。
需要指出的是,因为备注型数据只用于表中,所以内存中不存在备注型的变量和数组元素。
二、常量
在程序运行过程中取值不能改变的量称为常量,
有以下6种数据类型:数值型常量、字符型常量、日期型常量、日期时间型常量、逻辑型常量、货币型常量。
三、变量
1、内存变量
内存变量是用户通过命令或程序在内存中开辟的一块存储区域,可用来存储数据。
定义内存变量时需为其取名并赋初值,这个变量才可以使用,否则,系统会提示:找不到变量。
(1).内存变量的命名规则
内存变量名是以字母(汉字或下划线)为开头;由字母、数字、下划线组成;至多128个字符;不可与系统保留字同名。
所谓系统的保留字是VFP语言使用的命令名、参数等,如USE、LIST就是系统保留字。
(2).内存变量的赋值命令
格式1:<内存变量>=<表达式>
格式2:STORE <表达式> TO <内存变量表>
功能:定义内存变量,计算表达式的值,赋值给内存变量。
说明:内存变量的类型由所提供的值的数据类型所决定。
STORE命令的<内存变量表>可包括多个内存变量,但须用逗号来分隔。
该命令可将同一值赋给多个变量,而“=”命令仅可为一个内存变量赋值。
例:xm='王洪'
store 0 to a,b
(3).输出内存变量
? <表达式>:在新的一行打印输出<表达式>。
?? <表达式>:在当前行打印输出<表达式>。
(4).内存变量的显示
DISPLAY | LIST MEMORY [LIKE <带通配符内存变量>]
功能:显示内存变量的当前信息,包括变量名、作用域、数据类型和变量存储值。
的作用:分屏显示内存变量;
的作用:一次显示内存变量。
(5).内存变量的清除
格式1:CLEAR MEMORY
格式2:RELEASE <内存变量名表>
功能:清除内存变量,释放内存空间。
2、字段变量
字段变量是在数据库中定义的变量,每一个字段名都是一个字段变量。
字段变量是永久变量,也是一种多值变量,它的值因记录而异。
内存变量与字段变量的区别:
当内存变量和字段变量同名时,默认为字段变量,如想指明为内存变量,须在内存变量名前加M.或M->(由减号和大于号组成),即M.<内存变量>或M-><内存变量>。
3、数组
数组是按一定顺序排列的一组内存变量,是具有相同名称而下标不同的一组有序内存变量,数组中的各个变量称为数组元素。
数组使用前需要先定义。
在VFP中,一个数组中的数据不必是同一种数据类型。
常用的有一维数组,二维数组。
数组的定义:
DIMENSION | DECLARE | PUBLIC <数组名1>(<下标1>[,<下标2>])[,<数组名2>(<下标1>[,<下标2>])]…功能:定义一维或二维数组,及其下标的上界。
系统规定下标的下界为1。
说明:用DECLARE或DIMENSION定义私有数组;用PUBLIC命定义全局数组。
4、系统内存变量
系统内存变量是下划线起头的内存变量,是系统内部提供的特有变量。
四、表达式
带两个操作数的运算符称为双目运算符,带一个操作数的称为单目运算符。
1、数值型表达式(算术表达式)
2、字符型表达式
3、日期型表达式
日期型运算符
日期时间型运算符
4、关系型表达式
关系型表达式是由两个同类型的表达式用关系运算符连接起来的式子。
其运算结果为逻辑值真(.T.)或假(.F.)。
运算符优先级:级别相同,运算顺序从左到右。
5、逻辑型表达式
逻辑型表达式由逻辑型常量、变量、函数、关系表达式和逻辑运算符构成。
其结果为逻辑值。
逻辑运算符有:逻辑非“.NOT.”(单目运算符)、逻辑与“.AND.”和逻辑或“.OR.”。
逻辑型运算符
逻辑型运算规则
5、运算符的优先级
算术运算符/字符串运算符/日期运算符→关系运算符→逻辑运算符。
五、函数
函数有函数名、参数、函数值三大要素:
第一,函数名起标识作用。
第二,参数是自变量,一般是表达式,写在括号里。
有的函数没有参数,称“哑参数”。
如DATE()。
第三,函数运算会返回一个函数值,称为函数值,函数值会因参数而异。
1、数值函数
2、字符函数
3、日期和时间函数
4、数据类型转换函数。