




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.5.1常量和变量1.常数常量是具有固定值的数据。VFP常量有六种茄子类型:(1)数字常数(Numeric,缩写n型)数字常数是表示数字0到9、小数点和符号组成的数量大小的常数。表示法可以是整数(例如123)、小数(例如0.238)、负数(例如-7.69)或以科学记数法表示的数字(例如0.2158E6或0.2158106)。数字数据在内存中占用8字节存储空间。(2)文字常数(Character,c型)基于字符的常量是用分隔符括起来的字符串。分隔符可以是单引号()、双引号()或方括号()。例如Visual FoxPro 6.0、程式设计、关系数据库等。定义和使用基于文字的常量时,请注意以下事项
2、:(1)必须在字符串的两端附加分隔符。否则,系统会将字符串视为变量名。2)分隔符只能是ASCII代码字符(即半角字符),不能是全角字符。3)左右分隔符必须匹配。也就是说,如果左侧是双引号,则右侧也必须是双引号。4)分隔符可以嵌套,但相同的分隔符不能徐璐嵌套。也就是说,如果特定分隔符本身也是字符串的内容,则必须使用其他分隔符分隔字符串。例如:合法字符串:谚语云:“全世界都是兄弟”非法字符串:“谚语云:“全世界所有的兄弟。”字符串的最大长度(包括最大字符数)为254个字符。例如,Visual FoxPro 6.0的长度为17,关系数据库的长度为10。不包含任何字符的字符串()称为空字符串,该空字符
3、串与包含空格的字符串()不同。(3)逻辑常数(逻辑,简称l型)逻辑常量通常只有两个值:真和假。输入逻辑“真”值.t .t .或。y .y .可以输入逻辑“false”值.f .f .或。n.使用前后两个句点作为逻辑常数的分隔符是必要的。否则,可能被误认为变量名。逻辑常量仅使用单字节存储空间。(4)货币型常数(Currency,简称y型)货币常数用于表示货币值。写入时以“$”符号开头,可以保留小数位数。如果小数部分超过4位,前4位将自动四舍五入。例如,123美元。会储存为123.4568美元。货币常数在内存中占用8个字节。(5)基于日期的常量(Date,缩写d型)基于日期的常量用于表示日期。该分
4、隔符用一对花括号()将括号中的年、月和日分隔成分隔符。常用的日期分隔符包括斜线(/)、连字符(-)和句号(.)和空格,默认情况下,系统使用斜线(/)分隔符。基于日期的常量有两种格式:1)现有日期格式系统默认日期类型数据采用美国日期格式mm/dd/yy(月/日/年)。其中月、日分别是2位数字,年可以是2位或4位数字。2)严格的日期格式严格的日期格式可以用yyyy-mm 651- DD表示精确的日期,使用严格的日期格式非常方便,尤其是在输入基于日期的常量时。请注意,牙齿日期格式在写入时,大括号内的第一个字符必须是脱字符()。年度必须为4位数。可以用“/”替换-分隔符。不能颠倒年、月、日的顺序,不能
5、设置默认值。3)影响日期格式的设置命令在牙齿书中,介绍命令时方括号()中的内容表示选择。尖括号()的内容表示必需的选项。以竖线()分隔的内容表示选项之一。格式1: set century on | off说明:用于设置年份的位数。ON设置年份是4位数字表示。OFF将年份设置为2位数字表示法。示例:SET CENTURY ON-嗯?2002-06-28结果为06/28/2002SET CENTURY OFF-嗯?2002-06-28结果为06/28/02其中的命令?expression表示计算和输出表达式的值。“”表示牙齿命令行的注释在后面。格式2: set strict date to 0 |
6、 1说明:您可以设置是否检查日期格式。0表示不执行严格的日期格式检查。1表示执行严格的日期格式检查,这是系统默认设置。示例:SET STRICTDATE TO 0-嗯?05/01/03结果为05/01/03SET STRICTDATE TO 1-嗯?05/01/03结果是错误提示:模糊的日期常数日期常量以8字节存储,范围为0001-01-01至9999-12-31。(6)日期时间常数(Date Time,t-type)这包括两部分日期和时间,严格的格式为yyyy 651- mm 651- DD , hh :mm :ss a | p。其中hh、mm和ss分别代表小时、分钟和秒,A和P分别代表上午
7、和下午。例如,2001-10-01,01,10:10336010a 表示2001年十月一日上午10:10点10分10秒。日期时间数据以8字节存储。2.变量在命令操作或节目执行过程中值可以更改的量称为变量。在VFP中,变量可以分为四类:字段变量、内存变量、数组变量和系统变量。(1)字段变量字段变量是数据库中定义的变量,每个字段名称都是字段变量。字段变量是多值变量,其当前值成为表中的当前唱片值。字段变量在设置表的结构时定义,必须附加到数据表,打开和关闭数据表时必须存储在内存中并释放。(2)内存变量内存变量是内存中的临时存储设备,用于存储在命令或节目执行过程中临时使用的输入、输出或中间数据,并根据需
8、要定义或删除。1)定义内存变量命名内存变量时,必须先指定名称。内存变量的命名约定如下:从字母、汉字或下划线开始。由字母、汉字、下划线或数字组成。长度不超过128个字符。例如,x1、Number_2、名称等都是有效的内存变量名称。2)内存变量分配自定义内存变量包含7种茄子类型:n、c、l、d、t、y、s(基于屏幕),其类型由分配的值的类型决定。内存变量的分配命令有两种茄子格式:格式1:内存变量名=表达式格式2: sTOre表达式到内存变量名称表说明:赋值命令的功能是计算表达式的值,并将结果分配给内存变量。两种形式的分配命令的区别在于“=”命令只能将表达式的值分配给一个内存变量,而STORE命令可
9、以将同一表达式的值分配给多个内存变量(各个变量名称之间以逗号分隔)。在VFP中,如果在使用内存变量之前没有预先声明或定义内存变量,并且使用分配命令为变量赋值时变量不存在,则在指定值时会自动设置内存变量的值和类型。相同的内存变量可以多次指定值,最后可以基于指定的值。例如:x=1内存变量x为n形,值为8Name=“张华”内存变量Name是c型的,值是张华STORE x 2 TO y,z计算x 2,并将结果3分别分配给内存变量y,z注意:“=”是指定编号,内存变量名称必须放置在指定编号的左侧。3)内存变量的输出格式1:内存变量名称表格式2:-嗯?内存变量表说明:格式1的功能是通过换行来输出每个变量值
10、。如果未指定内存变量,格式只能输出一个回车符换行符。格式2的功能是将每个变量的值直接输出到当前行的光标位置。例如:a,b将光标从当前行移动到下一行的开头,以显示a和b的值-嗯?-嗯?a,b显示从光标当前位置开始的a和b的值-嗯?计算2*3,4 5 2*3,4 5的值,并将其显示在下一行的开头。6 94)内存变量和字段变量之间的区别字段变量是表格结构的一部分,因此要使用字段变量,必须先打开包含字段的表格。内存变量独立于数据库文件存在,与表无关。内存变量和字段变量可以同名。在牙齿情况下,可以优先访问字段变量。要显式指定访问内存变量,必须在内存变量名称前加上M .或M-前缀以指示差异。例如:-嗯?m
11、 .名称显示内存变量名称的值(3)阵列变数阵列是经过排序的记忆体变数集合,每个记忆体变数都是阵列元素。阵列元素会显示为阵列名称和对齐阵列中位置的下标。下标的数量称为数组的维数。可以用括号“()”或方括号“”括住数组下标。例如,A(1)表示一维数组A的第一个元素,B(2,5)表示二维数组B的第二行、第五列元素。VFP仅使用一维数组和二维数组,并且必须在使用数组之前定义。1)阵列的定义格式:DIMENSION|DECLARE阵列名称(下标上限1,下标上限2) ,说明:牙齿命令的功能是定义一维阵列或二维阵列及其下标的上限。下标的下限系统规定总是1。例如:DIMENSION a(5),b(2,3)定义
12、一维阵列a和二维阵列b2)分配阵列定义阵列后,会自动将初始值. f .指定给每个阵列元素。整个数组的数据类型为A(Array),使用分配命令可以为数组中的每个元素分配相同的值,也可以徐璐为每个元素分配不同类型的值。例如,如果,A(1)= yumi 赋予阵列元素a(1)表示名称的字符串“yumi”A(2)=20为数组元素A(2)分配数字20以表示年龄B=1将相同的数字1分配给数组b中的六个元素一维数组中的每个元素按下标顺序存储在内存中。二维数组的每个元素以行顺序存储在内存中,使用时,还可以作为一维数组访问二维数组。例如,二维数组B的元素b(2,1)位于第2行1列中。也可以显示为b(4),因为每行
13、有三个元素。(4)系统变量系统变量是在VFP系统本身中定义的内存变量。系统变量名称全部由系统定义,以下划线(_)开头。系统变量控制外部设备(例如打印机、鼠标等)、屏幕输出格式和有关日历、计算器、剪贴板等的信息处理。例如:_DIARYDAT存储当前日期接受_CLIPTEXT文本并将其放在剪贴板上_PWAIT确定替换页面时打印机是否暂停1.5.2表达式表达式是特定意义上的表达式,由常量、变量和函数通过运算符连接。根据表达式中使用的运算符和操作结果的类型,表达式可以分为五个:数字表达式、字符表达式、日期时间表达式、关系表达式和逻辑表达式。下面分别介绍。1.数值表达式数值表达式由数值常量、变量、函数和
14、算术运算符组成,结果仍然是数值。数字数据可以是数字常量、变量或函数。算术运算符及其优先级如下表所示:表1-15算术运算符和优先级表1-16字符运算符和优先级运算符优先顺序说明()1在表达式中形成子表达式* *或2乘法*、/、%3乘法、除法、馀数计算,-4加,减运算符优先顺序说明1完整连接,前后两个字符串的前后连接新建字符串-1压缩连接,连接前后两个字符串,连接前面的字符字符串中的尾部空格将移动到新合并字符串的末尾。示例:-嗯?3*6-2显示结果:16-嗯?(1 2 (1 2)/(2 2)结果显示为2.25-嗯?显示15%4的结果:3-嗯?显示15%-4结果:-1说明:剩馀计算也称为模块运算,与
15、剩馀函数MOD()的作用相同。其余的符号与除数一致。2.文字表达式文字表达式由文字常量、变量、函数和文字运算符组成,结果仍然是基于文字的数据。字符运算符及其优先级如下:例如:“Visual”“FoxPro”显示名为Visual FoxPro的结果-嗯?“visual”-“FoxPro”显示以下结果:“Visual”-“FoxPro”-嗯?“关系型”“数据库系统”显示以下结果:关系数据库系统-嗯?“关系”-“数据库系统”显示以下结果:关系数据库系统3.日期时间表达式日期时间表达式可以由日期时间常量、变量、函数和日期时间运算符组成。结果是日期时间或数字数据。日期时间运算符也有“”和“-”,两者的优先级相同。基于日期时间的表达式的格式有限制,不能随机组合。例如,表达式-日期日期没有意义。有效的日期时间表达式如表1-17所示。其中天数和秒数都是数字表达式。表1-17日期时间表达式的格式格式说明结果类型日期天数指定日期几天后的日期日期类型日期-日指定日期
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精益生产培训课程
- 2025年三班级教学工作方案
- 酒店装潢知识培训课件
- 2025年社区亲子活动方案
- SMT物料管理办法
- 贵州省黔南州长顺县达标名校2024-2025学年初三质量检测试题(三模)化学试题试卷含解析
- 四川机电职业技术学院《基于疫情大数据分析系统专业实训》2023-2024学年第二学期期末试卷
- 湖南省安仁县2025届初三一轮阶段测评(三)英语试题试卷含答案
- 河北省石家庄二中雄安校区2025届高三第一次测试英语试题试卷含解析
- 太原理工大学《板形及尺寸精度控制》2023-2024学年第二学期期末试卷
- 橡胶原材料检验标准
- 小区景观水系清淤施工方案
- 英语课堂游戏PPT-连词成句搭桥游戏
- 人类应不应该限制人工智能的发展辩论赛正方辩词一辩、二辩、三辩、四辩发言稿
- Unit5Poems单元整体教学设计-高中英语人教版(2019)选择性单元整体教学设计(视频课件教案)
- 高中英语高考词性转换汇总(5类词形转换、7组核心词汇转换)
- 非暴力沟通 情绪篇
- 氢氧化钙化学品安全技术说明书
- 医保应急处理预案制度
- 人民医院整形外科临床技术操作规范2023版
- 实验一 显微镜的使用及微生物形态的观察
评论
0/150
提交评论