R E G I O N A L 命 令
创建局域变量和数组
语 法
#REGION nRegionNumber
REGIONAL VarList
参 数 描 述
#REGION nRegionNumber
创 建 一 个 局 域 在 程 序 中 使 用 局 域 变 量 之 前 必 须 先 予 以 声 明 要 注 意 的 是#REGION 是 一 条 编 译 指 令 而 不 是 一 条 命 令 nRegionNumber 指 定 局 域 号取 值 范 围 为 0 到 31
REGIONAL VarList
声 明 #REGION 指 令 所 创 建 局 域 中 的 变 量 VarList 是 由 逗 号 分 隔 的 变 量 及 数组 的 列 表
在程序的编译过程中 如果一个局域变量已做编译 而又遇到另一个同名的局域声明时 将使第二个出现的变量名唯一 以确保不与先前已声明的局域变量发生冲突
使变量名唯一的办法是用下划线和当前局域号填充局域变量名 使之达到 10 个字符
这种替代完全发生在程序编译过程中 对执行速度没有影响
变量名修改后 可以使用 DISPLAY MEMORY 命令显示修改后的变量名 为了在调试窗口中监控变量 应使用修改后的变量名 由于跟踪窗口使用原始的程序源代码 因而原始变量名 而不是由编译器创建的修改后的名称 出现在跟踪窗口中
说 明
如果在局域中受保护 即使同名的变量或数组也不互相干扰 局域变量与私有变量相似
示 例
下面的示例创建了两套局部变量 在 region 1 中 创建了变量 gcA gcB gcC 和gcD 并都赋值 “ One ” 字符串 在 region 2 中 创建了变量 gcC gcD gcE 和gcF 并都赋值 “ Tw o” 字符串 变量 gcC 和 gcD 在两个区公用
然后显示 DISPLAY MEMORY 的输出 在第二个区中修改变量 gcC 和 gcD 的名称gcC 变为 GCC________2, 并且 gcD 变为 GCD________2 所有的变量都是私有的 可被低级程序访问
#REGION 1
REGIONAL gcA,gcB,gcC,gcD STORE 'One' to gcA,gcB,cgC,gcD #REGION 2
REGIONAL gcC,gcD,gcE,gcF && gcC 和 gcD 对两个地区通用
STORE 'Two' to gcC,gcD,gcE,gcF DO showmemory
PROCEDURE showmemory
DISPLAY MEMORY LIKE g*
请 参 阅
PRIVATE , PUBLIC , STORE