Board logo

标题: 用于Config.sys的并列配置菜单 ConfigP.Mnu v4.02 [打印本页]

作者: yaya     时间: 2009-4-7 04:05    标题: 用于Config.sys的并列配置菜单 ConfigP.Mnu v4.02

一、特点
    1. 常见的配置菜单是逐级往下执行,不可返回,像串联。嵌套级数多时,菜单项目将会呈级数放大趋势,使菜单编写比较繁琐,重复项较多。本配置菜单是并列关系,菜单编写简捷,可阅读性强,为菜单界面布置提供较大灵活性。
    2. 所有可选择项目布置在1个界面上,阅读方便,选择快捷。
    3. 工作在800×600 16位增强色(114模式)。
    4. 可加载jpg格式背景图像。如果不加载背景图像,则用背景颜色替代。
    5. 可加载中文字库(hzk16/gbk16字体,压缩/非压缩字体,自带字体),内嵌中英文字符显示程序,为显示中文菜单提供了一个良好的平台。
    6. 可屏蔽Config.sys处理过程中的显示信息。
   
    二、简要说明
    1. 选项组分为2类:复选类选项组(CheckOption),单选类选项组(RadioOption)。
       复选类选项组用来加载相容的驱动程序,可不选或全选。
       单选类选项组用来加载互斥的驱动程序,应选择1项且只能选择1项。
    2. 项目分为2类:预加载项目(LoadItem),普通项目(Item)。
       预加载项目是启动时缺省加载的项目。
    3. 项目之间可以关联,有2类:被选关联(relate),未选关联(unrelate)。     
       被选关联:主控被选,被控有效。
       未选关联:主控被选,被控无效。
       有效,则可选,才有被选/未选之分。
       无效,则不可选,皆按未选对待。
       利用被选关联,可以组成多级菜单。利用未选关联,可以屏蔽有关项目。
    4. 配置块(block)是按需要组织在一起的一组驱动程序。可在配置块里设定参数,遥控'AutoExec.bat'。可在'block=0'之前和'block=end'之后放置公共配置块。
    5. 如果不加载中文字体,则显示英文。

    三、使用方法
    1. 选项组选择方法
       按Tab或`键
    2. 项目选择方法
       按方向键顺序循环选择
    3. 项目设定方法
       复选类选项组  按空格或回车键,选定/清除
       单选类选项组  按方向键的同时既被选定
    4. 菜单退出方法
       按Esc或退格键
       只有1组单选类选项组时,可按空格或回车键
       选择'退出'按钮,按空格或回车键
    5. 开关参数
       /s   屏蔽config.sys显示信息。
       /u   解除屏蔽。
    6. 英文字母大小写转换
       在同一行中,默认为大写,遇^转换。
       例:c^onfig^p.m^nu  显示为  ConfigP.Mnu

    四、语法说明
    1. 选项组  
       ; 选项组顺序号CheckOption=左上角x,左上角y,右下角x,右下角y=项目布置=标签颜色,标签内容
       ; 选项组顺序号RadioOption=左上角x,左上角y,右下角x,右下角y=项目布置=标签颜色,标签内容
       选项组类型    CheckOption 复选类选项组;RadioOption 单选类选项组
       选项组顺序号  0-99 顺序编号
       选项组范围    左上角为原点,水平象素x(0-799),垂直象素y(0-599)
       项目布置      1行有几列(1,2,3,...)
       标签颜色      红(00-ff)绿(00-ff)兰(00-ff)
       标签内容
       例: =100,100,700,140=3=ffff00,上位内存管理
           =100,170,700,250=4=,加载光驱驱动
    2. 项目颜色
       ; color=未选项背景,未选项前景,被选项背景,被选项前景   
       缺省    黑,白,白,高白       
       背景/前景颜色 红(00-ff)绿(00-ff)兰(00-ff)
       未选项背景也就是屏幕背景(未加载图像或加载部分图像时)
       未选项背景=被选项背景时,加载图像时字符以图像为背景
       未选项背景≠被选项背景时,加载图像时字符以被选项背景取代图像背景
       例: =000000,808080,808080,ffffff
           =000080,808080,000080,ffffff
    3. 字体
       ; rem font=字体名称
       字体类型        hzk16/gbk16  压缩/非压缩  自带字体(可用于任何语言)
       字体名称        可带路径
       自带字体格式        偏移        长度        描述
                                00            2字节      字符数量(x)
                                02            2x字节     字符内码(8100-ffff)
                                2x+02       32x         字符点阵映象,横向取模
       注:附带16j.dot/16g.dot为压缩hzk16/gbk16字体
           可使用本是的Mkfon.com生成自带字体
       例:=16g.dot
    4. 动态项目提示
       ; rem prompt=列=提示颜色
       缺省        8列,被选项前景
       提示位置        列(1-83)    行在时间位置
       提示颜色        红(00-ff)绿(00-ff)兰(00-ff)
       例: =3=ff0000       
           ==ff0000
           =
    5. 等待时间
       ; time=行=时间,标签
       缺省    33行60秒
       时间位置    行(1-33)
       时间长度    秒(0-60)
       时间标签    "剩余时间"
       例: =32=30,剩余时间
           =32=30
           =32
           =
    6. 背景图像
       ; image=水平象素偏移,垂直象素偏移=名称
       缺省    偏移0,0
       图像位置    左上角为原点(0,0),水平象素(0-799),垂直象素(0-599)
       图像名称    jpg格式,最大象素800*600
       例: =0,0=lt.jpg
           ==lt.jpg
           =500,100=xy.jpg
    7. 关联
       ; relate=主控项目顺序号,主控项目顺序号,...=被控项目顺序号,被控项目顺序号,...
       关联类型       relate 被选关联, unrelate 未选关联
       例: =1=3,4         =1,2=3,4         
    8. 注释
       ; note=行,列=注释颜色,注释内容
       注释位置    行(1-33),列(1-100)
       注释颜色    红(00-ff)绿(00-ff)兰(00-ff)
       注释内容
       例: =2,20=800000,中文 MSDOS_7.1 启动盘
           =2,20=,中文 MSDOS_7.1 启动盘       
    9. 项目
       ; 项目顺序号LoadItem=配置块顺序号,配置块顺序号,...=项目标题=项目动态提示
       ; 项目顺序号Item=配置块顺序号,配置块顺序号,...=项目内容
       项目顺序号      0-99 顺序编号
       配置块顺序号    该项目所包含的配置块
       项目标题
       项目动态提示
       例: LoadItem=0,9=加载 umbpci=使用上位内存
    10. 配置块
       ; block=配置块顺序号
        ....
       ; block=end
       配置块顺序号    0-99 顺序编号
       end             配置块结束符
       例: ; block=0
           decice=umbpci.sys
           set cm=cdrom
           ; block=1
           decice=emm386.exe
           ...
           ; block=end

    五、其他说明
    1. rem可用'; '代替。
    2.选项组标签颜色(或注释内容颜色),全部缺省时按未选项目前景处理,否则按前一选项组标签颜色(或注释内容颜色)处理。
    3. 颜色可参考'web_216颜色表',但不局限于此表。
       
例1:特点 多选项组,加载全屏图像
     选择第2项目“最小加载”时,屏蔽第3-20项目
device=ConfigP.Mnu /s

; color=000099,bbbbbb,000099,ffffff
; prompt=12=ff33ff
; time=32=10,剩余时间
; image=0,0=lt.jpg
; font=16g.dot
; note=2,40=00ffff,中文 MSDOS_7.1 启动盘
; note=3,30=,─────────────────────
; note=33,29=00ff00,按T^ab选择项目组,按方向键选择项目,按回车键更改

; unrelate=2=3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

; 0RadioOption=100,100,700,140=3=ffcc00,上位内存管理
; 0LoadItem=0,20=umbpci=使用上位内存
; 1item=1,20=emm386=使用上位内存,扩充内存
; 2item=21=最小系统

; 1CheckOption=100,170,700,250=4=,加载光驱驱动
; 3LoadItem=2=udvd
; 4Item=3=qcdrom
; 5Item=4=gcdrom
; 6Item=5=uide
; 7item=6=vide-cdd
; 8item=7=aspicd
; 9item=8=usbcd

; 2CheckOption=100,280,700,320=4=,加载 usb 驱动
; 10item=9=usbaspi
; 11item=10=di1000dd
; 12item=11=aspiohci
; 13item=12=aspiuhci

; 3CheckOption=100,350,700,450=4=,项目支持
; 14Loaditem=13=长文件名
; 15Loaditem=14=中文=加载acios,支持gbk
; 16Loaditem=15=鼠标
; 17item=16=高速缓存=在DOS下按装Windows,必须先运行此磁盘高速缓存程序,以加快安装。
; 18item=17=vpc9x文件共享=在vpc5.2中共享文件夹
; 19item=18=vpc2k7文件共享=在vpv2007中共享文件夹
; 20item=19=ntfs分区=ntfs分区读写支持

device=himem.sys
; block=0
device=umbpci.sys
; block=1
device=emm386.exe NOEMS
; block=2
device=udvd.sys /d:udv-cd
; block=3
device=qcdrom.sys /d:qcd-cd
; block=4
device=gcdrom.sys /d:gcd-cd
; block=5
DEVICE=uide.sys /s40 /d:uid-cd
; block=6
device=vide-cdd.sys /d:vid-cd
; block=7
device=aspicd.sys /d:asp-cd
; block=8
device=usbcd.sys /d:usb-cd
; block=9
device=usbaspi.sys /r /NORST
; block=10
device=di1000dd.sys
; block=11
device=aspiohci.sys /int /all
; block=12
device=aspiuhci.sys /int /all
; block=13
set cwjm=1
; block=14
set zw=1
; block=15
set sb=1
; block=16
set gshc=1
; block=17
set vpc=1
; block=18
set vpc=2
; block=19
set ntfs=1
; block=20
dos=high,umb,auto
; block=21
set zx=1

; block=end

fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrive=z
device=ConfigP.Mnu /u


对应的autoexec.bat
@echo off
set DIRCMD=/O:N /O:G /P /4
path=a:\;c:\;z:\

if not %zx%#==1# goto cwjm
set zx=
goto end

:cwjm
if not %cwjm%#==1# goto sb
LFNFOR ON
DOSLFN /C- /Z:CP936UNI.TBL  > nul
set cwjm=

:sb
if not %sb%#==1# goto gshc
ctmouse > nul
mousclip > nul
set sb=

:gshc
if not %gshc%#==1# goto vpc1
smartdrv /X 4096 2048 > nul
set gshc=

:vpc1
if not %vpc%#==1# goto vpc2
fshare98 > nul
:: idle > nul
set vpc=
goto ntfs

:vpc2
if not %vpc%#==2# goto ntfs
fshare07 > nul
set vpc=

:ntfs
if not %ntfs%#==1# goto zw
call nt.bat > nul
set ntfs=

:zw
if not %zw%#==1# goto gg
call ac.bat > nul
set zw=

:gg
doskey > nul
SHCDX33c /d:?udv-cd /d:?qcd-cd /d:?gcd-cd /d:?uid-cd /d:?vid-cd /d:?asp-cd /d:?usb-cd > nul
ansi > nul
call m.bat

:end


例2:特点 只有1组单选类选项组,加载局部图像
device=ConfigP.Mnu /s

; color=0000bb,bbbbbb,0000bb,ffffff
; time=31=10,剩余时间
; prompt=8=ff33ff
; font=16g.dot
; image=500,100=xy.jpg
; note=2,40=00ffff,中文 MSDOS_7.1 启动盘
; note=3,30=,─────────────────────
; note=33,38=00ff00,按方向键选择项目,按回车键执行

; RadioOption=100,100,450,500=1=cccc00,选择启动模式
; item=0=保护模式  加载 EMM386=使用上位内存
; item=0,2,4=保护模式  加载 EMM386 和 CD-ROM
; item=0,2,3,4=保护模式  加载 EMM386 , CD-ROM 和 USB
; item=1=实模式    加载 UMBPCI
; LoadItem=1,2,4=实模式    加载 UMBPCI 和 CD-ROM
; item=1,2,3,4=实模式    加载 UMBPCI , CD-ROM 和 USB

device=himem.sys
; block=0
device=emm386.exe noems
; block=1
device=umbpci.sys
; block=2
devicehigh=vide-cdd.sys /d:ide-cd
devicehigh=aspicd.sys /d:scsi-cd
; block=3
device=usbcd.sys /d:usb-cd
device=usbaspi.sys /r
device=aspiohci.sys /int /all
device=aspiuhci.sys /int /all
device=di1000dd.sys
; block=4
set cdrom=1
; block=end

dos=high,umb,auto
fcbshigh=4,0
fileshigh=30
buffershigh=30,0
lastdrivehigh=32
stackshigh=9,256

device=ConfigP.Mnu /u

例3:特点 多级选择
     选择第0项目“DOS工具箱”时,第3、4项目才有效(可选择)
......
; relate=0=3,4

; RadioOption=100,100,700,140        6,8,10,72=3=ffcc00,选择类型
; 0Item==DOS工具箱
; 1Loaditem=0=纯DOS
; 2item=3=江民杀毒

; RadioOption=100,225,700,265=2=ffcc00,DOS工具箱
; 3LoadItem=1=ghost8.3
; 4item=2=中文版DM
........
; block=0
set config=dos
; block=1
set config=ghost
; block=2
set config=dm
; block=3
set config=jm
........


v4.00 2009/4/6
修改:由显示模式111(640×480 16位增强色)改为显示模式114(800×600 16位增强色),容纳更多信息
增加:字体格式,可加载hzk16、gbk16字体,可加载压缩、非压缩字体,可加载自带字体
增加:项目动态提示,便于详细描述项目用途
修改:可以在虚拟机VM中正常使用
修改:选项组位置由行列确定改为由象素确定
修改:内部使用保护模式,不需要预先加载himem.sys
修改:按钮文字由“继续”改为“确定”
修改:关联算法

v4.01 2009/4/26
修改:上下方向键可在本列移动,左右方向键可跨行移动
修正:项目标题字符数量被限制
改进:与虚拟机的兼容性

v4.02 2009/5/11
修改:关联表达式可设置多项主控

[ Last edited by yaya on 2009-5-11 at 23:13 ]
附件 1: MS-DOS-2009-04-07-15-06-31.png (2009-4-7 04:12, 245.38 K,下载次数: 22)


附件 2: MS-DOS-2009-04-07-15-06-59.png (2009-4-7 04:13, 247.09 K,下载次数: 15)


附件 3: ConfigP4.02.part1.rar (2009-5-11 23:12, 292.97 K,下载次数: 329)
附件 4: ConfigP4.02.part2.rar (2009-5-11 23:12, 292.97 K,下载次数: 299)
附件 5: ConfigP4.02.part3.rar (2009-5-11 23:12, 93.57 K,下载次数: 196)

作者: 本是     时间: 2009-4-7 10:03
好!功能更强了,且保持自己的特色。
你的GBK读取的算法是什么?
我的vtGBK.com和vtMagi?.com用的计算公式如下:
;假设汉字高位在AH/ch1,低位在AL/ch2中,
;rec=A+(AH-B)*C+(AL-D)-(AL\80h)
;if AH>A0h then
;  if AL>A0h then    '1-94:A1~FE || A1~FE
;    rec=(AH-A1h)*94+(AL-A1h)
;  else               '159-254:A1~FE || 40~A0
;    rec=94*94+32*94+32*96+(AH-A1h)*96+(AL-40h)-(AL\128)
;  endif;8836  3008  3072
;else         ;11844 14916
;  if AL>A0h then    '95-126:81~A0 || A1~FE
;    rec=94*94+(AH-81h)*94+(AL-A1h)
;  else               '127-159:81~A0 || 40~A0
;    rec=94*94+32*94+(AH-81h)*96+(AL-40h)-(AL\128)
;  endif
;endif
作者: yaya     时间: 2009-4-7 21:31
((ch1-81)*be+(ch2-40)-ch2/80)*2*10
数字是16进制的
作者: xiaolongkun0     时间: 2009-4-8 13:17
终于看到新版发布。
强顶,超喜欢你的并列式菜单。
不知道这次更新有什么新特性和更改。

[ Last edited by xiaolongkun0 on 2009-4-8 at 13:33 ]
作者: xiaolongkun0     时间: 2009-4-8 20:12
太好了,同类软件中,yaya的东西堪称完美另外那个“确定”按钮不知道是否可以隐藏,在风格更改的情况下,该按钮因为不可以更改风格,可能会造成视觉整体上的不和谐。

[ Last edited by xiaolongkun0 on 2009-4-8 at 20:15 ]
附件 1: 2009-04-09_070429.gif (2009-4-8 20:12, 83.75 K)



作者: xiaolongkun0     时间: 2009-4-8 20:33
一个relate使用的问题
; relate=7=17
; unrelate=0=6,8,9,10
; unrelate=1=4,5,7
; unrelate=2=4,5,7
; unrelate=3=4,5,6,8,9
; unrelate=19=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
; unrelate=20=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18

; radiooption=56,107,726,152=4=ffffff,M^emory management(^HMA,H^igh memory area)
; 0loaditem=0=umbpci
; 1item=1=qhimem
; 2item=2=himem
; 3item=3=none

; radiooption=56,175,726,242=4=ffffff,M^emory management(^UMB,U^pper memory block)
; 4item=4=h-himem
; 5loaditem=5=h-qhimem
; 6item=6=umbpci
; 7item=7=xmgr
; 8item=8=emm386 noems
; 9item=9=emm386 ram
; 10item=10=none

; checkoption=56,264,236,309=1=ffffff,U^ltra ^DMA
; 11item=11=h-qdma

; radiooption=246,264,726,309=3=ffffff,d^isk ^c^ache
; 12loaditem=12=h-qcache
; 13item=13=smartdrv
; 14item=14=none

; radiooption=56,331,726,376=4=ffffff,cdrom
; 15loaditem=15=h-qcdrom
; 16item=16=h-vide-cdd
; 17item=17=h-uide
; 18item=18=none

; radiooption=56,399,726,443=3=ffffff,o^ther
; 19item=19=restart
; 20item=20=shutdown
; 21loaditem=21=none

当第7被以“自动选择方式”激活时,第17并未成功激活, 也就是说relate=7=17并没有作用了,如果要成功激活17必须以“手动选择方式”来激活7才可以达到目的。
按照上图分析,在第一排UMA部分,在NONE的时候,第二排的XMGR自动激活,此时按理说,H-UIDE是应该可以选择的,但此时是暗的,relate=7=17并未作用。然后切换到XMGR,重新按方向键切换一下,H-UIDE才可以被激活,此时relate=7=17才作用。

[ Last edited by xiaolongkun0 on 2009-4-8 at 20:39 ]
作者: yaya     时间: 2009-4-8 22:31
看来关联上还有些问题.感谢xiaolongkun0的测试.
作者: lanzho2000     时间: 2009-4-9 01:32
顶起来哟,好东东!!!!
作者: chen463     时间: 2009-4-10 07:22
中文显示效果不错,背景图还是跟前3版显示较慢。
这新4版有支持中繁文或其他语言吗?

[ Last edited by chen463 on 2009-4-10 at 07:24 ]
附件 1: 410.GIF (2009-4-10 07:28, 27.1 K,下载次数: 1)



作者: yaya     时间: 2009-4-12 22:09
gbk就支持繁文。其他语言可使用自带字体。
作者: yaya     时间: 2009-4-13 00:57
修改了关联算发,重新发布于1楼.
作者: xiaolongkun0     时间: 2009-4-13 20:08
果然很神速
我先测试了。

[ Last edited by xiaolongkun0 on 2009-4-13 at 20:15 ]
作者: VeDe     时间: 2009-4-18 03:07
尝试了一下4.0最新修正版,一个BUG两个建议:
BUG:
由于新版本采用了800×600的分辨率,然而菜单的 项目标题 在超出640 后的似乎不能显示出来。。。
建议:
relate 被选关联, unrelate 未选关联 方面希望能一次指定多个主控项目顺序号,如:unrelate=1,2,3=4,5,6,测试一次只能指定一个主控项目顺序号,上面的例子仅指定1,而2、3无效。。。

方向键选择方面希望能使得上下左右随选,目前似乎只能上&左、下&右,对上或下项菜单进行移动,且移动方式为横行,无法竖行移动。。。即如:当项目布置为2,而项目标题为4,无法直接从1下移至3,必须通过2才能到达3。。。
作者: amazingosp     时间: 2009-4-18 06:34
漂亮的界面将会带动DOS工具箱进入一个高潮时期
作者: xiaolongkun0     时间: 2009-4-18 12:06


  Quote:
Originally posted by VeDe at 2009-4-18 03:07:
尝试了一下4.0最新修正版,一个BUG两个建议:
BUG:
由于新版本采用了800×600的分辨率,然而菜单的 项目标题 在超出640 后的似乎不能显示出来。。。 ...

贴代码出来看看,其实该版与前版坐标有所不同。
作者: 淡淡一笑     时间: 2009-4-18 14:14
越做越舒服了,顶一下
作者: VeDe     时间: 2009-4-19 12:57


  Quote:
Originally posted by xiaolongkun0 at 2009-4-18 12:06:

贴代码出来看看,其实该版与前版坐标有所不同。

呵呵。。。还好我没删了,仅仅是做了个界面看了下。。。

  Quote:
; RadioOption=50,120,200,520=1=ffcc00,选择内存模块
; LoadItem=0=xmgr+umbpci=使用上位内存
; item=0=xmgr+emm386=使用上位内存
; item=0=himem+umbpci=使用上位内存
; item=0=himem+emm386=使用上位内存
; item=0=仅加载 himem=常规内存管理
; item=0=超纯净命令行=什么都不加载
; item=0=重启此计算机=重启此计算机
; item=0=关闭此计算机=关闭此计算机

; RadioOption=210,120,750,220=2=ffcc00,选择功能模块
; LoadItem=0=工具箱主菜单=工具箱主菜单
; item=0=网络克隆菜单=网络克隆菜单
; item=0=备份还原菜单=备份还原菜单
; item=0=访问网络资源=访问网络资源

; RadioOption=210,270,750,370=3=,选择网刻模块
; LoadItem=0=全自动网络克隆
; Item=0=NV 网卡驱动 ^v1
; item=0=NV 网卡驱动 ^v4
; Item=0=PACKET网卡驱动
; item=0=NV 网卡驱动 ^v2
; item=0=NV 网卡驱动 ^v5
; Item=0=NDIS  网卡驱动
; item=0=NV 网卡驱动 ^v3
; item=0=NV 网卡驱动 ^v6

; CheckOption=210,420,750,520=3=,选择驱动模块
; LoadItem=0=加载光驱支持
; Item=0=加载USB 支持
; Item=0=加载 PCMCIA
; Item=0=加载1394/SCSI
; item=0=加载NTFS支持
; item=0=加载磁盘缓存
; item=0=加载长文件名
; item=0=加速屏幕显示

项目标题 显示不全。。。
作者: xiaolongkun0     时间: 2009-4-19 20:35
直接用你的代码,下面是显示结果,并没有发现什么不全的问题。
附件 1: 2009-04-20_072639.gif (2009-4-19 20:35, 103.07 K)



作者: xiaolongkun0     时间: 2009-4-19 20:38
我分析下,可能出现的问题。

不知道你用的是什么虚拟机,尽量不要用qemu这些,这些问题是很多的,一般显示都有问题。我用VM 和VBOX都没有问题。

然后是你用的ConfigP.Mnu 版本问题,有可能不是最新版本。
作者: VeDe     时间: 2009-4-20 04:33    标题: Re: 18楼。。。

。。。郁闷!!!你自己都把图抓在这了还说没问题。。。注意最右边的 项目标题 显示全吗?

。。。更郁闷!!!好些天不见楼主答复。。。看不出BUG也可以答复下建议方面滴嘛。。。
作者: chen463     时间: 2009-4-20 07:41
大家来找碴,呵呵…看不出BUG,看好久才悟出,是不是字数超过限制的缘故呀!
作者: xiaolongkun0     时间: 2009-4-20 09:34


  Quote:
Originally posted by VeDe at 2009-4-20 04:33:
。。。郁闷!!!你自己都把图抓在这了还说没问题。。。注意最右边的 项目标题 显示全吗?

。。。更郁闷!!!好些天不见楼主答复。。。看不出BUG也可以答复下建议方面滴嘛。。。

不好意思
你指的是项目而不是标题,所以我检查标题而没有仔细查看项目,感觉标题没有问题就抓上来了。关于项目,我回头看看怎么回事。
作者: xiaolongkun0     时间: 2009-4-20 10:04
没办法,确实是被切掉了,应该是BUG,只能叫yaya修正一下了。
作者: VeDe     时间: 2009-4-20 10:59
嘿嘿。。。看出来了吧。。。项目标题 这个叫法可是根据ConfigP.txt 说明来的哦,不是我随便叫着玩滴。。。

这可不是找碴哦。。。目的只有一个,完善此菜单程序。。。发现BUG并反馈给作者是我们使用者的义务。。。但我还在期待作者赞一个先呢。。。
作者: yaya     时间: 2009-4-21 04:49
为了避免项目动态提示字符过长破坏按钮图形,设置了长度限制,结果同时把项目标题的长度也限制了。
感谢VeDe测试。
方向键功能改进可以考虑。关联太复杂,不易改动,好在不影响功能。

[ Last edited by yaya on 2009-4-21 at 04:57 ]
作者: xiaolongkun0     时间: 2009-4-21 05:22
我认为关联就启动配置来说基本也够用了,感觉没有什么大的使用上的限制,似乎没有必要改的太复杂。毕竟不是在做一个庞大的WINDOWS控件。按键操作有点生硬,改下是不错。
作者: VeDe     时间: 2009-4-21 07:34
非常高兴看到作者yaya 的答复。。。感谢您的创作共享。。。
关联方面太复杂的话就目前状态也无恙,按需多写几条便可。。。

另:似乎与VM虚拟机的兼容性方面也存在一点点问题。。。VM版本5.53,表现为偶尔错误重启,无提示,注:仅仅于界面选择过程时。。。
作者: yaya     时间: 2009-4-23 00:36
在虚拟机中,在界面选择过程时偶尔错误重启。vpc比vm好一些。原因不明。
按键快了则出现问题,一下一下按则正常。
作者: yaya     时间: 2009-4-26 00:08
v4.01 2009/4/26  版本发布于1楼

修改:上下方向键可在本列移动,左右方向键可跨行移动
修正:项目标题字符数量被限制
改进:与虚拟机的兼容性
作者: xiaolongkun0     时间: 2009-4-26 03:36
又改进了啊,顶一个。先试试了。
作者: VeDe     时间: 2009-4-26 11:37


  Quote:
Originally posted by yaya at 2009-4-26 00:08:
v4.01 2009/4/26  版本发布于1楼

修改:上下方向键可在本列移动,左右方向键可跨行移动
修正:项目标题字符数量被限制
改进:与虚拟机的兼容性

看起来相当滴诱惑。。。再次下载试用。。。
作者: 33445566     时间: 2009-4-28 04:16
想不到DOS也能做出这么漂亮界面,收藏了
作者: rkzu     时间: 2009-5-1 06:37
不知如何用啊,遗憾中
作者: yaya     时间: 2009-5-4 03:42    标题: 自带字体DIY

如果系统不加载汉字字库,只是显示中文菜单,可使用自带字体,体积小巧。
方法1.  使用本是的MKFON.COM。优点是方便。可生成各种字体风格的菜单。但是同一菜单只能使用一种字体。目前只能使用简体字符。
方法2.  自己动手生成自带字体字库。缺点是复杂。但是可以在同一菜单使用不同字体,可以自造字符,比如个人签名,特殊符号,外文16点阵字符等。

字符内码不需要和汉字内码相同。比如8100代表宋体‘我’,8101代表楷体‘我’。

自带字体格式              偏移         长度        描述
                                00            2字节      字符数量(x)
                                02            2x字节     字符内码(8100-ffff)
                                2x+02       32x         字符点阵映象,横向取模

[ Last edited by yaya on 2009-5-4 at 03:46 ]
附件 1: mkfon.rar (2009-5-4 03:46, 1.79 K,下载次数: 18)

作者: xiaolongkun0     时间: 2009-5-4 06:09
MKFON.COM这个工具,实在不解.
MKFON myfile.txt
命令行参数只有一个文本文件,那么如何生成不同的风格的字体?
作者: yaya     时间: 2009-5-4 08:01
本是上传过不同风格的hzk16点阵字库,MKFON.COM需要在当前目录或根目录放置字库文件,比如宋体,黑体,楷体等.
作者: cchessbd     时间: 2009-5-9 21:25    标题: yaya 你好!

configp 4.01的菜单现在会制作了,但发现对relate unrelate 理解不透彻,可否详细解释下。

dos下的驱动,有的是互斥,有的是关联(就是加载a必须先加载b),有的是兼容关系。

1. 用relate与unrelate怎么实现这关联关系呢。

2. 互斥可否增加一个多斥?因为比如有五个选项互相排斥,你的unrelate就要五行。
当增加或减少菜单,修改起来实在不方便。

3. 你的主控是否可以改为多项(即跟被控一样,可以多项)?

4. 项目组可否以快捷键切换? 项目组内可否以快捷键选择?这样项目组多时切换方便。毕竟有五个项目组加一个确定,Tab一个键切换很是麻烦,而且组内有多于12个的选项。
不要考虑项目组快捷键与组内快捷键重复的问题。我只需按TAB,然后按快捷键即可切换另一项目组的快捷键。

5. configp现在很好用,我偏向于无jpg背景的菜单。觉得的这个可能兼容性好些。

6. 还有个遗憾就是你的菜单修改不是很方便,增加或减少选项时,如果有控制驱动加载,修改很不方便。

谢谢yaya,制作了这个好东西!
等待您的改进!

[ Last edited by cchessbd on 2009-5-9 at 21:35 ]
作者: yaya     时间: 2009-5-10 22:55
所谓互斥、关联都是在菜单层面对项目而言。对于dos下驱动程序的互斥、关联和兼容因素,由菜单编辑者充分应用菜单提供的有限元素,通盘考虑。至于加载a必须先加载b,则在config.sys和autoexec.bat中,先加载b,后加载a。

被选关联relate:主控被选,被控有效。即主控被选,被控才可能选择(即有被选/未选之分)。主控未选,被控无效,被控都按未选处理。或者说,首先选择了主控,才能选择被控;不选择主控,相当于屏蔽被控。主控相当于被控的必要前提。

未选关联unrelate:主控被选,被控无效。即主控被选,被控都按未选处理,相当于屏蔽被控。主控未选,被控才可能选择(即有被选/未选之分)。或者说,选择了主控,屏蔽被控。主控被控相当于互斥。

主控可以考虑改为多项并列,简化菜单书写。不要把关联搞的太复杂,相互交替可能引起逻辑混乱。

项目组不会太多,没必要设置快捷键。

jpg背景不影响兼容性。不加载可能启动会快些。

[ Last edited by yaya on 2009-5-10 at 22:58 ]
作者: yaya     时间: 2009-5-11 23:14
v4.02 2009/5/11  发布于1楼
修改:关联表达式可设置多项主控
例如:=1,2=3,4
作者: VeDe     时间: 2009-5-12 14:40


  Quote:
Originally posted by yaya at 2009-5-11 23:14:
v4.02 2009/5/11  发布于1楼
修改:关联表达式可设置多项主控
例如:=1,2=3,4

美妙绝伦。。。这个更新相当洽意。。。
作者: cchessbd     时间: 2009-5-13 03:48
yaya 你好。
configp.sys在虚拟机测试良好,实机进入后无显示。
过会自动进入默认选项。不知道怎么回事……

我修改下背景颜色再试试吧。虚拟机里面的显示效果是不错的,
台式机液晶怎么会黑屏呢?
作者: yaya     时间: 2009-5-13 04:45
可能是你的液晶台式机不支持800*600 114模式?
作者: cchessbd     时间: 2009-5-13 12:02
可以自定义显示参数吗? 比如600x480x60hz,建议为
device=configp.mnu /s  800x600x60的形式。这样兼容性就好点。

或者直接改为文本显示方式? 现在的测试是configp的驱动兼容性较好,但现在显示不出界面,是个大问题。
confect的兼容性次之,使用也方便,但是不便于组织;有时会出现不能运行grub4dos的问题。

还有yaya,我有五个选项是互斥的。用unrelate五行来实现。假如以
unrelate==1,2,3,4,5 (主控为空表示互斥)的语法来实现此功能,修改起来会稍微方便些。
这样某些两个互斥的选项,也只需要一行了。
或者以unrelate=1,2,3,4,5;6,7;8,9;10,11看起来更为简洁。整个互斥就只需一行了。
原来的功能建议还是保留,因为有时还是有包含关系的。


因为互斥项,以后要增加或减少驱动项,修改起来会很麻烦。我把驱动选择放到了一个界面。全部采用复选,但是勾选某个后,会将互斥的置为无效,以免中途死机。

而在另外一个窗口,为单选菜单,可以快捷运行某命令。
这样项目间切换就比较快。

太晚了,困。不知道自己说啥……

[ Last edited by cchessbd on 2009-5-13 at 12:06 ]
作者: yaya     时间: 2009-5-13 23:17
单选类选项组是真正实现互斥的途径。应当把互斥项做为一个功能组。这样菜单看起来也清楚。
unrelate更适用于上级对下级的控制。
你可以用debug查看一下显示器是否不支持800×600模式。一般来说显示器都支持这一模式。
作者: shao3111     时间: 2009-5-14 12:05    标题: 更新真快

先下个试试,先前用了个3.03版的,现在也不知道能不能用得上
作者: nmycj     时间: 2009-6-23 12:27
如果只加载图片做dos背景要怎么写配置?
比如用wbat做对话框
autoexec内容怎么写
谢谢

[ Last edited by nmycj on 2009-6-24 at 04:54 ]
作者: yaya     时间: 2009-6-24 21:53
在config.sys中,只能向autoexec.bat传递环境变量。config.sys执行完毕,由configp.mnu加载的图片就消失了。所以不能在autoexec.bat中使用configp.mnu加载的图片。
作者: byxyk     时间: 2009-7-1 23:06
我的U盘从CONFIGP.MNU 3.03 升到CONFIGP.MNU 4.02了。本想秀一下的,但这个GIF256色太差,严重影响我儿子的形象。PNG太大,为什么不支持JPG。算了,文字支持。
作者: yaya     时间: 2009-7-2 01:12
CONFIGP.MNU 4.02只支持JPG格式。况且与3.03版本有很多命令不同,请仔细看说明文件。
作者: byxyk     时间: 2009-7-2 06:25
哈哈,我说的是本论坛附件格式中没有JPG。
我儿子的照片在4.02中用的帅呆了。
我最大的好处就是用一个软件如果有说明的话一定会先看几遍才去动。
作者: DOSroot     时间: 2009-7-2 10:40


  Quote:
Originally posted by byxyk at 2009-7-2 06:25:
哈哈,我说的是本论坛附件格式中没有JPG。

PNG 格式是在不损失图像质量的前提下体积最小的。你可以比较下把同样的 BMP 图片文件转换为 PNG 、JPG 和 GIF 格式,真彩的 PNG 格式甚至比 256 色的 GIF 格式还小。当然,如果原本就是 JPG 格式的转换就没有意义了。所以论坛取消了 JPG 格式文件的上传。

另外,除了向会员提供软件外,这些说明性的图片文件最好使用外部链接。
请尽量使用外部链接,然后再考虑中国DOS联盟文件上传系统,最后不得已的情况下才使用上传附件的形式。并且上传图片只要能说明问题,请尽量使用较低位的色深。

论坛已经前几次因空间超限而关闭,谢谢各位的配合。
作者: byxyk     时间: 2009-7-2 22:52
可以理解并支持。谢谢。
作者: titanred     时间: 2009-8-2 23:43
很华丽,用起来不舒服
作者: 54987     时间: 2010-4-29 11:10
感谢分享 刚才会些ConMenu的用法 才发现已经有新作..
作者: kenmin     时间: 2010-5-10 15:22    标题: 厉害

厉害
作者: LinHQ2010     时间: 2010-6-3 17:32    标题: THANKS

A VERY GOOD THINGS!
作者: 2010ldy     时间: 2010-12-7 22:37
vpc2007虚拟机不能用
作者: yaya     时间: 2010-12-8 08:40
我一直在vpc2007虚拟机上使用,很正常.