免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2805 | 回复: 4
打印 上一主题 下一主题

偶用tput编的一个选择式菜单(原创)  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-29 08:40 |只看该作者 |倒序浏览
偶编的简单的菜单:感觉还可以,就是运行太慢,可能不实用,但费了偶不少脑筋
,不忍弃之..

######################################
#  
#  program: MENU_CD
#
######################################
# 屏幕任意位置函数
xy()
{
#_R=row,_C=column
_R=$1
_C=$2
tput cup $_R $_C
}
########## 格式化dd_code.txt文件内容并生成屏幕菜单
clear
xy 1 2
echo '┌────────────────────────────────┐'    #注)( 色彩控制符在unix下应该是这样的^[[36m  )
xy 1 26
echo '业务处理主菜单'
xy 2 2
echo '  '
r_1=2                 # 画框行变量
r_row=1               # 记录行变量
c_col=5               # 记录列变量
count=0               # 循环记数器,dd_code.txt文本行变量
wc -l dd_code.txt >menu.tmp
sum=`awk '{print $1}' menu.tmp`           ## 循环终止值
while [ $count -lt $sum ]
do
        xy $r_1 2
        echo '│'
        xy $r_1 68
        echo '│'
#xy $r_row $c_col
#sed -n ""$count"p" dd_code.txt
################################### 计算列位置
bc <<! >hh.tmp
$count%2
quit
!
###################################
int=`sed -n "1p" hh.tmp`
if [ "$int" = "0" ]; then
        c_col=5
        r_row=`expr $r_row + 1`
        count=`expr $count + 1`
        r_1=`expr $r_1 + 1`
        xy $r_row $c_col
        sed -n ""$count"p" dd_code.txt
else
        c_col=5
        #r_row=`expr $r_row + 1`
        c_col=`expr $c_col + 30`
        count=`expr $count + 1`
        #r_1=`expr $r_1 + 1`
        xy $r_row $c_col
        sed -n ""$count"p" dd_code.txt
fi
done
echo "  └────────────────────────────────┘"
echo "   请输你的选择[回车则退出]:\c"
read choose_dh
echo ""
if [ "$choose_dh" = "" ]; then
rm *.tmp             # 删除临时文件
exit 1
fi
..........以后是你就可以是你要调用子程序或子菜单或命令的语句了...
####################################

这是菜单内容文本: dd_code.txt
1 -----菜单名
2 -----菜单名
3 -----菜单名
4 -----菜单名
.......
n -----菜单名

将菜单名改成你所定义的名称,然后运行menu_dd即可.
请大家斧正.

论坛徽章:
0
2 [报告]
发表于 2003-09-29 18:56 |只看该作者

偶用tput编的一个选择式菜单(原创)

做得很好,慢是因为用了tput

你能改用类似\033[12;20H这种方式吗写一个吗?可能要快很多......

论坛徽章:
0
3 [报告]
发表于 2003-09-30 12:44 |只看该作者

偶用tput编的一个选择式菜单(原创)

好啊,这种^[[36的含义从那里能找到?

论坛徽章:
0
4 [报告]
发表于 2003-09-30 16:15 |只看该作者

偶用tput编的一个选择式菜单(原创)

System User's Guide中应该有的!

论坛徽章:
0
5 [报告]
发表于 2003-10-01 00:30 |只看该作者

偶用tput编的一个选择式菜单(原创)

....so so ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP