数据类型与数据运算_第1页
数据类型与数据运算_第2页
数据类型与数据运算_第3页
数据类型与数据运算_第4页
数据类型与数据运算_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

第2章

VisualFoxPro的数据与数据运算

2.1VisualFoxPro的数据类型

2.2VisualFoxPro数据存储

2.3常用函数2.4VisualFoxPro的表达式

2.5

VisualFoxPro命令的一般格式

2.6例题解析

本章要点VisualFoxPro系统中各种数据类型数据的存储、表示方式和操作运算方法常用函数的功能与用法本章难点

数据类型与取值范围、数据的4种表示形式(常量、变量、函数和表达式)内存变量的操作方法

表达式的使用方法

2.1VisualFoxPro的数据类型

2.1.1字符型(Character)字符型数据是不具计算能力的文字数据类型,用于保存诸如姓名、地址和无需计算的数字等文本信息,用字母C表示。字符型数据包括中文字符、英文字符和其他ASCII字符,其长度(即字符个数)范围是0到254个字符。

2.1.2数值型(numeric)数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据由数字、小数点、正负号和表示乘幂的字母E组成,数值精度达16位。在VisualFoxPro系统中,按存储、表达形式与取值范围不同,数值型数据又分为4种不同类型:

1.普通型(numeric)普通型数据由数字、小数点、正负号和字母E组成,用字母N表示。数值的数据的取值范围是:-0.9999999999E+19—0.9999999999E+20,包括正负号、小数点和字母E在内,其长度(数据位数)最大20位。通常用于表示实数,如86.0、-0.75、7E-6(即7*10-6)等。

2.浮点型(float)浮点型数据是数值型数据的一种,用字母F表示。它的精度与普通型数据完全等价。3.双精度型(double)双精度型数据是具有更高精度的数值型数据,用字母B表示。它采用固定长度的浮点格式存储,占用8个字节,其取值范围是±4.94065645841247E-324—±1.79769313486232E308。4.整型(integer)整型数据是不包含小数部分的数值型数据,用字母I表示.整型数据只用来表示整数,以二进制形式存储,占用4个字节.其取值范围是:-2147483647—2147483646。

2.1.3日期型(date)日期型数据是表示日期的数据,用字母D表示.日期的默认格式是{mm/dd/yyyy}其中mm表示月份,dd表示日期,yyyy表示年度,固定长度8位,如{^03/16/2005}表示2005年3月16日这一日期数据。

2.1.4日期时间型(DataTimes)日期时间型数据是表示日期和时间的数据,用字母T表示。日期时间的默认格式是{mm/dd/yyyy

hh:mm:ss},其中mm、dd

、yyyy的意义与日期型相同,而hh表示小时,mm表示分钟,ss表示秒数。日期时间值存储在含有两个四字节整数的8个字节中,第一个四字节用于保存日期,剩下的四字节整数保存时间。

2.1.5逻辑型(Logic)逻辑型数据是描述客观事物真假的数据类型,表示逻辑判断的结果,用字母L表示。逻辑型数据只有真(.t.或.y.)和假(.f.或.n.)两种,固定长度1位。为区别其他数据类型,一般需在表示逻辑值的字母t、y、f、n的前后加圆点符“.”。

2.1.6备注型

(Memo)备注型数据用于存储数据块。可以把它看成是字符型数据的特殊形式,用字母M表示。

备注型数据没有数据长度限制,仅受限于磁盘空间。它只用于表中字段类型的定义,字段长度固定为4个字节,实际数据存放在与表文件同名的备注文件(.FPT)中,长度根据数据内容而定。

2.1.7通用型

(General)通用型数据是存储OLE(ObjectLinkingandEmbedding)对象的数据类型,用字母G表示。通用型数据中的OLE对象可以是电子表格、字处理文档、

图形图片等。它只用于表中字段类型的定义。通用型数据字段长度固定为4个字节,实际数据长度仅受限于磁盘空间。

2.1.8货币型

(Currency)货币型数据是存储美元金额而使用的一种称为货币(Currency)的数据类型,其取值范围是:-922337203685477.5808—922337203685477.5807,默认保留4位小数,占据8字节存储空间。货币型数据用字母Y表示。

2.2VisualFoxPro数据存储

2.2.1常量

1、常量的概念在VisualFoxPro系统中,常量是指在程序运行过程中始终保持不变的数据;变量是指其值在程序运行的不同时刻会发生改变的量。

2、常量分类

常量是在命令或程序中可以直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。创建常量和释放常量可以采用以下命令语句:#define<常量名><表达式>#undef<常量名>VisualFoxPro按照常量取值的数据类型将常量分为6种类型。

1.数值型常量由数字、点和正负号组成,表示整数或实数值,如365、-785、155.98、1092.5041等分别是数值型常量中的整数和实数。

2.字符型常量

由任意ASCⅡ字符、汉字和汉字字符组成的字符型数据,字符常量又称为字符串。为与其他类型相区别,VisualFoxPro要求将字符串中的所有字符用对双引号“””或单引号“’”或方括号“

[]”作为定界符括起来。

3.逻辑型常量

逻辑型常量就是表示逻辑判断结果“真”或“假”的逻辑值。逻辑常量只有真和假两个值,并分别用(.t.和y.)或(.f.和n.)表示。

4.日期型常量

日期型常量就是用来表示日期的数值,其默认格式是{mm/dd/[yy]yy},如{05/01/05},{05/01/2005}均用来表示2005年5月1日这一日期常量值。

5.日期时间型常量

用于表示日期和时间的常量,其默认格式{mm/dd/[yy]yy[,]hh:mm:ss[a|p]},其中a和p分别表示AM(上午)PM(下午)。

(1)日期格式中用2位数表示年份,但涉及到世纪问题就不便区分VisualFoxPro提供设置命令对此进行相应设置:命令格式:

SETCENTURYON|OFF命令功能:

ON:日期数据显示10位,其中年份4位,即日期值输出时显示年份值。

OFF:默认值.日期数据显示8位,年份2位,即日期值输出是不显示年份值。

(2)设置日期显示格式

命令格式:SETDATA[TO]

AMERICAN|ANSI|BRITISH|FREN|GERMAN|ITLIAN|JAPAN|USE|MDU|DMU|YMD|SHORT|LONG

命令功能:设置日期型和日期时间型数据的显示格式.系统默认为AMERICAN美国格式。

单击VisualFoxPro主窗口中的【工具】、【选项】菜单项,打开“选项”对话框后选中“区域”选项卡,单击展开“日期和时间”栏中的“日期格式”下拉列表框,选择其中的某个日期格式,然后单击“确定”按钮确定此格式设置。

6、货币型常量数字前加“$”表示货币型数据,如$121.76,表示美元。货币型数据最多4位小数,超过4位时自动调整为4位。2.2.2内存变量

VisualFoxPro系统中,变量分为字段变量、内存变量、数组变量和系统变量4类,各种变量都具有名称和类型属性。1.命名约定

(1)VisualFoxPro的一般命名约定

只使用字母、下划线和数字命名。虽然中文版VisualFoxPro允许使用汉字为各类数据容器命名,但一般建议尽量不采用汉字命名,必要时用汉字的拼音字母代替,以提高操作效率。

除自由表中字段名、索引的TAG标志名最多只能有10个字符外,其他的命名可使用1~128个字符。

避免命名时以数字开头;不可用VisualFoxPro系统中的保留字(如命令名、函数名等各种系统预定义项的名称)进行命名,以免造成系统的混乱。

文件名的命名要严格遵循操作系统的约定。

(2)字段名命名约定:

表中字段的命名,推荐按如下格式:

TypeName

其中:Type为字段的数据类型,Name为字段的命名。数据类型用一个小写字母表示。如:cXingming定义了姓名字段(字符型)

dBirthDay定义了出生日期字段(日期型)的字段名。

(3)变量命名约定:

变量的命名,推荐如下格式:

TypeName

Type为变量数据类型,Name为变量的命名。如:

dMonths表示一个数组变量

cLastName表示一个字符型变量

2.内存变量

内存变量是内存中的临时单元,可以用来在程序的执行过程中保留中间结果和最后结果,或用来保留对数据库进行的某种分析处理后得到的结果。

(1)内存变量的数据类型

内存变量的数据类型包括:数值型、字符型、逻辑型、日期型和日期时间型。

内存变量的数据类型是在变量建立时确定的,由赋值的数据类型决定。相同变量名重复赋值时,其类型可能被改变。所以,相同变量名的类型是可变的、不固定的。(2)内存变量的建立

命令格式:

Store<表达式>to<内存变量表>

命令功能:将<表达式>的值计算出来并赋值给指定内存变量表中的各个内存变量。内存变量表中如有多个内存变量则个两两之间以逗号分隔。

命令格式:

<内存变量>=<表达式>

命令功能:将<表达式>的值计算出来并赋值给指定的内存变量。每次只能为一个内存变量赋值。

(3)内存变量的显示输出可以用以下命令在屏幕上显示输出内存变量的值。

命令格式:

?/??<表达式表>[At<列号>]

命令功能:计算表达式表中各表达式的值,并在屏幕上指定位置显示输出各式的值。?代表分行显示??代表连续显示

(4)内存变量的清除

内存变量的清除可用RELEASE命令清除内存变量数据,语法格式如下:格式:RELEASE[ALL[LIKE|EXCEPT<结构>]]<内存变量表>

功能:如果语句中包含<内存变量表>,则仅清除清单中指定的内存变量;如果语句中包含ALL[LIKE|EXCEPT<结构>,则按如下条件清除内存变量:

•ALLLIKE<结构>:表示把符合结构中所指定条件的所有内存变量清除。

•ALLEXCEPT<结构>:表示把符合结构中所指定条件以外的所有内存变量清除。变量清除示例:Releasea&&清除变量aReleasealllike??a*&&清除第三字符为a的所有变量Releaseallexcepta*&&清除开头字符不是a的所有变量Releaseall&&清除所有变量注意:1、Clearmemory命令也可清除所有变量

2、?、*在变量名称中代表统配符,?代表一个任意字符;*代表多个任意字符。试验2分钟A=“你好”Store5*6tob,c?a??b2.2.3数组变量

数组是一组具有相同名称、以下标相互区分的有序内存变量。其中每一个下标不同的内存变量都是这个数组的一个元素,它是由一个以行和列形式表示的数组元素的矩阵。

1.数组元素

数组元素的名称(变量名)用数组名加下标构成。如A(1,2)、B(6)分别表示二维数组A中的第1行第2列的元素;一维数组B中第6个元素。

下标必须是非负数值,可以是常量、变量、函数或表达式,下标值会自动取整,如AA(1.75)、AA(nA1)、AA(2,10/3)等。

数组元素的数据类型决定于最后赋值的数据类型,不同数组元素的数据类型可以不同。

2.数组的定义

命令格式:

Dimension|Declare|Public<数组名1>(<下标1>[,<下标2>])

[,<数组名2>(<下标1>[,<下标2>])]

命令功能:定义指定的各个数组。

3.数组的赋值与引用数组元素的赋值与引用,与普通内存变量的规则相同。

常用store命令赋值,如:Store<表达式>to<数组名><数组名>=<表达式>功能:给数组中每个元素赋相同的值。与数组有关的赋值与引用命令还有:Scatter、copytoarray、gatherfrom等,详细说明可查阅资料。试验2分钟Decleara(3)Dimensionb(2,3)A(1)=1Store2*3tob?a(1)?b(1,3)4.系统变量

系统变量是VisualFoxPro系统特有的内存变量,它由VisualFoxPro系统定义、维护。系统变量有很多,其变量名均以下划线“_”开始,因此在定义内存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。部分系统变量如下:_screen、_vfp

、_pagetotal、_text、_diarydate、_shell,有关说明清查阅资料。5.内存变量与数组变量的基本操作

(1)变量的显示

命令格式:

Display|ListMemory

命令功能:显示指定变量的信息。

(2)变量的保存

命令格式:

SaveTo<变量文件名>

命令功能:将指定变量的信息保存到指定的变量文件(*.MEM)中。

(3)变量的恢复

命令格式:

RestoreFrom<变量文件名>[Additive]命令功能:将指定变量文件(*.MEM)

中的变量信息恢复到内存中。

2.2.4字段变量

在一个数据表中,同一个字段名下有若干个数据项,而数据项的值取决于该数据项所在记录行的变化,所以称它为字段变量,有时也把字段变量称为字段名变量。

字段变量的数据类型包括:字符型、整型、浮点型、双精度型、通用型、备注型、逻辑型、日期型和日期时间型等。2.2.5内存变量与数组变量的作用域

变量只有在运行应用程序时才会存在。所谓变量的作用域即某个变量在应用程序中的有效作用区间。(1)局部变量格式:LOCAL<变量表>

功能:建立局部变量。作用范围:仅在定义变量的程序内有效,退出程序时自动删除。其它使用同名变量的程序对本程序无影响。

(2)私有变量格式:PRIVATE<变量表>

功能:PRIVATE并不创建变量,它只在当前程序中隐藏变量,这些变量是在高层程序中声明的。当前程序可以改变、引用这些变量的值,但不会改变隐藏值。作用范围:仅在定义变量的程序内以及其调用的下属程序内有效,定义程序结束后,该声明即无效。(3)全局变量

格式:PUBLIC<变量表>

功能:定义一个或多个全局内存变量。命令窗口中定义的任何变量或数组自动赋予全局属性。程序中想要定义全局变量必须先声明,后赋值,否则会产生语法错误。作用范围:整个系统的所有程序。定义程序结束后,公共变量仍旧存在,不会自动删除。(4)变量的默认属性或自然属性不特别说明,默认是私有变量,一般不必说明。2.3函数

函数是预先编制的程序模块,可以实现某项功能或完成某种运算。VisualFoxPro的函数有两种:一种是系统的函数,一种是自定义函数。函数调用的语法格式为:函数名([参数列表])按返回值的类型或功能主要分为以下几类:(1)数值型函数(2)字符型函数(3)数据转换函数(4)日期时间型函数(5)测试函数

2.3.1数值型函数

(1)取整函数INT()、CEILING()、FLOOR()(2)取绝对值函数ABS()

(3)四舍五入函数ROUND()

(4)求余数函数MOD()(5)求最大值函数MAX()(6)求平方根函数SQRT()(7)求指数函数EXP()(8)求对数函数LOG()1.绝对值函数函数格式:ABS(<nExp>)

函数功能:计算nExp的值,并返回该值的绝对值。

2.指数函数函数格式:EXP(nExp)

函数功能:求以e为底、nExp值为指数的幂,即返回ex的值。3.取整数函数格式:INT(<nExp>)

函数功能:计算nExp的值,返回该值的整数部分。

4.上界函数函数格式:CEILING(<nExp>)

函数功能:指定nExp的值,返回一个大于或等于该值的最小整数。

5.下界函数函数格式:FLOOR(<nExp>)

函数功能:指定nExp的值,返回一个小于或等于该值的最大整数。

6.自然对数函数函数格式:LOG(<nExp>)

函数功能:返回给定数值表达式的自然对数(底数为e),nExp必须大于0。

7.常用对数函数函数格式:LOG10(<nExp>)函数功能:返回给定数值表达式的常用对数(底数为10),nExp的值必须大于0。

8.平方根函数函数格式:SQRT(<nExp>)函数功能:返回指定数值表达式nExp的平方根。

9.最大值函数和最小值函数函数格式:

MAX(<nExp1>,<nExp2>[,<nExp3>...])

MIN(<nExp1>,<nExp2>[,<nExp3>...])函数功能:分别返回数值表达式中的最大值表达式和最小值表达式。可返回的数据类型有字符型、数值型、货币型、双精度型、浮点型、日期型、日期时间型。

10.求余数函数函数格式:MOD(<nExp1>,<nExp2>)函数功能:返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。

11.四舍五入函数函数格式:ROUND(<nExp1>,<nExp>)函数功能:返回nExp1四舍五入的值,nExp2表示保留的小数位数。

12.

π函数函数格式:PI()

函数功能:返回数值常量π的近似值。

13.符号函数函数格式:SIGN(<nExp>)

函数功能:当nExp表达式的值为正、负或0时,分别返回:1、-1或0。

2.3.2字符型函数

(1)求子串函数SUBSTR()、LEFT()、RIGHT()(2)宏代换函数&(3)删除字符串前导空格函数LTRIM()

(4)删除字符串尾部空格函数RTRIM()/TRIM()

(5)删除字符串前后空格函数ALLTRIM()

(6)子串位置检索函数AT()(7)字符串替换函数STUFF()

(8)产生重复字符函数REPLICATE()

(9)求字符出现次数函数OCCURS()1.查找子串函数函数格式:

AT(<cExp1>,<cExp2>,[<数值表达式n>])函数功能:查找字符串表达式cExp1在字符串表达式cExp2中的起始位置。如果有数值表达式n,则确定字符型表达式cExp1在字符型表达式cExp2中的第n次出现的起始位置;如果未指定数值表达式n,则确定每次出现的起始位置;如果cExp1不在cExp2中,函数返回值为零。

2.取左子字符串函数函数格式:LEFT(<cExp>,<nExp>)

函数功能:返回从cExp字符串中的左边第一个字符开始,截取nExp个指定长度的字符串。

3.取右子字符串函数函数格式:RIGHT(<cExP>,<nExP>)

函数功能:返回从cExP字符串中右边的第一个字符开始,截取nExP个指定长度的字符。有关提示要点同LEFT()函数。

4.截取子字符串函数函数格式:

SUBSTR(<cExp>,<nExp1>[,<nExp2>])

函数功能:返回从串cExp中的第nExp1个字符开始,截取nExp2个字符长度的子字符串。

5.字符串长度函数函数格式:

LEN(<cExp>)

函数功能:返回cExp串的字符数(包括空格),函数值为数值型。

6.删除字符串前导空格函数函数格式:LTRIM(<cExp>)函数功能:删除cExp字符串前空格字符。7.删除字符串尾部空格函数函数格式:

RTRIM(<cExp>)|TRIM(<cExp>)函数功能:删除cExp串尾空格字符。8.空格函数函数格式:

SPACE(<nExp>)

函数功能:生成指定空格数的空字符串。

9.字符串替换函数函数格式:

STUFF<cExp1>,<nExp1>,<nExp2>,<cExp2>)函数功能:从nExp1指定位置开始,用cExp2串替换cExp1串中的nExp2个字符。10.重复字符串函数函数格式:

REPLICATE(<cExp>,<nExp>)函数功能:将字符串cExp重复指定的nExp次数。

11.大小写转换函数函数格式:

LOWER(<cExp>)|UPPER(<cExp>)

函数功能:LOWER()将cExp串中的字母全部变成小写字母;

UPPER()将cExp串中的字母全部变成大写字母,其他字符不变。

12.宏替换函数函数格式:&<cVar>[.<cExp>]

函数功能:替换出字符型变量cvar中的字符。

2.3.3数据转换函数

(1)大小写转换函数(2)数值型转换成字符型函数(3)字符型转换成数值函数(4)字符转换成日期型函数(5)日期型转换成字符型函数1.ASCII码函数函数格式:ASC(<cExp>)函数功能:返回cExp串首字符的ASCII码值,函数值为数值型。2.ASCII码转换为字符函数函数格式:CHR(<cExp>)函数功能:将ASCII码转化为相应的字符,函数返回值为字符型。3.字符型转换为日期型函数函数格式:CTOD(<cExp>)函数功能:将“mm/dd/yy”格式的cExp串转换成对应的日期值,返回的函数值为日期型。4.日期型转换为字符型函数函数格式:DTOC(<dExp>[,1])函数功能:将日期型dExp转换成相应的字符串,函数返回值类型为字符型。

5.数值型转换为字符型函数函数格式:

STR(<nExp1>[,<nExp2>][,<nExp3>])

函数功能:将数值表达式nExp1按设定的长度nExp2和小数位数nExp3转换成字符型数据,函数返回值为字符型。

6.字符型转换为数值型函数函数格式:VAL(<cExp>)函数功能:将数值字符串转换为数值。

2.3.4日期时间型函数(1)时间函数TIME()(2)日期函数DATE()

(3)年份函数YEAR()(4)月份函数MONTH()

(5)日期函数DAY()

1.系统日期函数函数格式:DATE()函数功能:返回当前系统日期,此日期由Windows系统设置,函数返回值为日期型。

2.系统时间函数函数格式:TIME([nExp])

函数功能:返回当前系统时间,时间显示格式为hh:mm:ss。若选择了nExp,则不管为何值,返回的系统时间都包括秒的小数部分,精确至小数点后两位,函数返回值为字符型。3.日期函数函数格式:DAY(<dExp>)

函数功能:返回dExp式中的天数,函数返回值为数值型。

4.星期函数函数格式:

DOW(<dExp>)|CDOW(<dExp>)

函数功能:DOW()函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW()函数返回dExp式中星期的英文名称,函数型为字符型。5.月份函数函数格式:

MONTH(<dExp>)|CMONTH<dExp>)函数功能:MONTH()函数返回dExp式中的月份数,函数值为数值型。CMONTH()函数则返回月份的英文名,函数值为字符型。6.年份函数函数格式:YEAR(<dExp>)

函数功能:函数返回dExp式中的年份值,函数值为数据型。2.3.5测试函数

1.文件开始测试函数函数格式:BOF()

函数功能:测试记录指针是否到指向第一条记录之前。

2.文件结束测试函数函数格式:EOF()

函数功能:测试记录指针是否到指向第一条记录之后。3.检索测试函数函数格式:FOUND()

函数功能:测试是否找到符合要求的记录。4.记录号测试函数函数格式:RECNO()

函数功能:返回当前记录的记录号。5.工作区测试函数函数格式:SELECT()

函数功能:测试当前工作区的区号。6.数据类型测试函数函数格式:TYPE(<cExp>)函数功能:测试表达式的数据类型,用大写字母表示。表达式必须用字符串表示。如果表达式不存在或有错误,则返回值为U。逻辑函数主要用于对表达式进行测试判断,如果表达式为真时,则输出结果为.T.为假时,输出结果为.F.。(1)判断表达式是否在上下限之间BETWEEN()(2)判断表达式是否为空EMPTY()

(3)测试表达式类型TYPE()(4)快速表达式判断IIF()

(5)判断表达式是否匹配INLIST()2.3.5逻辑函数用户自定义函数是由用户建立、可返回值的代码,包括过程和函数等。

1.用户自定义过程

VisualFoxPro中,过程的语法格式是:PROCEDURE<过程名>[LPARAMETERS变量1[,变量2},...]COMMAND[RETURN[表达式]]ENDPROC

2.3.6用户自定义函数2.用户自定义函数函数的基本语法格式如下:

FUNCTION<函数名>[LPARAMETERS变量1[,变量2},...]COMMAND[RETURN[表达式]]ENDFUNC2.4VisualFoxPro的表达式

表达式是由常量、变量、函数、字段与运算符组成的有意义的运算式。

运算符是对数据对象进行加工处理的符号,根据其处理数据对象的数据类型,运算符分为算术(数值)运算符、字符运算符、日期运算符、逻辑运算符和关系运算符等5类。相应地,表达式也分为算术表达式、字符表达式、日期时间表达式、逻辑表达式和关系表达式5类。

表2-2算术运算符及其优先级

运算符功能表达示举例运算结果优先级别()圆括号(2-5)*(3+2)-15最高最低-取相反数-(3-8)5**^乘幂2**5,2^532*/乘、除2*10,25/520,5%取余数20%50+-加、减36+19,29-4755,-182.4.1算术表达式

算术表达式又称数值表达式,其运算对象和运算结果均为数值型数据。数值运算符的功能及运算优先顺序如表2-2所示。表中运算符按运算优先级别从高到低顺序排列。

2.4.2字符表达式

字符表达式是用字符运算符将字符型数据对象连接起来进行运算的式子。字符运算的对象是字符型数据,运算结果是字符常量或逻辑常量。字符运算符有合并“+”、连接“-”、包含“$”三种。

日期表达式是由“+”或“—”运算符将日期型数据或日期时间型数据与数值常量或同类型数据进行加、减运算。其结果为日期型数据或日期时间型数据或数值常量。共有6种情况:

格式1:

<日期型数据>+<天数><天数>+<日期型数据>

功能:结果是将来的某个日期。

格式2:

<日期型数据>-<天数>

功能:结果是过去的某个日期。

格式3:<日期型数据1>-<日期型数据2>

功能:结果是两个日期之间相差的天数。

2.4.3日期表达式格式4:<日期时间型数据>+<秒数><秒数>+<日期时间型数据>

功能:结果是若干秒后的某个日期时间。

格式5:<日期时间型数据>-<秒数>

功能:结果是若干秒前的某个日期时间。

格式6:<日期时间型数据1>-<日期时间型数据2>

功能:结果是两个日期之间相差的秒数。2.4.4关系表达式

关系表达式是由关系运算符将数值表达式、字符表达式、日期表达式连接起来的表达式,结果为逻辑真和逻辑假,分别用.T.和.F.表示。

2.4.5逻辑表达式

逻辑表达式是由逻辑运算符对关系表达式进行运算的表达式,结果为逻辑真和逻辑假。表2-5为逻辑运算符的功能。逻辑运算符前后一般前后要加圆点“.”标记,以示区别。

2.5VFP命令的一般格式2.5.1命令的一般格式命令通常由两部分组成:第一部分是命令动词,表示应该执行的操作;第二部分是若干短语,对操作提供某些限制性的说明。下面列出VisualFoxPro操作命令的一般语法格式:

命令动词[<范围>][<表达式表>][FOR<条件>][WHILE<条件>][TOFILE<文件名>/TOPRINTER/TOARRAY<数组表>/TO<内存变量>][ALL[LIKE/EXCEPT<通配符>]][IN<别名>]

命令动词是个英文动词,表示这个命令所要完成的操作。

<范围>表示对数据库表文件进行操作的记录范围

表达式可以是一个或多个由逗号分隔开的表达式,用来表示命令所进行操作的结果参数

FOR<条件>和WHILE<条件>在FOR短语和WHILE短语中<条件>是一个逻辑表达,它的值必须为真(.T.)或假(.F.)

(1)任何一条命令必须以命令动词开头。后面的多个短语通常与顺序无关,但是必须符合命令格式的规定。(2)用空格来分隔每条命令中的各个短语,如果两个短语之间有其它分界符,则空格可以省略。(3)一行只能写一条命令,以回车表示结束。一行不能写多条命令,但一条命令可以写多行。一条命令的最大长度是254个字符。一行写不下时。用续行符“;”在行末进行分行,并在下行连续书写。

2.5.2命令的书写规则(4)命令中的英文字母大小写可以混合使用。(5)命令动词和子句中的短语可以用其前四个字母缩写表示。(6)MicrosoftVisualFoxPro中的保留字包括函数,系统内存变量,属性,事件,方法,命令,菜单常数和子句。用户在选择变量名、字段名和文件名时,应尽可能不使用系统中的命令动词和命令字,以免程序在运行中产生语法错误。不能用操作系统所规定的输出设备名作为文件名,也不能用A到J之间的单个字母作表名,以免与工作区名称冲突。

VisualFoxPro有两种运行方式:命令方式和程序方式。

1.命令方式命令方式即在VisualFoxPro的命令窗口中键入命令行,按回车键立即执行,系统的主窗口区马上会显示执行的结果。命令方式一般都在VFP的命令窗口中进行的。

2.5.3命令的运行方式2.程序方式程序方式先要通过命令MODIFYCOMMAND<命令文件名>建立特定的命令文件。建立时逐行键入命令行,然后存人磁盘,由用户指定命令文件名,系统默认的扩展名是.PRG,然后由DO命令执行。格式:DO<命令文件名>

功能:这种方式调用程序文件,系统将自动执行这一文件,将用户繁琐的介入减到最少。程序执行方式运行效率高,可以重复执行。如何进行程序设计,使本课程学习重点,将随后讲述。2.5.4常用命令1赋值命令STORE

在程序中如果要使用变量,则必须在使用之前为变量设定一个初始值或改变它的现行值。赋值语句可以将指定的值赋给内存变量或对象的某个属性。格式:STORE<表达式>TO<变量名列表.>/<数组名列表>

功能:赋值命令STORE的主要是给内存变量赋值,多个变量名之间通过逗号隔开。具体功能如下:

建立内存变量,并给内存变量/数组赋初值。

为已建立的内存变量/数组重新赋值。STORE会用新值替换旧值。

•给一个变量或数组赋值时,可以用“=”可以代替STORE命令,简写为:

<内存变量名>/<数组名>=<表达式>•

对日期型内存变量赋值时,如果<表达式>是日期型常量,则必须用花括号“{}”括起来并在前面加上一个符号(^),如果<表达式>是字符串,则必须用转换函数将其换为日期型。示例:today={^2005/12/06}today=CTOD(“12/06/2005”)格式:?︱??<表达式>[[FUNCTION参数][FONT字体名[,字体大小]]…功能:在屏幕上显示表达式的内容。参数说明:·

?表达式:用于对表达式进行计算,然后新起一行显示计算结果,计算结果显示在VisualFoxPro主窗口或者活动的用户自定义窗口的下一行;

2、显示命令??表达式:结果显示在VisualFoxPro主窗口、活动的用户定义窗口或者打印机当前行的当前位置上。不换行而接着当前行直接输出。计算并显示变量、表达式和常量的值当?命令后面没有任何表达式时,输出一个空行;该命令后可以跟多行参数,有PICTURE参数、V参数、AT参数、FONT参数、STYLE参数等。这些参数的含义与使用可参阅有关文献并逐步熟练。其它命令以后逐步讲述。2.6例题解析

1.下列

符号不能作为VisualFoxPro中的变量名。

A)

ABCDEFGB)

K123C)

12SADFD)

温馨提示

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

评论

0/150

提交评论