本帖最后由 大道至简 于 2011-8-31 13:49 编辑
作者:21ic 大道至简
2011-8-31
N年前的私人设计,开源大放送。
-----------------------------------
该软件用在单片机和PC通讯的软件中,如果单片机需要在超级终端上显示一个层次式菜单时,自动建立一个名字为“menutext.h”的头文件。
注:xxxx/5/23更改了这个软件,在输出文件的code单词前加了一个static,以保证大软件工程没有问题。
菜单数据文件
该软件需要一个菜单数据文件作为数据源,其中菜单层次号必须以字符~开头,否则会认为是菜单项的正文。(数据文件扩展名必须为.txt)数据文件的格式如下(澄色为正文,黑色为注释,真正的数据文件目前不支持注释.这里的注释仅仅在本文中作注释):
~0000菜单层次号,这个必须是第一个菜单项
0.main menu否则C51中会出错,
1.fujian菜单内容
2.jiangxi
3.zhejiang
~0010 菜单层次号
0.back to main menu 菜单内容
1.fuahou
2.xiamen
~0020
0.back to main menu
1.nanchang
2.jiujiang
~0030
0.back to main menu
1.hangzhou
2.ningbo
~0130
0.back to main menu
1.hangzhou
2.ningbo
~9999 菜单结束,这个不能忽略
end.
菜单层次号
菜单层次号是表示当前菜单在系统中的层次,这是一个unsigned long.他的取值范围为0~2147483646,以10进制表示。目前版本一共可以支持8层菜单,每个菜单项可以有9个子菜单。每一层次的第0号菜单系统保留,作为返回上级菜单的标志。
这个数的每个10进制位表示一个层次号,个位a表示根菜单。个位和最高有效位之间的数字不能为0。根菜单的层次号一定是0;例如3102表示如下的菜单:
...............
以下省去N万字:)
|