Vol.17 No.5 高福家等:FOXBASE+上弹菜单的使用与功能扩展 495. 但一般说来,菜单项不能太多,有几项到0多项.这时在定义数组之后可以直接将各菜单 项赋值给数组的各元素,然后利用上弹菜单选择执行, 2扩展上弹式菜单功能的1种方法 在实际应用中,如果要显示的菜单项如课程名称等,但其数目超过128,则需要进行如 下处理: 首先要建立1个字典库,将所有的菜单项输入其中,这时的记录数已不止128个,可能 有数百个·由于FOXBASE+系统设计的菜单项数最多不超过128个,所以采用了“分段送 入”的办法,即定义若干个数组,每个数组元素数定义为128,将1个大字典库中的数据依 次送人若干个数组之中,再用若干个上弹菜单依次显示,选择时依次在各菜单中查找,找到 时选择执行,查找不到时进人下一菜单,直到最后·在每段菜单的最后1项显示“按回车键 继续”,在选择这一项目时按回车键即进入下段菜单· 下面是1个上弹菜单功能扩展的例子,假设某学校课程设置中课程名称数量多达370 个,因此,定义了3个数组,每个数组为128个元素,总共为384个,由于每段菜单中有1 项被提示信息所占用,实际供显式菜单用的为127个,3个数组总共显示381个(若多于 381时可再多定义数组)·具体作法是: (1)定义3个数组mkcl(128),mkc2(128),mkc3(128).在使用数组时,送入下标变量的 实际数量可少于128. (2)打开课程设置总库,利用3组循环语句,将370门课程名称分别送人3个数组· dimension mkcl(128).mkc2(128),mkc3(128)3个数组说明 nx=0 计数器充零 do while nx<127 循环127次 nx=nx+1 计数器加1 mkcl(nx)=课程号+’’+课程名 库记录送下标变量 skip 下跳1个记录 enddo 循环结束 mkc1(128)='按回车键继续' 连接下1个菜单的变量 g0128 开始 nx=0 送第二个数组 do while nx<127 nx兰nx+1 mkc2nx)=课程号+’'+课程名 skip 下跳1个记录 enddo 结束 mkc2(128)='按回车键继续' 连接下一菜单的变量 g0255 从255条记录开始 nx=0 送第三个数组高福 家等 上 弹菜单的使用 与功 能扩展 但 一般说来 , 菜单项 不 能太 多 , 有 几项 到 多项 这 时在 定义 数 组 之 后 可 以 直 接 将 各 菜单 项 赋值给数组 的各元 素 , 然 后利 用上 弹菜单 选 择 执行 扩展上弹式菜单功能 的 种方 法 在 实 际应 用 中 , 如果要 显示 的菜单项 如 课 程 名 称 等 , 但 其 数 目超 过 , 则需要 进行 如 下处理 首先要 建立 个 字典库 , 将所 有 的菜单项 输入其 中 , 这 时 的记 录数 已 不 止 个 , 可 能 有 数百 个 由于 系 统设计 的菜单项 数 最 多不超 过 个 , 所 以 采 用 了 “ 分 段 送 人 ” 的办法 即定义若干个数组 , 每个 数组 元 素数 定 义 为 , 将 个大字典库 中的数据依 次送人若干个数组 之 中 , 再 用若 干个上 弹菜单依次显示 , 选 择时依次在 各菜单 中查 找 , 找到 时选 择执行 , 查 找不到 时进人 下 一菜单 , 直 到 最 后 在每段 菜单 的最 后 项 显示 “ 按 回车键 继 续 ” , 在 选 择这一项 目时按 回车键 即进 人下 段 菜 单 下 面是 一 个 上 弹菜单功 能扩 展 的例子 假 设 某 学 校 课 程 设 置 中 课 程 名 称 数 量 多 达 个 , 因此 , 定义 了 个数组 , 每 个数组 为 个元 素 , 总共 为 个 由于每 段 菜 单 中 有 项被提示 信息 所 占用 , 实 际供 显 式 菜 单 用 的 为 个 , 个 数 组 总共 显 示 个 若 多 于 时可再多定 义数组 具 体作法 是 定义 个数组 , , , 在 使用 数 组 时 , 送 人 下 标 变 量 的 实 际数量 可 少于 打开课程设置 总库 , 利 用 组 循 环语句 , 将 门课程名称分别送 人 个数组 人 , , 。 个数组说 明 计数器充零 循 环 次 计数器加 二 课程 号 ” 课程 名 库记 录送 下标 变量 下 跳 个记 录 循 环结束 ’ 按 回车键继 续 ’ 连接 下 个菜单的变量 开 始 送 第 二 个数组 二 课程 号 十 ” 十 课程 名 下跳 个记 录 即 结束 。 ’ 按 回车键继 续 ’ 连接下 一菜单的变量 从 条记 录 开始 二 送第 三 个数组