| 当前位置:洪恩在线
-> 继续教育 ->
计算机考级 -> 二级FOXBASE+语言 |
|
|||||||||||
|
变量是指在数据处理过程中取值可以变化的量。变量名的规定与字段名相同,由字母或汉字开头,用字母、汉字、数字和下划线构成,变量名的长度不能超过10个字符。FoxBASE有两种变量:字段变量和内存变量。
一、字段变量 FoxBASE的字段有五种类型:数值型(N)、字符型(C)、逻辑型(L)、日期型(p)和备注型(M)。因为备注型字段不在表达式中使用,故M型字段不作为字段变量。 由于各条记录对同一个字段名可能取值不同,因此打开数据库之后,库文件中的字段名就是变量,称为字段变量。 1.记录指针 数据库对记录的处理是逐条进行的。对于一个打开的数据文件来说,在某一时刻只能处理一条记录。FoxBASE为每一个打开的数据库设置了一个内部使用的记录指针,指向正在被操作的记录,该记录称为当前记录。记录指针存放的是记录号,其作用是标识数据库的当前记录。 2.记录指针的移动 通过专门的记录指针移动命令可以把指针调动到数据库中所需要的某个记录。 1)记录指针绝对移动 命令格式:GO<数值表达式>|TOP|BOTTOM 命令格式中的“|”表示“或者”,即可以选用上述三个参数之一。此命令动词也可以写成GOTO,其功能是使记录指针作绝对移动,直接指向指定的记录(首记录、尾记录、指定记录号)。 功能注释: (1)参数为数值表达式时,命令将指针定位到数值表达式的值所代表的记录号,因此表达式的值应当是正整数。通常以数值n直接给出具体记录号,如GO 18。 (2)参数为TOP时,将指针定位到数据库的顶部,即首记录。对于数据库的物理顺序,首记录就是记录号为1的记录。但是如果打开索引文件,逻辑首记录的记录号则不一定是1。 (3)参数为BOTTOM时,将指针定位到数据库的底部,即尾记录。对于数据库的物理顺序,末记录就是记录号最大的记录。但如果打开索引文件,逻辑尾记录的记录号则不一定是最大记录号。 2)记录指针相对移动 记录指针的相对移动是指以当前记录为基准,使记录指针向上或者向下作相对跳步。 命令格式: SMP[<数值表达式>] 功能注释: (1)记录指针定位到当前记录号加表达式值的位置。当表达式的值为正整数时,指针向记号增大的万向跳过指定个记录。当表达式的值为负整数时,指针向记录号减小的方向跳过指定个记录。一般直接给出数值,即SKIP n或SkIP -n。如果表达式的值不是整数,系统将诹整数位,忽略小数。 (2)省略表达式只写SKIP时,系统默认为SKIP,即向下移动一条记录。 (3)使用索引文件时,指针将按照主索引的逻辑顺序移动。 二、内存变量 内存变量是一种临时的信息存储单元,独立于数据库文件而存在,与数据库打开与否无关。内存变量可以根据需要随时定义,其作用是存放常数、中间结果或最终结果,也可以用于控制应用程序的运行。 1.内存变量的类型 FoxBASE的内存变量有五种类型:数值型(N)、字符型(C)、逻辑型(L)、日期型(D)和屏幕型(S型)。用内存变量赋值命令可以直接建立内存变量,并赋值。系统根据赋值的数据类型自动识别变量的数据类型。在使用过程中,可以通过对内存变量重新赋值来改变内存变量的数值和类型。系统默认的内存变量个数最多为256个。 数值型、字符型、逻辑型和日期型内存变量与字段变量相同,但内存变量多一种屏幕型(S型)数据类型。只有内存变量有屏幕型,用于保存一个完整的屏幕,包括屏幕格式及屏幕所显示的信息。一个屏幕型数据需占内存4KB。屏幕型变量需要通过专门的命令来存取,它除了存放或显示屏幕信息,不进行任何运算。 2.内存变量的赋值命令 命令格式: <内存变量>=<表达式> STORE<表达式> TO <内存变量名表> 功能注释: (1)等号一次只能给一个内存变量赋值。 (2)STORE 命令可以同时给若干个变量赋予相同的值,各内存变量名必须用逗号分开。 (3)可以通过对内存变量重新赋值来改变其内容和类型。 如果内存变量与字段变量重名,系统默认字段变量。为避免混乱,应当尽量避免重名。若出现内存变量与字段变量重名的情况,引用内存变量时,前面要冠以M->以示区别。 3.两种变量的比较 FoxBASE的变量分为字段变量和内存变量两种。它们的共同数据类型是N、C、L、D型;字段变量有M型,内存变量没有;内存变量有S型,字段变量没有。 (1)字段变量是当前数据库中的字段名,不能独立存在。没有打开数据库就找不到字段变量。 (2)除非修改数据库结构,否则不能改变字段变量的数据类型。内存变量独立于数据库文件,与其他程序设计语言中的变量性质相同。可以用赋值命令重新赋值,从而改变它的值或数据类型。 (3)内存变量是单值变量,只要不重新赋值,其当前值保持不变。字段变量是一种多值变量,其当前值随记录指针的移动而改变。只有通过有关命令才能修改记录中的字段值。 (4)C型、N型、L型、D型的字段变量和内存变量均可以用作表达式的组成部分。 (5)数据库有备注型字段用以保存较长的文本信息;内存变量有屏幕型用于保存屏幕画面。备注型(M)字段和屏幕型(S)内存变量均不在表达式中使用。 (6)若存在与字段变量重名的内存变量,系统默认字段变量。引用重名内存变量时,前面必须冠以M->以示区别。
课堂提问: |
|
|
|||||||||