|
yaya
银牌会员
    
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『楼 主』:
在config.sys中使用的逐级执行式菜单编辑器 ConMenu.sys V2.12
使用 LLM 解释/回答一下
在config.sys中使用的菜单编辑器有BootCon.sys和Boot.sys。他们的功能强大,但体积也大。
本人编制的菜单编辑器 ConMenu.sys 只有1.78K。
功能:
12行标题和4行尾注;
rem caption=
rem endnote=
16项可显示菜单(A,B,C...P);
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=
rem include0=...
...
rem cm0=]b
复选菜单可多项选择(用回车键选择/清除);
rem cm0=
A
子菜单可多级嵌套;
第一级为0,第二级为1...
cm0,cm1...
include0,include1...
由%cm0%,%cm1%...返回参数A,B...P;
程序结束符 rem cm0=;
按↑↓或相应字母选择菜单项;'?'为复选菜单,按回车选择/清除;在单选菜单按回车确定
如果子菜单中不含标题、尾注、背景前景色、被选菜单项显示方式、时间,则继承父菜单内容
例子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
rem cm0=
B
rem cm0=
C
rem cm0=
D
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=Sample Text
Last edited by yaya on 2006-2-28 at 17:14 ]
In config.sys, the menu editors used are BootCon.sys and Boot.sys. They are powerful but also large in size.
The menu editor ConMenu.sys compiled by me is only 1.78K.
Functions:
12 - line title and 4 - line endnote;
rem caption=
rem endnote=
16 items can display the menu (A, B, C... P);
rem cm0=
A
The labels must be arranged in the order of A, B, C...
9 items of implicit menu (1, 2, 3... 9);
rem cm0=(1
...
rem cm0=)1
The labels must be arranged in the order of 1, 2, 3...
The letters and numbers after =] and =) are not necessary, just for self - identification
The displayable menu and the implicit menu can be mixed in order;
that is, A, B, 1, C, 2...
Color attributes (background and foreground color, display mode of the selected menu item), if not input, the default is 07, F;
background and foreground color (00... FF) (the background flash bit is changed to highlight)
display mode of the selected menu item (f inverse color, g highlight)
Example: =07,g =07 =,g
rem color=
Default attributes (default menu item, display time), if not input, the default is A, 60;
rem default=
Example: =b,30 =b =,30
The displayable menu item can contain other menu items at the same level (displayable/implicit);
rem include0=
When include is used in the menu item containing the sub - menu, it should be placed after the end of the sub - menu and before the end of this menu item
rem cm0=
rem include0=...
...
rem cm0=]b
Check menu can select multiple items (use Enter key to select/clear);
rem cm0=
A
Sub - menu can be nested at multiple levels;
The first level is 0, the second level is 1...
cm0, cm1...
include0, include1...
Return parameters A, B... P by %cm0%, %cm1%...;
Program end mark rem cm0=;
Select the menu item by ↑↓ or corresponding letter; '?' is the check menu, press Enter to select/clear; in the single - choice menu press Enter to confirm
If the sub - menu does not contain title, endnote, background and foreground color, display mode of the selected menu item, time, it will inherit the content of the parent menu
Example 1: (In actual use, the Chinese font below needs to be replaced by 'Benshi' VTMagic.com)
device=config.exe (generated by 'Benshi' VTMagic.com)
device=ConMenu.sys
rem color=1e
rem default=a,30
rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letter to select the menu item; '?' is the check menu, press Enter to select/clear
rem endnote=Press Enter to confirm in the single - choice menu
rem cm0=
A
rem cm0=
B
rem cm0=
C
rem cm0=
D
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=Sample Text
Last edited by yaya on 2006 - 2 - 28 at 17:14 ]
附件
1: ConMenu1.jpg (2006-1-25 12:27, 40.95 KiB, 下载附件所需积分 1 点
,下载次数: 84)
附件
2: ConMenu212.rar (2006-2-28 17:09, 3.18 KiB, 下载附件所需积分 1 点
,下载次数: 2266)
|
|
2006-1-15 17:49 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
Re yaya:
相当不错的原创作品!
希望它将来可以解决我做启动盘时所遇到的一些问题。不知楼主是否有计划支持多级菜单和复选菜单?
即用户可以在一个菜单中选择子菜单,并在子菜单中一次性选择多个需要加载的驱动程序。
另外,菜单界面的颜色,建议先做整屏处理;如果有必要,可以再做单菜单处理。
Re yaya:
Quite a good original work!
I hope it can solve some problems I encounter when making boot disks in the future. Does the original poster have any plans to support multi-level menus and checkboxes menus?
That is, users can select sub-menus in one menu and select multiple driver programs to load at one time in the sub-menu.
In addition, it is suggested to first handle the full screen for the color of the menu interface; if necessary, then handle the single menu.
|

※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-15 20:01 |
|
|
coolboy163
初级用户
 
积分 176
发帖 74
注册 2005-11-7
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
GOOD,楼主很有心啊
希望能越来越好
GOOD, the landlord has a good heart.
Hope it can get better and better.
|
|
2006-1-16 17:25 |
|
|
本是
银牌会员
    
积分 2221
发帖 789
注册 2005-1-27
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
啊呀呀!真不错。也算替我了了CONFIG MENU编程的愿。前几天我的机器出了点问题,上不了网!今天弄好了,一上网就是一个惊喜!!!
Oh my goodness! That's really great. It also fulfilled my wish for CONFIG MENU programming. A few days ago, there was a problem with my machine and I couldn't get online! I fixed it today, and as soon as I got online, it was a surprise!!!
|

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 楼』:
使用 LLM 解释/回答一下
我觉得界面最好能像config.sys中使用[menu]配置一样
另外最好能做成复选的
支持楼主继续努力!!!
I think the interface should preferably be like the configuration in config.sys. Also, it's best to make it checkable.
Support the LZ to keep working hard!!!
|

32位才是DOS未来的希望
个人网志:http://sololand.moe |
|
2006-1-17 15:31 |
|
|
yaya
银牌会员
    
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
计划增加多级菜单和复选菜单功能。已有思路,只是这几天比较忙。
Plan to add multi-level menu and check menu functions. There are already ideas, just been busy these days.
|
|
2006-1-18 18:29 |
|
|
yaya
银牌会员
    
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
含有多级菜单和复选菜单功能ConMenu.sys已编制完毕,正在进一步验证,不日可发布。
The ConMenu.sys with multi-level menu and check menu functions has been completed and is being further verified, and it will be released soon.
|
|
2006-1-23 18:11 |
|
|
passion
中级用户
  
积分 281
发帖 51
注册 2003-1-5
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
发布新版后,请附上参数说明。
感谢!
After releasing the new version, please attach the parameter instructions.
Thanks!
|
|
2006-1-23 20:14 |
|
|
weilong888
银牌会员
    
积分 1270
发帖 548
注册 2004-5-31
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
谢谢啦。
===============DOS★★★永远伴随我们的DOS================
==================================================

==================================================
Thanks.
===============DOS★★★Always Accompanying Our DOS================
==================================================

==================================================
|
|
2006-1-24 09:11 |
|
|
yaya
银牌会员
    
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
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]
ConMenu.sys V2.00 has been compiled and re-released on the first floor.
Example 2:
device=config.exe
device=ConMenu.sys
rem color=1e
rem default=e,30
rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letters to select menu items; for checkboxes, press ← to select and → to clear
rem endnote=Press Enter to confirm in radio menus
rem cm0=
rem cm0=
rem cm0=
rem cm0=
rem cm0=
dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256
rem cm0=
附件
1: ConMenu2.jpg (2006-1-25 12:34, 36.28 KiB, 下载附件所需积分 1 点
,下载次数: 17)
|
|
2006-1-25 12:34 |
|
|
yaya
银牌会员
    
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
例子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]
Example 3:
device=config.exe
device=ConMenu.sys
rem color=1e
rem default=a,30
rem caption= Chinese MSDOS 7.1 Boot Disk
rem caption=================================================
rem endnote=Press ↑↓ or corresponding letters to select menu items; For check menus, press ← to select and → to clear
rem endnote=Press Enter to confirm in single-choice menus
rem cm0=
rem cm1=
rem cm1=
rem cm1=
rem cm0=]
rem cm0=
dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256
rem cm0=
附件
1: ConMenu31.jpg (2006-1-25 12:36, 21.92 KiB, 下载附件所需积分 1 点
,下载次数: 18)
附件
2: ConMenu32.jpg (2006-1-25 12:36, 24.25 KiB, 下载附件所需积分 1 点
,下载次数: 13)
|
|
2006-1-25 12:36 |
|
|
yaya
银牌会员
    
积分 1009
发帖 353
注册 2003-9-4
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
修改了1项错误:时间到返回错误。
v2.01重新发布于1楼。
欢迎大家测试。
Modified 1 error: returns an error when time is up.
v2.01 re-released on floor 1.
Everyone is welcome to test.
|
|
2006-1-26 11:02 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第 13 楼』:
使用 LLM 解释/回答一下
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 目前使用的相去甚远。
Re yaya:
Routine tests were conducted on the check menu and sub - menu functions of ConMenu, and no obvious problems were found. Here, some questions and suggestions regarding the interface details are put forward first.
1. Background color and foreground color: As I mentioned on the second floor, now I will explain in detail. Below the endnote of the menu is the original foreground color and background color, which doesn't look very beautiful. It is suggested that after setting the background color and foreground color, a refresh action similar to cls be carried out. For the menu being selected, it is suggested that the foreground and background be inverted, so as not to be indistinguishable in an interface with similar colors; for the selected check menu, the same inversion processing can also be considered.
2. Caption and endnote: I don't know what consideration you have, but each is set to four lines. In this way, when there are few menu items, the overall interface of the menu is too high, and the visual effect is not very good. It can be considered to have no limit on the number of lines, and display the endnote at the bottom of the screen.
3. rem cm0 =
|

※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-26 21:41 |
|
|
ddctczy
中级用户
  
积分 245
发帖 43
注册 2003-8-5
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
高手就是高手!!
佩服!! 佩服!!
The master is indeed a master!!
Admiration!! Admiration!!
|
|
2006-1-26 23:10 |
|
|
weilong888
银牌会员
    
积分 1270
发帖 548
注册 2004-5-31
状态 离线
|
『第 15 楼』:
使用 LLM 解释/回答一下
真是高人哪。
===============DOS★★★永远伴随我们的DOS================
==================================================

==================================================
What a great expert.
===============DOS★★★Always Accompany Our DOS================
==================================================

==================================================
|
|
2006-1-27 10:00 |
|
|