BBS建站上网365问/155.什么是菜单模板?
以前的一些BBS软件中,还需要对每个信件和文件区有单独菜单。当信件区和文件区很多时,使得站长设计菜单时感到很单调,以后增加一个信件或文件区时又要重复进行维护更改。RemoteAccess的菜单模板系统允许你建立对所有信件和文件区适用的框架菜单,以便减轻工作量。
你可以使用4个模板变量,它们是/M、/MG、/F和/FG。/M变量代表当前选择的信件区,/MG变量代表当前选择的信件组,/F变量代表当前选择的文件区,/FG代表当前选择的文件组。
使用中,这些变量可以返回数值,也可以进行赋值。模板变量与几个信件和文件菜单功能一起使用,以指示在哪些组或区执行功能。
变量只是保持分配给它们的数值的标签。它们可以被使用和被修改。它们也可以被用来改变特殊菜单功能的操作方法。现在,我们将简要接触用/M和/F变量分配的值。
要安装一个数值到这两个模板变量中之一,就在1、2、3或4类型菜单命令的可选数据字段里指定/M=<区号>或/F=<区号>。例如,假设你建立叫MSGMENU的信件区模板菜单,在这个菜单你有一些菜单项目,每个有它自己的关于信件数据库的功能。例如:
-----------------------------------------------------------
键 菜单功能 可选数据 菜单类型
-----------------------------------------------------------
R 阅读信件 /M 23
S 扫描信件 /M 24
Q 快速扫描信件 /M 25
P 投递信件 /M 27
-----------------------------------------------------------
可选数据字段的/M指示这4个按键对用户的当前信件区执行菜单功能。
当使用可选数据字段为/M的菜单MSGMENU时,RemoteAccess知道在哪个信件区执行这些菜单功能。继续我们的例子,假设你正从MAINMENU菜单调用MSGMENU,如下:
-----------------------------------------------------------
键 菜单功能 可选数据 菜单类型
-----------------------------------------------------------
L 跳到Logoff菜单 LOGOFF 1
M 跳到Message菜单 MSGMENU /M=1 1
-----------------------------------------------------------
当用户按M键时,将显示菜单MSGMENU,并且所有用到/M的信件数据库菜单功能将在信件区1执行。
当你忽略从/M参数分配的<区号>时,RemoteAccess使用用户的上次选择信件区号。如果用户以前没有登录过,这个值将为1,或为用户可以进入的最低信件区号。如果用户以前呼叫过,RemoteAccess将为该用户记住上次选择的信件区,并且/M的值将设置为那个区号。
你可能开始看到为什么菜单模板如此有价值。没有/M可变,你将需要在每个基于信件的菜单功能的可选数据字段指定信件区号。这将为每个信件区要求一个独立菜单。那多么繁杂!通过使用保存信件区号的变量,就消除这个要求,一个信件菜单可以用于所有信件区。
这也一样应用在文件区,刚描述的例子直接应用在处理文件区的方式中。但组如何呢?现在有一个完全不同的概念!请继续阅读下面问答。