无忧启动论坛

标题: bc++3.1 编译的dos下无汉字系统也可显示视窗效果的中文菜单 的程序 [打印本页]

作者: dos时代菜鸟    时间: 2013-12-27 21:36
标题: bc++3.1 编译的dos下无汉字系统也可显示视窗效果的中文菜单 的程序
本帖最后由 dos时代菜鸟 于 2014-1-15 08:41 编辑



运行方法:
  1. g16.exe file1.txt
复制代码

其中 file1.txt 是 特定 结构的菜单文本。程序会自动在路径中找hzk16中文字库。
因为每列只能有14个项目,所以理论上支持做多196个项目。而且菜单文本的编辑 要注意每个项目组不能超过14个选项。
用户选择某个二级菜单选项后,程序退出 并返回用户所选选项的代号.
比如:用户选择了一级菜单的第 e 项,进入 e 对应的二级菜单,又选择了 l  项。则程序会返回 "el".


支持鼠标操作,鼠标左键 确认,右键返回。
程序占用内存 50K。
这下,dos下编辑工具箱,可以脱离汉字系统了。

下载地址
G17.ima.7z (269.78 KB, 下载次数: 36) 是一个 ima 演示  样例 2013.12.31 带鼠标演示 。启动以后运行 demo 就能看到效果了。
用 tc2 编的,居然用 bc++3.1 才 编译成功 。

  1. 菜单文本格式:
  2. 每行最多60个字符.(注释与空行不计)。
  3. 以"*"或者"."开头的行为注解行,不同的是,最后一句以被"."注释掉的话会显示在屏幕左下方。
  4. 菜单结构:二级,
  5. 每条选项的格式为:
  6. 上级菜单快捷键+本级快捷键+.+具体名称,如."ab.系统备份".....
  7. 一级菜单项目第上级菜单快捷键必须是0,如:01.硬盘分区....0b.磁盘修复.....
  8. 不论是项目组名还是项目名称或者注释语句都不能有空格存在.
  9. 使用方法:
  10. g16.exe 菜单文件路径及名称
  11. 例如:g16.exe a:\menu\menug.txt
  12. 程序会自动在系统 path 环境变量中的各目录中搜索 hzk16如果 并作为字库字模 。
  13. 英文字体为 litt.chr(SMALL_FONT小字体),显示驱动为 egavga.bgi,显示驱动 和英文字体要 与 程序 放在一个文件夹中 并 在该文件夹中运行。
复制代码

作者: ku588    时间: 2013-12-27 21:38
不错,牛人,支持下
作者: dos时代菜鸟    时间: 2013-12-27 22:07
发现 快捷键 有问题,刚刚重新上传了一下 。

作者: dlwfdlikuan    时间: 2013-12-28 09:22
高,高,实在是高!
作者: qj_tzy    时间: 2013-12-28 13:56
能在winpe或windows的DOS窗口下使用吗
作者: dos时代菜鸟    时间: 2013-12-28 15:19
本帖最后由 dos时代菜鸟 于 2013-12-28 17:56 编辑
qj_tzy 发表于 2013-12-28 13:56
能在winpe或windows的DOS窗口下使用吗


win7不能,xp可以。但需要事先鼠标驱动。

win下要达到这个效果,还用这么麻烦?
作者: cadbc    时间: 2013-12-29 12:03
好像很厉害
作者: dos时代菜鸟    时间: 2013-12-29 21:16
cadbc 发表于 2013-12-29 12:03
好像很厉害

一般 一般 。
要是 谁 能把 这个 编译的 更小 一些,内存占用 更少 就更 完美了 。
作者: dos时代菜鸟    时间: 2013-12-30 13:14
程序没有 行列 数量溢出 的判断。如果文本菜单 太大,或者每行字节过多,可能就要溢出了。
过一会儿,弄个 改进版的 img 演示。
作者: dos时代菜鸟    时间: 2013-12-30 22:14
本帖最后由 dos时代菜鸟 于 2013-12-30 22:15 编辑

改进了一下,体积小了一些 。
与演示样例 ima 软盘镜像 一同放到了 一楼。

每列项目数 限定为 13,屏幕最下方 一行 可以 放一些 信息 。


/*
dos下读取特定文本菜单信息,并呈现中文视窗菜单效果.
2013.12.29—DOS时代菜鸟.

菜单文本格式:
每行最多60个字符.(注释与空行不计)。
以"*"或者"."开头的行为注解行,不同的是,最后一句以被"."注释掉的话会显示在屏幕左下方。
一级菜单项标题必须为:MAIN,
二级菜单标题为改项目组在一级菜单中的快捷键,如:a,b,c,d.....
每条选项的格式为:快捷键+.+具体名称,如.a.磁盘维护,b.系统备份.....
不论是项目组名还是项目名称或者注释语句斗不能有空格存在.
使用方法:
g16.exe文本菜单文件路径及名称  hzk16字库文件位置
例如:g16.exe a:\menu\menug.txt a:\ucdos\hzk16
*/
作者: dos时代菜鸟    时间: 2013-12-31 14:04
看来,编译设置很重要啊。重新编译了一下。用 80386 模式了。呵呵。
作者: singel    时间: 2014-1-1 19:47
俺进来学习看看
作者: 2011610210626    时间: 2014-1-7 23:18
怎么调用菜单中设定的程序?
作者: dos时代菜鸟    时间: 2014-1-8 13:38
2011610210626 发表于 2014-1-7 23:18
怎么调用菜单中设定的程序?

bat 中设置以菜单编号为名称的 段,把要运行的程序放入该段,然后 通过bat 调用该段程序。
具体参看 我的dos工具箱 中的 dts.bat
作者: 朱百亿    时间: 2014-1-12 22:46
2014,目标C++,
作者: dos时代菜鸟    时间: 2014-1-15 08:29
重新用 tc3.0 进行了编译,重新做了一个ima  放到1# 了。
文本菜单文件更合理,用内存更小, demo.bat 中包含了各段,需要的 诸位老大 可以直接对 demo.bat 进行修改,拿来改改脚本就能用了。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3