三、数据与数据运算
(一)简单介绍vf系统中数据的形式和类型
1.vf系统所处理的数据形式有四种:
变量
表达式
函数
2.上述四种形式的数据根据其组成和结构的不同又可分为六种类型:
数值型
货币型
字符型
日期型
日期时间型
逻辑型
上述类型决定数据的存储方式和运算方式。
(二)常量
1.含义:是用以表示一个具体的、确定的、不变的值。
2.常量的类型:
1)数值型常量:
含义:也称N型,用来表示数量的多少。
组成:由数字0—9,小数点和正负号构成。
可用科学计数法的形式来书写,如:1500=1.5*10的3次方=1.5e3,其中的e/E表示10的n次方,n为整数(正整数、负整数、0均可)。
数值型数据在内存中用8个字节表示。
2)货币型常量:
含义:也称Y型,用来表示货币值。
组成:在数值型常量之前加上一个$符号即可。
在存储和计算时采用4位小数,多于4位时自动四舍五入。
没有科学计数法形式,在内存中占用8个字节。
3)字符型常量
含义:也称C型或者字符串。
组成:用半角的单引号、双引号或方括号作为定界符把字符串括起来,且定界符必须成对匹配。但定界符不是字符型常量的内容。
定界符内的字符可为数字、汉字、英文、空格或者无内容。
不包含任何字符的字符串为空串;完全以空格为字符的字符串为空格字符串。
4)日期型常量:
含义:用来显示日期,也称D型。
组成:它的定界符是一对花括号,并且花括号内第一个字符必须是脱字符^,花括号内括年月日三部分内容,各部分内容之间用分隔符-分隔。而斜杠则是系统在主窗口显示日期型数据使用的默认分隔符。{^yyyy-mm-dd}。
日期型常量也用8个字节表示。
影响日期格式的设置命令:
Set date to ymd/dmy/mdy
——功能是设置日期显示时的格式。
Set mark to “-”或者”/”或者”\”
——功能是用于设置显示日期型数据时的分隔符。若未指定分隔符则表示恢复系统默认斜杠分隔符。
Set century on/off
——功能是设置年份是以(on)4位或(off)2位来显示。
5)日期时间型常量:
含义:用来显示日期和时间,也称T型。
组成:{^yyyy-mm-dd hh:mm:ss am/pm}。
日期时间型常量也用8个字节存储。
注:上述所有关于日期和日期时间的设定在vf界面的工具菜单—选项—区域中进行操作。
6)逻辑型常量:
含义:它只有逻辑真和逻辑假两个值,也称L型。
组成:逻辑真——.t. .T. .y. .Y.
逻辑假——.f. .F. .n. .N.
前后的两个点作为定界符必不可少,但是只占1个字节。
(三)变量
1.定义:是指在成都之行进程中,其值可以被改变的量。
2.变量的命名原则:
以汉字、字母或下划线开头,可以含有数字,但不能含有非法字符如小数点、空格或通配符(*/?)。
要尽量做到见文知义。
3.变量的分类:
1)字段变量:在表文件中记录属性内容的变量。表中的每一个列标题就称为一个字段变量。列标题的名称就是这个字段变量的名称,其下的具体内容就是这个字段变量的值,即字段值。
注意一:表的每一行被称为一条记录,鼠标指向某一行时会变成指针的标志,指针所指向的行即此字段当前的值,当输出这个字段变量时,就会在主窗口显示当前行的值。
注意二:若字段变量名和内存变量名重名的现象时,优先输出字段变量的值;若想输出内存变量的值,则需在变量名前加上前缀M.(或M->)。
2)系统变量:是由vf系统自定义的变量,其名称是由系统预先定义好的,通常以下划线_开头。
例如:_screen. fontsize=20 可更改主窗口所显示字的字号大小;
_screen. backcolor=rgb(0,255,45) 可更改主窗口的背景颜色。
_vfp. Caption=”任意字符” 可更改vf标题栏上显示的标题名。
3)内存变量:
含义:表示内存中临时存放数据的单元格,它的类型取决于其中存放数据的类型。
内存变量的赋值:即把一个数据存放到内存变量中。两种方法:
格式一:store 表达式/数据 to 变量名 可把同一个值赋给不同的变量,各内存便另名之间要用逗号隔开。
格式二:变量名=表达式/数据(注意:数据为常量时必须加””)
可通过对内存变量重新赋值来改变其内容和类型。
内存变量的显示:list/display memory [like */?] 用来显示内存变量的信息。
内存变量的清除:
格式一:clear memory/release all 表示清除全部内存变量
格式二:release 变量名表 表示清除制定内存变量,可为若干个
格式三:release all like */?或except */? 表示清除相匹配或不相配的内存变量。
数组:
①含义:数组是一种特殊的内存变量,表示内存中连续的若干个存储单元。用来存储一系列数值,其中的每个值称为数组的一个元素,可通过下标来显示,下标用()或[]括起来。一个数组中的各个元素的值的数据类型可以不同。
②创建数组的命令:dimension/declare 数组名(元素个数)。
注意:若定义了一个数组aa,再给数组名aa赋值,则表明是给aa数组中的每个元素都赋予了一个相同的值。
③数组分类:
一维数组:一行多列 dimension 数组名(数值表达式)
二维数组:多行多列dimension 数组名(数值表达式1,数值表达式2)
其中,数值表达式1指定其行,数值表达式2指定其列,若只有一个数值,则为一维数组。
④一维数组与二维数组的转换:
例如:dimension aa(3)——aa(1,1),aa(1,2),aa(1,3)
这是将一维数组转换为二维数组。
dimension bb(2,3)——bb(1),bb(2),……bb(6)
这是将二维数组转换为一维数组。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |