7.菜单语句.doc_第1页
7.菜单语句.doc_第2页
7.菜单语句.doc_第3页
7.菜单语句.doc_第4页
7.菜单语句.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

融海咨询INFORMIX-4GL应用开发第七章菜单语句本章介绍了MENU语句的全部语法。可以从MENU语句开始执行INFOTMIX-4GL应用。可以用MENU语句来建立程序原型。原型可以使开发人员在代码编完之前先建立一个不完整的应用,感觉一下菜单流程及效果。INFORMIX-4GL菜单INFORMIX-4GL程序菜单的项目个数没限制。给用户用INFOMIX-4GL编的菜单和INFORMIX-4GL编程环境中的菜单使用方法相似:l 用户通过高亮一个选项并按RETURN或键入这个选项的第一个字母来选择这个选项。l 若菜单有多于一行的选项,用户在菜单后面会看到省略号(),这意味着有多于在一行上可显示的菜单项。用户高亮省略号(),则后面的选项会显示出来。编程环境中的菜单与用INFORMIX-4GL建的菜单的不同点:l 由你自己决定放什么命令项。l 由你决定放多少项。l 由你决定其顺序。l 由你决定每个命令项作什么。菜单语句在上面的代码中,跟在MENU保留字后的是菜单标题。这是菜单的结构。COMMAND保留字在菜单的每一项只出现一次。l 尽量用大写字母来表示菜单名,以便容易和菜单命令区别开。若用INFORMIX-4GL 4.1以前的版本,每个菜单命令的开始字母不能相同。如果想用第一个字母相同的词表示两个选项,必须用别的语法,在本章的后面会讲到。l INFORMIX-4GL在菜单名后加了一个冒号(:),且在每个命令项之间加上了两个空格,若菜单超过了80个字符,即一屏的宽度,会以省略号()表示后面还有命令项。l 在屏幕显示时,菜单名(MAIN MENU)会显示在命令项的左边。l 在用MENU语句时,要用END MENU表示语法结束。l EXIT MENU语句用于退出菜单语句。COMMAND语句COMMAND菜单项子句用于在用户从循环菜单上选择时显示选项的状态信息。上图显示了这个子句的例子。显示和隐藏选项若用4.1或更高版本,可以用SHOW OPTION和HIDE OPTION显示菜单项的子集。上例中,Customer、Orders和Exit选项只在用户选择Short menu时显示。HIDE OPTION和SHOW OPTION语句出现在BEFORE MENU语句之前或在COMMAND语句中。BEFORE MENU语句BEFORE MENU语句是INFORMIX-4GL 4.1版新增加的。在这个子句中的INFORMIX-4GL语句在菜单显示之前执行。它给HIDE OPTION和SHOW OPTION语句提供了执行的逻辑位置。BEFORE MENU子句可以发挥INFORMIX-4GL 4.1版的其它特性的好处:如可以用字符变量命名菜单、命令以及选项。上面显示了BEFORE MENU子句的例子。程序实例:maincall main_menu()clear screenend mainfunction main_menu()define menu_name char(10),response char(1)menu menu_namemenu_name是在菜单显示时表示哪个菜单在执行的名字。 before menu 此句用于询问选择长的还是短的菜单。 prompt Do you want the short or long menu?(s/l)for char response if response = Ss then let menu_name = SHORT_MENU hide option all show option Customer, Orders, Exit else let menu_name LONG_MENU end if command Customer Go to the CUSTOMER menu call dummy() command Orders Add a new order call dummy() command Stock Go to the STOCK menu call dummy() command Misc_reports Go to the REPORTS menu. call dummy() command Projects Go to the PROJECTS menu. call dummy() command Exit Return to the operating system. exit menu end menuend functionfunction dummy() error Function not yet implemented.end function同一字母开头的词作为两个选项用INFORMIX-4GL的4.1或以后的版本,可以在菜单中用同一字母开头的词作菜单项。当用户键入字母选择菜单项时,INFORMIX-4GL查找唯一匹配的。若有多个选项匹配,INFORMIX-4GL在菜单的第二行把匹配的项列出来,提示用户确认选择。INFORMIX-4GL在用户键入的字母后跟上与这个字母匹配的菜单项。当INFORMIX-4GL明确了唯一的选项,就关闭提示行并执行与选项相关的语句。例如上例:当用户输入STA,即选择了state而不会选中stock。命令键如果想给用户提供一个(用INFORMIX-4GL 4.1的早期版本)快捷键,可以用COMMAND KEY (key-list) menu-option子句定义按下哪个键后执行这个命令项。在上例中,Stock和sTates两个命令都是以“S”开头,用KEY选项给sTates命令定义了T作为快捷键。用大写的T是为了有助于用户识别,但并不是必须大写。注意当用含快捷键的COMMAND时,第一个字母就不再起快捷键的作用了。隐藏命令选项隐藏选项可以通过在菜单的COMMAND KEY子句中不写选项名实现。如上例中,若用户按F1,dummy将执行,虽然它在菜单上不象其它选项一样显示出来,但用户知道这个命令选项是存在的。同一命令有多个选项在上图显示的最后一个COMMAND子句,同一命令用户可以有两个选择。用户按E或X键都可以退出菜单。列在括号中的键是不分大小写的。上例中,不必列出小写的e或x,也能自动接受小写。多个菜单在INFORMIX-4GL中一个菜单调用另一个是很正常的。上例中,显示了MAIN MENU。若用户从MAIN MENU选择了Customer项,将调用函数cust_menu函数,这个函数显示另一个菜单项,直到用户选择Exit,才返回到MAIN MENU,并执行到NEXT OPTION命令。NEXT选项这是从CUSTOMER菜单返回时Orders选项将被高亮的指令。NEXT OPTION命令可以预先建立一个用户菜单选择的推荐顺序。警告要保证用于NEXT OPTION命令的选项名同用于COMMAND子句的拼写一致,因为它是分大小写的。如果选项名拼写不对,会发生编译错误。OPTION语句OPTION语句用于修改与命令相关的缺省值。例如,在后续章节中将讲到怎样在程序中创建联机帮助。缺省地,帮助键是CONTROL-W,但可以用如下方法在OPTIONS语句中列出帮助键来改变:optionshelp key “CONTROL-U”在程序中可以有多个OPTIONS语句,上图列出了在编程中可设置的有效OPTION项。MENU LINE是4.1版的特性,用于指定菜单行放在当前屏或窗口的某一行,缺省地,菜单放在当前屏或窗口的前两行。下面的代码中,MENU LINE设为LAST-1,这时MAIN MENU如上图将显示在屏幕的底部。保留字FIRST和LAST都可以用于MENU LINE。FIRST和LAST的值和当前屏幕或窗口有关。maincall set_options()call main_menu()clear screenend mainfunction set_options()options menu line last -1 end functionfunction main_menu()menu “MAIN MENU”command

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论