中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 15:55
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 菜单选择功能
可打印版本  1,130 / 0
第1楼 DOSLER 发表于 2008-03-09 20:28
新手上路 发帖 6 积分 18
菜单选择功能
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。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023