第二章 (1)常量和变量

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

若选用MEMO短语,则同时复制备注型字段。 若选用BLANK短语,则产生一个空数组,各数组元素 的类型和大小与表中当前记录的对应字段相同。 格式2的功能是用通配符指定包括或排除的字段。 FIELDS LIKE<通配符>和FIELDS EXCEPT<通配符>可以同时使用。
例:打开表文件“student.dbf”,包括9个字段: 学号(C,4)、姓名(C,6)、性别(L)、出生日期 (D,8)等。当前记录为第一记录,把它复制到数 组ZG中。 use student scatter to zg ? zg(1),zg(2),zg(3) scatter to zg memory &&要求包括备注型字段 scatter to bb fields like 姓*,总* &&只选两字段 list memo like bb
逻辑假的常量表示形式有: .F. 、.f.、.N. 、.n.。前后两个句点作为逻辑型常量的定 界符是必不可少的,否则会被误认为变量名。
逻辑型数据只占用一个字节
2.1.2变量
变量名是以字母、汉字和下划线开头,后 接字母、数字、汉字和下划线构成。 变量值是能够随时更改的。
VFP的变量分为字段变量和内存变量两大类。 由于表中的各条记录对应一个个字段名,因此, 表中的字段名就称字段变量。
•命令格式:SET STRICTDATE TO [0|1|2] 命令功能:用于设置是否对日期格式进行检查。 0 表示不进行严格的日期格式检查,目的是与早期VFP兼容。 1 表示进行严格的日期格式检查,它是系统默认的设置。 2 表示进行严格的日期格式检查,并且对CTOD()和CTOT()函数的格式 也有效。
例3.2 设置不同的日期格式。 在命令窗口键入输入以下几条命令,并分别回车执行: set century on &&设置4位数字年份 set date to ymd &&设置年月日格式 ?{^2000.08.08} Set century off Set mark to “.” Set date to mdy ?{^2000-08-10}
创建数组的命令格式为:
DIMENSION<数组名>(<下标上限1)[,<下标上限2 >])[….] DECLARE<数组名>(<下标上限1>[,<下标上限 2>])[”….] 以上两种格式的功能完全相同。数组创建后,系统自 动给每个数组元素赋以逻辑假.F.。
例如,DIMENSION x(5),y(2,3)命令定义了两个数组: 一维数组x含5个元素:x(1)、x(2)、x(3)、x(4)、x(5)。 二维数组y含6个元素:y(1,1)、y(1,2)、y(1,3)、y(2,1)、y(2,2)、 y(2,3)。
2.1常量与变量
每一个数据都有一定的类型,数据类型决定了数据 的存储方式和运算方式。
向表中输入数据时,每个字段的数据类型是在表结 构中定义的。
常量、内存变量、函数以及表达式的类型包括字符 型、数值型、货币型、逻辑型、日期型和日期时间型等6 种。
2.1.1常量
常量:用以表示一个具体的、不变的值。不同 类型的常量有不同的书写格式。 1.数值型常量 数值型常量也就是常数,用来表示一个数量的 大小,由数字0—9、小数点和正负号构成。 例如:12、3.45、-6.78 为了表示很大或很小的数值型常量,也可以使 用科学记数法形式书写. 例如:用5.878E12表示5.878×1012,用1.6E-12表 示1.6×10-12。 数值型数据在内存中用8个字节表示,其取值范围 是-0.9999999999E+19~0.9999999999E+20。
5.表中数据与数组数据之间的交换
①将表的当前记录复制到数组
格式1:SCATTER[FIEIDS<字段名表>] [MEMO]TO< 数组名>[BLANK] 格式2:SCATTER[FIELDS LIKE<通配符>[FIELDS EXCEPT<通配符>][MEMO] TO<数组名>[BLANKl
格式1的功能是将表的当前记录从指定字段表中的第 一个字段内容开始,依次复制到数组名中的从第一个数 组元素开始的内存变量中。如果不使用FIELDS短语指定 字段,则复制除备注型M和通用型G之外的全部字段。
③影响日期格式的设置命令
• 命令格式:set mark to [日期分割符] 命令功能:用于指定日期分隔符,“-”,“.” • 命令格式:set date [to] american|ansi|british| Use:mm/dd/yy british: dd/mm/yy
•命令格式:set century on/off 命令功能:用于设置年份的位数; on设置年份用4位数字表示 of存变量常用命令
1.内存变量的赋值 格式1:STORE<表达式>TO<变量名表> 格式2:<内存变量名>=<表达式> 2.表达式值的显示 格式1:?[<表达式表>] 格式2:??<表达式表>
[ ]括起来的内容表示是可选的;[,…n]表示重复前面的内容; 用< >括起来表示在实际编写语句时,用相应的内容替代; 用{ }括起来表示是必选的;类似A|B的格式,表示A和B只能 选择一个,不能同时都选。
例: 显示几个字符型常量。 在命令窗口键入以下两条命令:
? "计算机","123",['abc'"ABC"] ?? "计算机","123",['abc""ABC"]
4.日期型常量
日期型常量的格式有两种: ①传统的日期格式 系统默认为美国日期格式mm/dd/yy(月/日/年)
②严格的日期格式 这种格式的日期常量在书写时要注意:花括号内第 一个字符必须是脱字符(^); 年份必须用4位(如2001、1999等);年月日的次序不 能颠倒、不能缺省。日期型数据用8个字节表示.
4,内存变量的清除
格式1:CLEAR MEMORY 格式2:RELEASE<内存变量名表> 格式3:RELEASE ALL[EXTENDED] 格式4:RELEASE ALL[LIKE<通配符>] [EXCEPT<通配符>]
例2.5在命令窗口中依次输入下列命令, 命令格式及屏幕显示如下:
clear memory dimension y(2,2) store "xxx" to x1,y(1,1) y(3)={^2000-03-23} x2=$123.23 list memory like y* release all like y*
在使用数组和数组元素时,应注意如下问题:
①在一切使用简单内存变量的地方,均可以使用数组元素。
②在赋值和输入语句中使用数组名时,表示将同一个值同时赋给 该数组的全部数组元素。 ③在同一个运行环境下,数组名不能与简单变量名重复。 ④在赋值语句中的表达式位置不能出现数组名。 ⑤可以用一维数组的形式访问二维数组。
例2.4 内存变量和字段变量的访问。
在一个表文件“student.DBF”,其结构如下: student(学号C(8),姓名C(6),性别C(2),出生日 期D(8))
在命令窗口键入以下命令: use student list ? 姓名,性别,学号 &&显示字段变量 store “王三” to 姓名 &&用字符串向内存变量姓名赋值 y=500 xm=姓名 &&用字段变量赋值内存变量XM store 8.88 to x1,x2 store .t. to q ? xm,m.姓名,x1,x2,q ? 姓名,m.姓名,x1,x2,q
2.货币型常量
货币型常量用来表示货币值,其书写格式与数值型常 量类似,但要加上一个前置的符号($)。货币数据在存储 和计算时,采用4位小数。如果一个货币型常量多于4位小 数,那么系统会自动将多余的小数位四舍五入。
例如: 常量$123.456789将存储为$123.4568。
货币型常量没有科学记数法形式,在内存中占用8个字节.
②将数组数据复制到表的当前记录
格式1:GATHER FROM<数组名>[FIELDS< 字段名表>][MEMO] 格式2:GATHER FROM<数组名>[FIELDS LIKE<通配符>] FIEIDS EXCEPT<通配符>] [memo]
格式1: 功能是将数组中的数据作为一个记录复制到表的 当前记录中。从第一个数组元素开始,依次向字段名 表指定的字段填写数据。如果缺省FIELDS选项,则依 次向各个字段复制,如果数组元素个数多于记录中字 段的个数,则多余部分被忽略。若选用MEMO短语, 则在复制时包括备注型字段;否则备注型字段不予考虑。
2.数组
数组是内存中连续的一片存储区域,它由一系列元素 组成,每个数组元素可通过数组名及相应的下标来访问。
每个数组元素相当于一个简单变量,可以给各元 素分别赋值。在VFP中,一个数组中各元素的数据类型可 以不同。 与简单内存变量不同,数组在使用之前一般要用 DIMENSION或DECLARE命令显式创建,规定数组是一 维数组还是二维数组,数组名和数组大小。数组大小由 下标值的上、下限决定,下限规定为1。
5.日期时间型常量 日期时间型常量包括日期和时间两部分内容:(<日期 >,<时间>)。 <日期>部分与日期型常量相似,也有传统的和严格的 两种格式。 <时间>部分的格式为: [hh[:mm[:ss]] [a[p]]。 日期时间型数据用8个字节存储
6.逻辑型常量
逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常 量表示形式有: .T.(.t.) 、 .Y.(.y.)。
格式2:
功能是用通配符指定包括或排除的字段。FIELDS LIKE<通配符>和 fields except<通配符>可以同时使用。
例:打开表文件“student.dbf”,追加一条空记录, 将数组RR中的内容复制到空记录中。注意数组 中各个数组元素的数据类型必须与字段的数据 类型对应一致。
dime rr(1,3) RR(1,1)="952201" RR(1,2)="1995220217" RR(1,3)="张三" use student append blank gather from rr brow
3,内存变量的显示
格式1:LIST MEMORY [LIKE<通配符>] [TO PRINTER| TO FILE<文件名>] 格式2:DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER |To FILE<文件名>] 功能:显示内存变量的当前信息,包括变量名、作用 域、类型、取值。 选用LIKE短语只显示与通配符相匹配的内存变量。通 配符包括*和?,*表示任意多个字符,?表示任意一个字符。
例如,当把一个常量赋给一个变量时,这个常量 就被存放到该变量对应的存储位置中而成为该变量新 的取值。
在VFP中,变量的类型可以改变,也就是说,可以 把不同类型的数据赋给同一个变量。
内存变量的数据类型包括字符型(C)、数值型(N)、货 币型(Y)、逻辑型(L)、日期 型(D)和日期时间型(T)。 1.简单内存变量 每一个变量都有一个名字,可以通过变量名访问变量。 如果当前表中存在一个同名的字段变量,则在访问内存 变量时,必须在变量名前加上前缀M.(或M->),否则系 统将访问同名的字段变量。
3.字符型常量
字符型常量也称为字符串,其表示方法是用半角单引 号、双引号或方括号把字符串扩起来。 这里的单引号、双引号或方括号称为定界符。
字符型常量的定界符必须成对匹配,不能一边用单引 号而另一边用双引号。 如果某种定界符本身也是字符串的内容,则需要用另 一种定界符为该字符串定界。
注意:不包含任何字符的字符串(“”)叫空串。空串与包 含空格的字符串(” ”)不同。
向简单内存变量赋值不必事先定义,变量的赋值命令有 以下两种格式: <内存变量名>=<表达式> STORE<表达式>TO<内存变量名表>
功能注释: ①等号一次只能给一个内存变量赋值。 STORE可同时给若干个变量赋相同的值,各内存变量名之间必 须用逗号分开。 ②在VFP中,一个变量在使用之前并不需要特别的声明或定义。 ③可以通过对内存变量重新赋值来改变其内容和类型。
每一个函数都有特定的数据运算或转换功能它往往需要若干个自变量即运算对象但只能有一个运算结果称为函数值或返函数可以用函数名加一对圆括号加以调用自变量放在圆括号里如lenx
08版本VFP培训课件
————hengjunyue QQ:421480815
第二章 VFP程序设计基础
根据计算机系统处理数据的形 式来划分,VFP有常量、变量、表 达式和函数四种形式的数据。
相关文档
最新文档