第2讲变量常量表达式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常量、变量、表达式
(1)常量、变量、表达式。
在Visual FoxPro系统中,数据可用常量、变量、数组、字段、记录和对象来存储。他们可以容纳各种类型的数据。因此,常把这些供数据存储的常量、变量、数组、字段、记录和对象等称为数据存储容器。
2.1.1常量
常量是在命令或程序中可直接引用、具有具体值的命名数据项,其特征是在整个操作过程中它的值和表现形式保持不变。Visual FoxPro按常量取值的数据类型,将常量分为6种类型
数值型常量、货币型常量、字符型常量、逻辑型常量、日期型常量、日期时间型常量。
1.数值型常量(N)
由数字0-9、小数点和正负号组成,表示整数或实数值。
如;100,-21,15.31,-21092.5041等分别是数值型常量中的整数和实数。
数值型数据在内存中占用8个字节.
2.货币型常量(Y)
用来表示货币值,书写格式与数据型常量类似.但要多加一个$前置符号.且采用四位小数.他没有科学记数法,在内存中占8个字节.
3.字符型常量(C)
由任意ASCII字符、汉字和汉字字符组成的字符型数据,字符型常量又称为字符串。为与其他类型常量、变量和标识符相区别,Visual FoxPro要求将字符串中所有字符,用一对双引号“"”或单引号“'”或方括号“[]”作为定界符对括起来。
如“ I am a student..”,…中华人民共和国‟,[Visual FoxPro 6.0系统]都是字符常量。
4.逻辑型常量(L)
逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.。逻辑假的常量表示形式有:.F.、.f.、.N.、.n.。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用一个字节。5.日期型常量(D)
日期型常量是表示日期值的数据,其默认格式是{mm/dd/[yy]yy}。如{10/01/02}和{10/01/2002}均表示2002年10月1日这一日期常量值。
6.日期时间型常量(T)
Visual FoxPro系统中增加了一种表示日期和时间值的日期时间型常量,其默认格式是:
{mm/dd/[yy]yy [,] hh:mm:ss[a|p]}
其中a和p分别表示AM(上午)和PM(下午)。
日期值和日期时间值的输入格式与输出格式并不完全相同,特别是输出格式受系统环境设置的影响,用户可根据应用需要进行相应调整、设置。
(1)日期格式中的世纪值
通常日期格式中用2位数表示年份,但涉及到世纪问题就不便区分。Visual FoxPro提供设置命令对此进行相应设置。
命令格式:
SET CENTURY ON | OFF | TO [nCentury]
命令功能:
ON:日期数据显示10位,其中年份4 位,即日期值输出时显示年份值;
OFF:(默认值)。日期数据显示8位,年份2位,即日期值输出时不显示年份值;
TO [nCentury]:指定日期数据所对应的世纪值。nCentury是一个1~99的整数,代表世纪数。
(2)设置日期显示格式
用户可以调整、设置日期值和时间值的显示输出格式。既可以用命令方式设置,也可以用菜单方式设置。
命令格式:
SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | USA | MDY
| DMY | YMD | SHORT | LONG
命令功能:设置日期型和日期时间型数据的显示输出格式。系统默认为AMERICAN美国格式。
如果日期格式设置为SHORT或LONG格式,Visual FoxPro系统将按Windows系统设置的短日期格式或长日期格式显示输出日期数据,而且SET CENTURY命令的设置被忽略。
各种日期格式设置所对应的日期显示输出格式,见表2-1所示。
表2-1 系统日期格式
(3)设置日期2000年兼容性
通常日期型和日期时间型数据的结果,与SET DATE命令和SET CENTURY命令设置状态及当前系统时间有关。由于系统时间与相应设置不同,同一数据的结果可能有不同的解释。如日期值{10/11/12}可以解释为1912 年10 月11 日、2012 年10 月11 日、1912 年11 月10 日、1910 年11 月12 日或者2010 年11 月12 日等。这显然会导致系统混乱,而且还可能造成2000年兼容性错误,影响系统正常、有效的操作运行。
Visual FoxPro系统增加了一种所谓严格的日期格式。不论哪种设置,按严格日期格式表示的日期型和日期时间型数据,都具有相同的值和表示形式。严格的日期格式是:
{^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]}
^ 符号表明该格式是严格的日期格式,并按照YMD 的格式解释日期型和日期时间型数据,它是严格日期格式的标志,不可缺少。有效的日期型和日期时间型数据分隔符为:连字符“-”、正斜杠“/”、句点“.”和空格。如{^2002-10-01}、{^2002-10-01 10:30:30a},分别以严格的日期格式表示2002年10月1日及该日上午10时30分30秒这两个日期数据。
2.1.2变量
变量是在操作过程中可以改变其取值或数据类型的数据项。在Visual FoxPro 系统中变量分为字段变量、内存变量、数组变量和系统变量4类。此外,作为面向对象的程序语言,Visual FoxPro在进行面向对象的程序设计中引入了对象的概念,对象实质上也是一类变量。
确定一个变量,需要确定其三个要素:变量名、数据类型和变量值。
1.命名约定
在Visual FoxPro系统中,将表示、存储数据的常量、变量、数组、字段、记录、对象、表、数据库等,都称之为数据容器。所有数据容器均需命名以相互区别,为规范各类对象的命名,Visual FoxPro系统推荐了若干“命名约定”供用户参考,以提高操作命令与程序的可读性和规范性。
●使用字母,下划线和数字命名。一般建议不采用汉字命名;
●命名以字母或下划线开头;除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1~128个字符;
●避免使用Visual FoxPro的保留字;
●文件名的命名应遵循操作系统的约定。
2.字段变量
表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值,因此,字段也是变量。与其他变量不同的是,字段变量是定义在表中的变量,随表的存取而存取,因而是永久性变量。字段名就是变量名;变量的数据类型为Visual FoxPro中任意数据类型,字段值就是变