更新时间:2024-05-28 19:07
内存变量即VFP中的变量,是内存中存储一个数据的位置名称,在这个存储位置中存放的数据在操作期间通过这个名称来读和写。
内存变量是表结构之外独立存在于内存中的变量。内存变量可用来存储数据,定义内存变量时需为它取名并赋初值,内存变量建立后存储于内存中。
VFP中共定义了6种类型的内存变量:数值型、字符型、日期型、日期时间型、逻辑型和货币型,可分为简单变量和数组变量。
内存变量可以在被赋值时自动创建,给变量赋值的方法有两种:
使用赋值运算符“=”或 STORE命令
格式一:使用赋值运算符“=”
<内存变量>=<表达式>
格式二:使用STORE命令
STORE eExpression TO VarNamelist / STORE <表达式>TO <内存变量表>
功能:计算表达式,然后将计算结果赋给内存变量。
在程序中自动创建的变量和数组均为私有型,而在命令窗口中自动创建的变量和数组为全局型。内存变量的类型与所赋值的常量的类型相同。STORE命令可包括多个内存变量,但变量与变量之间须用逗号分隔。
用LOCAL,PRIVATE和PUBLIC关键字可以指定变量的作用域。
用LOCAL定义的变量或数组是局部变量或数组,局部变量或数组只能在创建它们的程序中使用和修改,不能被更高层次或者更低层次的程序访问,在它们所属的程序停止运行时,局部变量和数组将被释放。
用PRIVATR定义的变量和数组为私有数组。通过PRIVATE可将调用程序中定义的变量和数组在当前程序中隐藏起来,这样用户变可以在当前程序停止运行,所以被声明为私有的变量和数组均可重新被访问。
用PUBLIC定义的变量或数组为全局(公共)变量。任何运行程序都能对全局变量进行使用和修改。
如果内存变量和字段同名,直接使用变量访问是字段,要访问内存变量应该在变量名前加上“m.”,如有一个字段名为XB,有一个名为XB的内存变量,则要给该内存变量给值8,可使用的语言为:M.XB=8
可使用SAVE TO命名把内存变量保存到内存变量文件中,也可使用RESTORE命令把内存变量文件中的内存变量及值恢复到内存中。
SAVE TO命令的格式如下:
SAVE TO FileName[ALL LIKE Skeleton|ALL EXCEPT Skeleton]
格式中的FileName为内存变量的文件名,默认的扩展名为.MEM,Skeleton用来指定一类变量,可在其中使用“*”和“?”通配符,通配符的含义与文件名通配符基本一致。
RESTORE命令的格式如下:
RESTORE FROM FileName [ADDITIVE]
格式中的FileName为内存变量文件的文件名,若使用ADDITIVE关键字,则当前存在的内存变量仍保留,只是将内存变量文件中保存的内存变量追加到当前内存中来,否则当前内存变量被清除。