1、第2章VFP的数据与数据运算 数据类型常量 变量 表达式数组 函数 2 1数据类型2 2常量与变量 字符型 数值型 整型 浮动型 双精度型 逻辑型 货币型 日期型 日期时间型 备注型 通用型 2 1数据类型 2 2常量 变量和表达式 2 2 1常量 常量是指在命令操作 程序执行过程中 其值和类型保持不变的量 在VisualFoxPro6 0中可以使用两种常量 直接常量和编译时常量 1 直接常量1 字符型常量 字符型常量指用定界符 半角单引号 双引号和方括号 括起来的字符串 如果某种定界符本身也是字符串的内容 则需要用另一种定界符为该字符串定界 不包含任何字符的字符串 叫空串 空串与包含空格的字
2、符串 不同 计算机 123 数据 ABX abc 学习 字符串 表示方法 单问号 命令的功能是 另起一行 在新的一行的开始处显示若干个表达式的值 双问号 命令的功能是 不换行 在当前光标所在处继续显示表达式的值 例 显示几个字符型常量 2 数值型常量 数值型常量是指由数字0 9 小数点 正负号或科学记数法组成的任何数值串 3 日期型常量 分类 严格的日期格式传统的日期格式定界符 一对花括号 包括年 月 日三部分内容 各部分内容之间用分隔符分隔 常用的分隔符好斜杠 连字符 句点 和空格 取值范围 0001年1月1日 9999年12月31日 严格的日期格式 yyyy mm dd 为托字符 如 20
3、101 03 04 2010 03 04 2010 03 04 20100304 这种格式的日期常量在书写时要注意 花括号内第一个字符必须是托字符 年份必须是4位 年月日的次序不能颠倒 不能缺省 这种日期格式可以在任何情况下使用 传统的日期格式传统日期格式中的月 日各为2位数字 而年份可以是2位数字 也可以是4位数字 如 10 08 01 10 08 01 10082001 传统的日期格式 在不同的设置下 计算机会对同一个日期型常量作出不同解释 传统格式的日期型常量要受到语句SETDATETO和SETCENTURYTO设置的影响 传统的日期格式只能在SETSTRICTDATETO0状态下使用
4、影响日期格式的设置命令setmarkto 日期分隔符 命令功能 用于指定显示日期值时所用的分隔符 如果没有指定任何分隔符 表示恢复系统默认的斜杠分隔符 setdate to 格式命令功能 用于设置日期显示的格式 该格式也决定系统如何解释一个传统格式的日期常量 默认值为AMERICAN setcenturyon off命令功能 用于决定如何显示或解释一个日期数据的年份 on显示世纪 即用4位数字表示年份 off不显示世纪 即用2位数字表示年份 它是系统默认的设置 setstrictdateto 0 1 2 0表示不进行严格的日期格式检查 目的是与早期VisualFpxPro兼容1表示进行严格的日
5、期格式检查 它是系统默认的设置2表示进行严格的日期格式检查 并且对ctod 和ctot 函数的格式也有效 例设置不同的日期格式 setcenturyon 设置4位数字年份setmarkto 恢复系统默认的斜杠日期分隔符setdatetoymd 设置年月日格式 2001 08 26 setcenturyoff 设置2位数字年份setmarkto 设置日期分隔符为句号setdatetomdy 设置月日年格式 2001 08 26 setstrictdateto0 不进行严格的日期格式检查 2001 08 26 09 22 01 setmarkto 设置日期分隔符为分号 2001 08 26 09
6、22 01 4 日期时间型常量日期时间型常量包括日期和时间两部分内容 日期部分与日期型常量相似 时间部分的格式为 hh mm ss am pm 例 2001 03 22 11 30pm 1999 01 01 2000 10 1 3 Hh mm ss分别代表时 分和秒 默认值分别为12 0和0 am 或a 和pm 或p 分别代表上午和下午 默认值为am 5 逻辑型常量逻辑型常量只有两个值 即逻辑真和逻辑假 Y y T t 为逻辑真值 N n F f 为逻辑假值字母两侧的两个定界符 不能省略 6 货币型常量货币型常量是以货币符号 作为前缀的数值 变量是指在命令操作或程序执行过程中可以发生变化的量
7、变量分字段变量 内存变量两类 字段变量 指数据表中已定义的任意一个字段 字段变量随着数据表的创建而定义 向表中输入记录时为其赋值 在命令操作或程序执行过程中 通过字段名便可访问某条记录所对应该字段的值 2 2 2变量 内存变量 内存变量是一些临时变量 它在内存中存储数据 内存变量是内存中的一个存储区域 变量值就是存储在这个存储区域内的数据 变量的类型就是变量值的类型 当退出VisualFoxPro或断电时数据将自动消失 内存变量的类型有数值型 浮点型 字符型 逻辑型 日期型和日期时间型6种 内存变量包括系统变量 简单内存变量和数组变量 内存变量的命名规则 1 简单内存变量定义与赋值赋值的两种命
8、令格式 格式一 格式二 STORETO说明 定义内存变量并为内存变量赋值 格式一只能给一个内存变量赋值格式二可以给多个内存变量赋值 各个内存变量之间用逗号隔开 2 2 3变量的定义和操作 两种命令格式 DISPLAYMEMORY LIKE TOPRINTER TOFILE LISTMEMORY LIKE TOPRINTER TOFILE 功能 显示内存变量的当前信息 包括变量名 作用范围 类型和值 2 内存变量的显示 2 内存变量的显示 说明 1 选用Like短语则只显示与通配符相匹配的内存变量 通配符包括 和 表示任意多个字符 表示任意一个字符 2 可选子句TOPRINTER表示显示的同时送
9、往打印机 3 可选子句TOFILE表示显示的同时存入给定文件名的文本文件中 文件的扩展名为 txt 4 LISTMEMORY一次显示出符合要求的所有内存变量 如果内存变量多 一屏显示不下 则自动向上滚动 DISPLAYMEMORY分屏显示符合要求的所有内存变量 如果内存变量多 显示一屏后暂停 按任意键之后再继续显示下一屏 格式一 CLEARMEMORY格式二 RELEASE格式三 RELEASEALL EXTENDED 格式四 RELEASEALL LIKE EXCEPT 3 内存变量的清除 功能 格式一清除所有内存变量 格式二清除指定的内存变量 格式三清除所有的内存变量 在人机对话状态其作用与格式一相同 如果出现在程序中 则应该加上短语EXTENDED 否则不能删除公共内存变量 格式四选用LIKE短语则清除与通配符相匹配的内存变量 选用EXCEPT短语则清除与通配符不相匹配的内存变量