|
yaya
银牌会员
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『楼 主』:
在config.sys中使用的逐级执行式菜单编辑器 ConMenu.sys V2.12
在config.sys中使用的菜单编辑器有BootCon.sys和Boot.sys。他们的功能强大,但体积也大。
本人编制的菜单编辑器 ConMenu.sys 只有1.78K。
功能:
12行标题和4行尾注;
rem caption=
rem endnote=
16项可显示菜单(A,B,C...P);
rem cm0=[A
...
rem cm0=]A
标号必须按A,B,C...排列
9项隐含菜单(1,2,3...9);
rem cm0=(1
...
rem cm0=)1
标号必须按1,2,3...排列
=]及=)后的字母数字不是必须的,只为了自我辨识
可显示菜单与隐含菜单在顺序上可混合编排;
即A,B,1,C,2...
颜色属性(背景前景色,被选菜单项显示方式),如不输入,缺省07,F;
背景前景色(00...FF)(背景闪烁位改为高亮)
被选菜单项显示方式(f反色,g高亮)
例:=07,g =07 =,g
rem color=
默认属性(默认菜单项,显示时间),如不输入,缺省A,60;
rem default=
例:=b,30 =b =,30
可显示菜单项里可包含同级其他菜单项(可显/隐含);
rem include0=
含有子菜单的菜单项里使用include,应放在子菜单结束后,本菜单项结束前
rem cm0=[b
rem cm1=[a
...
rem cm1=[end]
rem include0=...
...
rem cm0=]b
复选菜单可多项选择(用回车键选择/清除);
rem cm0=[?A
...
rem cm0=]A
子菜单可多级嵌套;
第一级为0,第二级为1...
cm0,cm1...
include0,include1...
由%cm0%,%cm1%...返回参数A,B...P;
程序结束符 rem cm0=[end];
按↑↓或相应字母选择菜单项;'?'为复选菜单,按回车选择/清除;在单选菜单按回车确定
如果子菜单中不含标题、尾注、背景前景色、被选菜单项显示方式、时间,则继承父菜单内容
例子1:(实际使用时,需由'本是'的VTMagic.com将下面的中文字体换掉)
device=config.exe (由'本是'的VTMagic.com生成)
device=ConMenu.sys
rem color=1e
rem default=a,30
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;'?'为复选菜单,按回车选择/清除
rem endnote=在单选菜单按回车确定
rem cm0=[A. 保护模式 加载 EMM386 和 CD-ROM
device=himem.sys
device=emm386.sys noems
rem include0=1
rem cm0=]A
rem cm0=[B. 实模式 加载 UMBPCI 和 CD-ROM
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys
rem include0=1
rem cm0=]B
rem cm0=[C. 保护模式 加载 EMM386 ,CD-ROM 和 USB
rem include0=A
rem include0=2
rem cm0=]C
rem cm0=[D. 实模式 加载 UMBPCI , CD-ROM 和 USB
rem include0=B
rem include0=2
rem cm0=]D
rem cm0=[E. 最小模式
rem cm0=]E
rem cm0=(1
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm0=)1
rem cm0=(2
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm0=)2
dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256
rem cm0=[end]Sample Text
[ Last edited by yaya on 2006-2-28 at 17:14 ]
附件
1: ConMenu1.jpg (2006-1-25 12:27, 40.95 K, 下载附件所需积分 1 点
,下载次数: 84)
附件
2: ConMenu212.rar (2006-2-28 17:09, 3.18 K, 下载附件所需积分 1 点
,下载次数: 2266)
|
|
2006-1-15 17:49 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
2 楼』:
Re yaya:
相当不错的原创作品!
希望它将来可以解决我做启动盘时所遇到的一些问题。不知楼主是否有计划支持多级菜单和复选菜单?
即用户可以在一个菜单中选择子菜单,并在子菜单中一次性选择多个需要加载的驱动程序。
另外,菜单界面的颜色,建议先做整屏处理;如果有必要,可以再做单菜单处理。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-15 20:01 |
|
|
coolboy163
初级用户
积分 176
发帖 74
注册 2005-11-7
状态 离线
|
『第
3 楼』:
GOOD,楼主很有心啊
希望能越来越好
|
|
2006-1-16 17:25 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
4 楼』:
啊呀呀!真不错。也算替我了了CONFIG MENU编程的愿。前几天我的机器出了点问题,上不了网!今天弄好了,一上网就是一个惊喜!!!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2006-1-17 14:46 |
|
|
brglng
银牌会员
永遠的DOS~~~
积分 1200
发帖 466
注册 2005-2-1 来自 上海
状态 离线
|
『第
5 楼』:
我觉得界面最好能像config.sys中使用[menu]配置一样
另外最好能做成复选的
支持楼主继续努力!!!
|
32位才是DOS未来的希望
个人网志:http://sololand.moe |
|
2006-1-17 15:31 |
|
|
yaya
银牌会员
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第
6 楼』:
计划增加多级菜单和复选菜单功能。已有思路,只是这几天比较忙。
|
|
2006-1-18 18:29 |
|
|
yaya
银牌会员
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第
7 楼』:
含有多级菜单和复选菜单功能ConMenu.sys已编制完毕,正在进一步验证,不日可发布。
|
|
2006-1-23 18:11 |
|
|
passion
中级用户
积分 281
发帖 51
注册 2003-1-5
状态 离线
|
『第
8 楼』:
发布新版后,请附上参数说明。
感谢!
|
|
2006-1-23 20:14 |
|
|
weilong888
银牌会员
积分 1270
发帖 548
注册 2004-5-31
状态 离线
|
『第
9 楼』:
谢谢啦。
===============DOS★★★永远伴随我们的DOS================
==================================================
==================================================
|
|
2006-1-24 09:11 |
|
|
yaya
银牌会员
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第
10 楼』:
ConMenu.sys V2.00 已编制完毕,重新发布于1楼。
例子2:
device=config.exe
device=ConMenu.sys
rem color=1e
rem default=e,30
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;复选菜单按←选择,按→清除
rem endnote=在单选菜单按回车确定
rem cm0=[A. 最小模式
rem cm0=]
rem cm0=[B. 保护模式 加载 EMM386
device=himem.sys
device=emm386.sys noems
rem cm0=]
rem cm0=[C. 实模式 加载 UMBPCI
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys
rem cm0=]
rem cm0=[?D. 加载 CD-ROM
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm0=]
rem cm0=[?E. 加载 USB
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm0=]
dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256
rem cm0=[end]
附件
1: ConMenu2.jpg (2006-1-25 12:34, 36.28 K, 下载附件所需积分 1 点
,下载次数: 17)
|
|
2006-1-25 12:34 |
|
|
yaya
银牌会员
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第
11 楼』:
例子3:
device=config.exe
device=ConMenu.sys
rem color=1e
rem default=a,30
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;复选菜单按←选择,按→清除
rem endnote=在单选菜单按回车确定
rem cm0=[A. 实模式 加载 UMBPCI
device=umbpci.sys
device=lowdma.sys
devicehigh=himem.sys
rem caption= 中文 MSDOS 7.1 启动盘
rem caption=================================================
rem endnote=按↑↓或相应字母选择菜单项;复选菜单按←选择,按→清除
rem endnote=在单选菜单按回车确定
rem cm1=[?A. 加载 CD-ROM
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
rem cm1=]
rem cm1=[?B. 加载 USB
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
device=usbcd.sys /d:usb-cd
rem cm1=]
rem cm1=[C. OK
rem cm1=]
rem cm1=[end]
rem cm0=]
rem cm0=[B. 最小模式
rem cm0=]
dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256
rem cm0=[end]
附件
1: ConMenu31.jpg (2006-1-25 12:36, 21.92 K, 下载附件所需积分 1 点
,下载次数: 18)
附件
2: ConMenu32.jpg (2006-1-25 12:36, 24.25 K, 下载附件所需积分 1 点
,下载次数: 13)
|
|
2006-1-25 12:36 |
|
|
yaya
银牌会员
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第
12 楼』:
修改了1项错误:时间到返回错误。
v2.01重新发布于1楼。
欢迎大家测试。
|
|
2006-1-26 11:02 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
13 楼』:
Re yaya:
对 ConMenu 的复选菜单和子菜单功能做了常规测试,未发现明显的问题,在此首先对其中的界面细节提出一些疑问和建议。
1、背景色和前景色: 这我在二楼已经提到,现在详细说明。菜单的 endnote 之下是原始的前景色和背景色,看上去不太美观,建议设置背景色和前景色后,进行类似cls的刷新动作。正在选择的菜单建议前景和背景反色处理,以免在近似颜色的界面中无法分辨;选中的复选菜单,也可以考虑同样的反色处理。
2、caption和endnote:不知兄处于什么考虑,将其各定为四行,这样在菜单项较少时,菜单界面整体偏上,视觉效果不是很少,可以考虑不限行数,且将 endnote 显示于屏幕底部。
3、rem cm0=[?A:很奇怪兄会用左右光标键切换复选,而非比较常用的空格或回车。
4、default:倒计时的秒数位置很奇怪,是否可以考虑移动到菜单项下方?当然,这可能要求 rem default 设置项也随之移动。
另外几个问题是功能上的:
1、include:不知被包含块中是否支持或准备支持子菜单,以实现同级的连续菜单?如果是肯定的,那么要考虑的问题就比较复杂了,比如 %cm1% 的返回值问题。另外,include是否支持或准备支持递归嵌套?
2、菜单的跳转:菜单的跳转实现可以实现菜单返回、任意多级菜单等性能,但其实现算法估计与 ConMenu.sys 目前使用的相去甚远。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-26 21:41 |
|
|
ddctczy
中级用户
积分 245
发帖 43
注册 2003-8-5
状态 离线
|
『第
14 楼』:
高手就是高手!!
佩服!! 佩服!!
|
|
2006-1-26 23:10 |
|
|
weilong888
银牌会员
积分 1270
发帖 548
注册 2004-5-31
状态 离线
|
『第
15 楼』:
真是高人哪。
===============DOS★★★永远伴随我们的DOS================
==================================================
==================================================
|
|
2006-1-27 10:00 |
|