当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级FOXBASE+语言
 

  计算机考试
 


  FOXBASE+    


  内存变量及应用

     在FoxBASE中,变量有两种形式,内存变量和字段变量。内存变量是存储于内存储器中的工作单元,用于存储在程序运行中需要临时存储的数据或在不同的数据库文件之间传递有关数据信息,控制应用程序的运行。内存变量与字段变量相比,主要的区别是:

     (1)字段变量的值依赖数据库文件,只要数据库文件存在,即便是计算机关闭了字段变量中的值依然存在;而内存变量的值仅仅存在于内存之中,除非将其存储在内存变量文件中,否则只要退出相应的环境(过程或系统),其定义将消失。

     (2)在不同数据库文件中可以有相同的字段名称,它们可以是表示不同类型和内容的数据,即使在同一个数据库文件中,同一个字段在不同记录上的值也可以不相同;而同一内存变量的值在同一环境下是唯一的,并与数据库文件打开与否无关。

     (3)内存变量可以作为过程调用中的参数使用,而字段变量不行。

     (4)内存变量有简单变量和下标变量 (数组)两种方式,而字段变量只有简单变量一种形式。

    一、内存变量

     内存变量独立于数据库文件,是内存中的临时工作单元,它与数据库打开与否无关。内存变量可以根据需要随时定义,其作用是存放常量、中间结果或最终结果,也可以用于控制应用程序的运行。

    1.内存变量的赋值

     在将要讲授的INPUT,ACCEPT,WAIT命令都可以为内存变量赋值,对内存变量直接赋值由如下两种格式。

     格式1:<内存变量>=<表达式>

     格式2:STORE<表达式>TO<内存变量1>,<内存变量2>,.....

     命令既可以为简单变量赋值,也可以为下标变量赋值,现在先以简单变量为主来介绍命令的使用。

     格式1每次只能为一个内存变量赋值,可以是不同的类型,内存变量一旦被赋值不仅取得了所被赋之值,也同时取得了类型。

    2.显示内存工作区

     命令格式:

     LIST MEMORY [TO PRINT]

     DISPLAY MEMORY[TO PRINT]

     这两条命令都可以显示或打印输出内存变量工作区的信息,包括己定义的内存变量名称、类型、内容、个数、已占内存总字节数,及剩余的可用内存变量空间。

     命令注释:

     (1)LIST为连续滚动显示;DISPLAY为分屏显示。

     (2)选用TO PRINT短语时,将结果在显示的同时送往打印机输出。

    3.保存内存变量

     所定义的内存变量,如果不保存到内存变量文件中,退出系统之后,内存变量就不复存在了。系统提供存储内存变量的命令。

     命令格式:

     SAVE TO<文件名>ALL[LIKE|EXCEPT<通配符>]

     此命令将内存变量保存到磁盘文件中。

     功能注释:

     (1)系统默认文件扩展名.MEM。

     (2)选用ALL LIKE短语则只保存与通配符相匹配的内存变量。选用ALL EXCEPT短语则保存除了与通配符相匹配之外的内存变量。通配符与DOS中的通配符相同,?表示任意一个字符,*表示任意多个字符。

    4.恢复内存变量

     命令格式:

     RESTORE FROM<文件名>[ADDITIVE]

     此命令将指定文件所保存的内存变量重新读入内存工作区。

     功能注释:

     (1)系统默认文件扩展名.MEM。

     (2)选用ADDITIVE短语则保留现行内存变量,再把文件中的变量添加进来。否则,覆盖原有的内存变量。

    5.删除内存变量

     命令格式:

     格式1:CLEAR MEMORY

     格式2:RELEASE<内存变量名表>

     格式3:RELEASE ALL[LIKE|EXCEPT<通配符>]

     格式4:CLEAR ALL

     这些命令的功能是删除内存变量,释放原来占用的内存空间。

     功能注释:

     (1)格式1清除当前内存中全部已定义的内存变量。

     (2)格式2清除指定的内存变量。

     (3)选用ALL LIKE短语则只清除与通配符相匹配的内存变量。选用ALL EXCEPT短语则清除除了与通配符相匹配之外的内存变量,即保留与通配符相匹配的内存变量,清除其他。通配符与DOS中的通配符相同,?表示任意一个字符,*表示任意多个字符。

     (4)CLEAR ALL为恢复系统初态命令。释放所有内存变量,关闭所有各类文件,

     包括数据库文件、索引文件、过程文件,并选择1号工作区。

    6.存储与恢复屏幕映象

     前面介绍过内存变量赋值命令 STORE、等号。统计命令COUNT、SUM、AVERAGE也可以把结果存入内存变量。系统还提供了存储屏幕映象的命令,使得同样的屏幕可多次调用,不必每次都一步一步地画。

    1.存储屏幕映象

     命令格式:

     SAVE SCREEN[TO<内存变量>]

     此命令将当前的屏幕映象保存到内存缓冲区或内存变量中,以便以后恢复。

     命令注释: ·

     (1) 存储屏幕映象的内存变量为屏幕型(S型)。

     (2) 如果缺省TO短语,则将当前的屏幕映象保存到内存缓冲区中。

    2.恢复屏幕映象

     命令格式:

     RESTORE SCREEN[FROM<内存变量>]

     此命令从内存缓冲区或内存变量中恢复原来存储的屏幕映象。

     命令注释:

     (1)FROM短语指出原来存储屏幕映象的S型内存变量名。

     (2)如果缺省FROM短语,则从内存缓冲区恢复屏幕映象。

 


简单举例
例子
基础测试
测试