中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 菜单选择功能 上一主题 | 下一主题
DOSLER
新手上路




积分 18
发帖 6
注册 2008-3-5
状态 离线
『楼 主』:  菜单选择功能

DOS功能调用31H或4C所提供的一字节的返回码,通过批处理子命令IF和ERRORLEVEL对返回码进行处理,可达到自动执行一批命令的目的。在批处理文件中实现所有高级语言的菜单提示功能,使批处理文件变得更加灵活方便。先用DEBUG建立一个菜单驱动程序MENU.COM,对应地编写一个批处理文件lg.bat。具体内容和方法如下:
DEBUG
-166C:0100 MOV DX,111
-166C:0103 MOV AH,09
-166C:0105 INT 21
-166C:0107 MOV AH,01
-166C:0109 INT 21
-166C:010B MOV AH,4C
-166C:010D INT 21
-166C:010F INT 20
-166C:0111 DB '***********************'0D 0A
-166C:0131 DB '*1.Turbo Pascal 5.00*'0D 0A
-166C:0151 DB '*2.Turbo Basic 1.00*'0D 0A
-166C:0171 DB '*3.Turbo Prolog 2.00*'0D 0A
-166C:01B1 DB '*3.Turbo C 2.00*'0D 0A
-166C:01B1 DB '*4.Exit*'0D 0A
-166C:01F1 DB '***********************'0D 0A
-166C:01F1 DB 'Your choicce(0..4):'24 0D 0A 1A
-166C:0209
-RCX
CX0000
:108
-N MENU.COM
-W
Writing 0108 bytes
-Q



再建立一个批处理文件,调用菜单驱动程序,根据返回的字节码作出相应的处理。
@ECHO OFF
START
CLS
MENU
IF ERRORLEVEL 52 GOTO C
IF ERRORLEVEL 51 GOTO PRO
IF ERRORLEVEL 50 GOTO BAS
IF ERRORLEVEL 49 GOTO PAS
IF ERRORLEVEL 48 GOTO EX
CLS
GOTO START

:PAS
TURBO.EXE
GOTO START

:BAS
BASIC.EXE
GOTO START

:PRO
PROLOG.EXE
GOTO START

:C
TC.EXE
GOTO START

:EX
@ECHO ON
执行LG,屏幕左上角先出现一个菜单,并提示用户输入选择,当选择的功能执行结束,重新返回主菜单请求选择,直到选择“0”号功能,程序结束返回DOS。

2008-3-9 20:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: