中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » Config中文菜单驱动Confect.sys (更新为4.3版)
« [1] [2] [3] [4] [5] [6] [7] [8] »
作者:
标题: Config中文菜单驱动Confect.sys (更新为4.3版) 上一主题 | 下一主题
xugaohui
高级用户




积分 774
发帖 293
注册 2003-4-16
来自 湖北仙桃
状态 离线
『第 31 楼』:  

子菜单中所有项目没有单选或复选时,就算光带在子菜单上按回车也会忽略子菜单。跟据这一点,单选的意思就是指子菜单中必须有一项是被选中,即使光带不在子菜单上面,右边子菜单前面有单选字符的总是被执行。这样子菜单的单选功能就与子菜单没有任何单选或复选功能区别开了。觉得在子菜单中仅有单选时,按上下按键的同时菜单前面显示出字符@更形象些,也可以少按一次空格键.
建议在子菜单再加一个标记符。表示这项子菜单仅用于返回主菜单的。这样在前面加一个指向左的手形汉字就更形象了。

[ Last edited by xugaohui on 2009-1-2 at 11:51 ]



下载
09年7月7日 更新
感谢网友 囧HQY 提供空间
2009-1-2 11:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sanchuan
初级用户





积分 113
发帖 51
注册 2008-11-16
来自 武汉
状态 离线
『第 32 楼』:  



  Quote:
Originally posted by xugaohui at 2009-1-2 11:45:
子菜单中所有项目没有单选或复选时,就算光带在子菜单上按回车也会忽略子菜单。跟据这一点,单选的意思就是指子菜单中必须有一项是被选中,即 ...

谢谢你提出的意见。应该考虑到子项没有作复选或单选标记的处理。现将修改过的Confect42放在28楼(1.子项若未作任何标记,则作复选处理;2.单选标记随亮条移动)。
关于子项与主项距离的问题涉及到参数的设置——这在程序中是很容易做到,但在使用中,参数过多会有诸多不便。怎么解决,需要慎重考虑后确定。
再次对你表示感谢!

[ Last edited by sanchuan on 2009-1-2 at 22:46 ]



三川一笑
2009-1-2 14:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xugaohui
高级用户




积分 774
发帖 293
注册 2003-4-16
来自 湖北仙桃
状态 离线
『第 33 楼』:  

4.2版更新后发现少了一个功能:
子菜单全都后面没有"@",这时子菜单总是被当成单选使用。即使光带在主菜单上,没有移到子菜单上,不操作子菜单时默认第一项菜单总是被执行了。
以前是这样的:
子菜单全都后面没有"@",不会操作子菜单,光带停在子菜单第一项上。在主菜单按回车,子菜单的都被忽略了。这样很合理。
而现在的子菜单总是有一项要被执行,想忽略掉也不行了。
不过这个问题是可以通过将第一项子菜单的命令设为空来解决。也就是默设子菜单都被忽略了。
但相比4.1版明显要矛盾了。以前有空选,复选,单选三样。
现在变成有复选时才可以空选,没标记或有加;@单选时,都不能空选了

单选,复选在上下菜单中太复杂了。而且全部是通过按空格键切换。如果太麻烦就干脆简化这个功能了。

重新在28楼下载就没有上述问题了

建议加一个选项可设置返回的变量名,默是%CONFECT%,可选是%CONFIG%
这样更灵活了。还有一个用于子项菜单返回主菜单的标记就好了,这样也可以不按左键返回了。其实还是左键是比较快捷方便的。
感觉我的要求太多了,给作者编程带来了一定工作量。

每次停在这个菜单处时,觉得这个菜单环境好像是在dos下的菜单软件了。
每选择一次下面都有不同的提示信息,更像诺顿8.0中文版的菜单。



就目前来说这个菜单驱动已经是最简单、最方便、功能最强的菜单了。
这么好的东西,你们需要中文菜单的,它就是唯一最好的选择。以前有看过yaya的菜单,需要配合其它软件使用,编辑也不方便,一直没有使用它。


另外说明文件应该注明下:
如果子项对应的命令是空的,下面的rem [子项块名]这一行也不能少。否则就执行下一个rem [下一个子项块名]。

[ Last edited by xugaohui on 2009-1-3 at 01:13 ]



下载
09年7月7日 更新
感谢网友 囧HQY 提供空间
2009-1-2 14:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wuchan
初级用户





积分 119
发帖 59
注册 2008-11-21
状态 离线
『第 34 楼』:  

呀又更新了,神速啊。。

2009-1-2 18:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xugaohui
高级用户




积分 774
发帖 293
注册 2003-4-16
来自 湖北仙桃
状态 离线
『第 35 楼』:  

[重新在28楼下载后继续更复杂的子菜单功能。
单独使用单选、空选、默认空选都正常了。显示状态与执行结果完全正确。
发现在一个怪问题,在主菜单或子菜单处按end键出现下图的错误,
再按下又正常了。
点击图片查看全图


config.sys内容:
DEVICE=CONFECT.SYS
DEVICE=HIMEM.SYS /TESTMEM:OFF /NUMHANDLES=128
DOS=HIGH,UMB
REM [SETTINGS]
set alHead=3
set align=6,1
set alNote=3
set shortcut=a,1
set color=7,0,0,0
set default=1,6,9
set heading=
set heading=Microsoft MS-DOS 7.1 Startup Menu
set heading==================================
set heading=
set endnote=
set endnote=用↑→↓或←键移动亮条,或用 A、B、C ... 键选择主项
set endnote=
set endnote=选项用数字键或空格键设置(或清除),用 Enter 键确定。
set confect=M1,实模式(加载UMBPCI.SYS);在DOS下执行runnet可启动网络功能。
set confect=M2,实模式并启动网络;直接使用IBM TCP/IP协议启动网络功能。
set confect=M3,实模式并加载CD-ROM;支持SATA光驱,在DOS下执行runnet可启动网络功能。
set confect=M4,最小模式;更新BIOS时选用,用子菜单可选择不同模式的UMB驱动。
set option=M41,不加载UMB驱动;@
set option=M42,加载UMBPCI.SYS
set option=M43,加载EMM386.EXE

REM [M1]

DEVICE=UMBPCI.SYS

REM [M2]
DEVICE=UMBPCI.SYS
SET IBMLAN=1

REM [M3]
DEVICE=UMBPCI.SYS
DEVICEHIGH=UIDE.SYS /D:CDROM

REM [M4]
REM [M41]
REM [M42]
DEVICE=UMBPCI.SYS

REM [M43]
DEVICE=EMM386.EXE NOEMS I=B000-B7FF

REM [CONFIG]

SHELL=COMMAND.COM /P /E:512
单选、多选、空选、混合使用中发现了矛盾的问题。正在反复在m41、m42、m43这里测试。
子菜单内容:
set option=M41,11111;&
set option=M42,22222
set option=M43,33333
set option=M44,44444;@
REM [M41]
device=11111
REM [M42]
device=22222
REM [M43]
device=33333
REM [M44]
device=44444

测试1:从主菜单移到子菜单时显示如上图。
错误1:但是按回车后没有执行前面有&的这一行,与显示状态不相对应。

测试2:如上图:将第4项移动第1项,变成@项,再按空格切换变为&项,反复按空格切换。
错误2:第一项菜单只能是在@与&之间转换,按以前的理解正确状态是:在有&或@的菜单上切换时应该是@->空选->&->空选->再循环.....
从这种情况下得出的理解:如果子项全部没有复选,但有一项是单选,在这个单选上按一次空格,它就变成空选了,按回车,所有子项都会忽略了(因为子项前前面都是空的)。
或者这样理解第2个错误:不允许把复选菜单按空格键变成单选,@单选菜单移到前面有&复选项时,不要把这项菜单变成@,@单选项目应该停在上一次的菜单位置上面.这样限制就比较合理。也不会把两者搞的很复杂。

[ Last edited by xugaohui on 2009-1-3 at 21:35 ]



下载
09年7月7日 更新
感谢网友 囧HQY 提供空间
2009-1-3 19:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sanchuan
初级用户





积分 113
发帖 51
注册 2008-11-16
来自 武汉
状态 离线
『第 36 楼』:  

恢复35楼:
confect4.2附带了一个辅助功能,按三次End键,可以查看当前页面字符集中所使用的不重复汉字(最多为112个),在End键则关闭。

检测子项执行块,在config.sys作如下定义:
rem [M4]
set m=abc
rem [M41]
set m=41
rem [M42]
set m=42
rem [M43]
set m=43
rem [M44]
set m=44

然后在DOS命令行用set命令检查结果。



set option=M41,不加载UMB驱动;&
set option=M42,加载UMBPCI.SYS
set option=M43,加载EMM386.EXE;@

confect没有作严格的语法检测。上面的设置,confect会按单选处理。
使用confect必须按其说明去定义。

一组选项不可能又是单选又是复选,二者必居其一。出现上面的结果,会再完善的。谢谢你。

[ Last edited by sanchuan on 2009-1-3 at 20:59 ]



三川一笑
2009-1-3 20:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xugaohui
高级用户




积分 774
发帖 293
注册 2003-4-16
来自 湖北仙桃
状态 离线
『第 37 楼』:  

作者太客气了 ,我们作为用户又寄予太多的希望。在上下选择菜单实际单选、复选、空选实在太复杂了。你能做到现在这样就已经很不错了。在进一步测试中发现有多处矛盾,这主要是上下菜单本来就带有单选的味道。
执行完菜单后DOS界面好像被清屏了,可以不清屏吗?
在这里http://cn-dos.net/forum/viewthre ... ;page=2&fpage=1本是的方法是否可以用到你的程序中。
不过你的菜单驱动程序退出后对后继的程序没有影响。

[ Last edited by xugaohui on 2009-1-4 at 01:29 ]



下载
09年7月7日 更新
感谢网友 囧HQY 提供空间
2009-1-3 21:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sanchuan
初级用户





积分 113
发帖 51
注册 2008-11-16
来自 武汉
状态 离线
『第 38 楼』:  



  Quote:
Originally posted by xugaohui at 2009-1-3 21:05:
执行完菜单后DOS界面好像被清屏了,可以不清屏吗? ...

因为confect可能要占据VGA 8个区号的字符集,为了不影响DOS系统,confect在退出时,直接恢复原显示方式的所有设置。

对于35楼中子项的设置,可按如下标记:

set option=M41,不加载UMB驱动;a
set option=M42,加载UMBPCI.SYS
set option=M43,加载EMM386.EXE

即用小写的 a 标记,表示该组子项是单选——并没有指定选择哪一个子项。
而用 @ 标记,表示指定了某个子项。


关于子项同时标记@和&,confect作了除错处理:默认为单选。更新后的Confect42,仍然放在28楼。

[ Last edited by sanchuan on 2009-1-3 at 22:10 ]



三川一笑
2009-1-3 21:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
supertom
初级用户





积分 62
发帖 31
注册 2008-3-28
状态 离线
『第 39 楼』:  

刚刚上班就看到了新版本的发布,大概看了一下,改进不少。稍后仔细研究一下,楼主辛苦,支持一下

2009-1-4 10:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joinnow2008
初级用户





积分 37
发帖 17
注册 2008-12-22
状态 离线
『第 40 楼』:  

只想问一下实用性的问题:

  如何避免在真实环境中,液晶显示器无法显示的超频现象发生?

  笔记本的液晶是没问题的,台式机的就会无显示

[ Last edited by joinnow2008 on 2009-1-4 at 15:15 ]

2009-1-4 14:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xugaohui
高级用户




积分 774
发帖 293
注册 2003-4-16
来自 湖北仙桃
状态 离线
『第 41 楼』:  

真奇怪,你没有用过怎么知道有这个问题?



下载
09年7月7日 更新
感谢网友 囧HQY 提供空间
2009-1-4 15:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sanchuan
初级用户





积分 113
发帖 51
注册 2008-11-16
来自 武汉
状态 离线
『第 42 楼』:  



  Quote:
Originally posted by joinnow2008 at 2009-1-4 14:52:
只想问一下实用性的问题:

  如何避免在真实环境中,液晶显示器无法显示的超频现象发生?

  笔记本的液晶是没问题的,台式机的就会无显示

[ Last edited by joinnow2008 on 2009-1-4 at 15:15 ]

confect42有一个默认参数的设置:
set default=1,6,9
其中,最后一个 9 ,表示原来系统默认的9点字符时钟,一般不会出现超频。
对于性能比较好的液晶显示器,可以将 9 改成 8 ,以改善汉字显示的效果。

上面默认参数若不是 8,可以写成:
set default=1,6



三川一笑
2009-1-4 15:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
joinnow2008
初级用户





积分 37
发帖 17
注册 2008-12-22
状态 离线
『第 43 楼』:  



  Quote:
Originally posted by xugaohui at 2009-1-4 15:24:
真奇怪,你没有用过怎么知道有这个问题?

真奇怪,你没有看我做,怎么知道我没用过?

2009-1-4 22:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
joinnow2008
初级用户





积分 37
发帖 17
注册 2008-12-22
状态 离线
『第 44 楼』:  



  Quote:
Originally posted by sanchuan at 2009-1-4 15:45:



confect42有一个默认参数的设置:
set default=1,6,9
其中,最后一个 9 ,表示原来系统默认的9点字符时钟,一般不会出现超频。
对于性能比较好的液 ...

没看到你的贴子之前,已经去试了,用的就是9。OK

只是很奇怪的是,没有出现其他网友说的汉字中间有缝的现象

2009-1-4 22:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 45 楼』:  



  Quote:
Originally posted by joinnow2008 at 2009-1-4 22:38:
只是很奇怪的是,没有出现其他网友说的汉字中间有缝的现象

大概因为你使用的不重复汉字总数不超过32个。否则9点字符必然出现裂缝!这是字符式显示汉字的“胎里病”——显示卡硬件带来的问题。这一点我在VTmagik贴子中讲了很多遍了。



my major is english----my love is dos----my teacher is the buddha----my friends--how about U
2009-1-4 22:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] [5] [6] [7] [8] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: