三、数据与数据运算 (一)简单介绍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) 这是将二维数组转换为一维数组。 |