Board logo

标题: 如何实现 选项内容,标号从文本文件中获取 [打印本页]

作者: andred0421     时间: 2006-12-13 09:46    标题: 如何实现 选项内容,标号从文本文件中获取

echo                               ╭────────╮
echo           ╭─────┤      选项                  ├─────────╮
echo           │                  ╰────────╯                              │
echo           │       1.  ++++++++                                                  │
echo           │                                                                              │
echo           │       2.  fdfdfd                                                          │
echo           │                                                                              │
echo           │       3.  gfgfg                                                           │
echo           │                                                                              │
echo           ╰──────────────────────────╯
echo.

如何实现 选项内容,标号从同目录下的文本文件中获取,

文本文件格式:

1.  ++++++++
2.  fdfdfd
3.  gfgfg
作者: lxmxn     时间: 2006-12-13 10:08

  可以实现,但是读取之后不一定能保证是一个矩形框。

作者: redtek     时间: 2006-12-13 11:30

@echo %dbg% off  &&  setlocal enabledelayedexpansion

::  全长:       60
::  菜单偏移量: 18
::  提取:       ~0,59 (最后一位补“│”字符)
::  公式:       [  (%vol%  %%i  %space%) :~0,59   ]   补 │


set "space=                                                        "
set "vol=          │      "
echo                       ╭────────╮
echo           ╭─────┤      选项      ├─────────╮
echo           │          ╰────────╯                  │

for /f "tokens=1* delims=" %%i in (menu.txt) do (
        set a=%vol%%%i%space%
        echo !a:~0,59!│
        echo           │                                                │
)
echo           │                                                │
echo           │                                                │
echo           │                                                │
echo           ╰────────────────────────╯
echo.
贴上来格式看上去很乱,做好的源码和菜单文件压缩成附件上传了,方便楼主调试:)
附件 1: menu.rar (2006-12-13 11:30, 506 bytes, 下载附件所需积分 1点 ,下载次数: 47)

作者: lxmxn     时间: 2006-12-14 00:51

  Redtek 兄写的精彩啊。加分~~

作者: ccwan     时间: 2006-12-14 00:53
抗议!偶加分太受限制了。
作者: 无奈何     时间: 2006-12-14 02:32
RE redtek 兄
发帖时选择字体为 “宋体” 可以实现等宽显示了。
作者: HUNRYBECKY     时间: 2006-12-14 05:07


  Quote:
Originally posted by redtek at 2006-12-13 11:30:
[code]
@echo %dbg% off  &&  setlocal enabledelayedexpansion

::  全长:       60
::  菜单偏移量: 18
::  提取:       ~0,59 (最后一位补“│”字符)
::  公式 ...

建议兄再改下代码。测试兄的代码,如果使用原菜单memu.txt中的内容,菜单不是乱的,如果我修改menu.txt中的内容则菜单就变了,关键是最后的“|”字符错位,如果能实现以下功能则爽:
1。让用户随意自定义memu.txt中的内容,
2。把用户定义的菜单项目保存到变量中以便实现跳转到对应的菜单程序。
作者: zh159     时间: 2006-12-14 05:24
对于含有汉字的用以上方法就会出现最后的“|”字符错位

所以最好能算出字节

[ Last edited by zh159 on 2006-12-13 at 04:25 PM ]
作者: zhangqing1123     时间: 2008-6-1 10:14
不错