通用菜单生成器
11-08 12:39:07软件技巧
浏览次数:628次
标签:软件技巧大全,http://www.duosi8.com
通用菜单生成器,
10 REM TF/TB=正文前/背景色,MFMB=菜单前/背景色,N=菜单条数
12 REM X/Y=菜单左上角坐标,C 菜单选中项,M$()=菜单提示内容
14 TF = 7: TB = 1: MF = 4: MB = 2: SCREEN 0: COLOR TF, TB: CLS
16 S = 1: N = 4: X = 9: Y = 30: DIM M$(N), FC(N), BC(N): M$(1) = "1. The first item"
18 M$(2) = "2. The second item": M$(3) = "3. The third item": M$(4) = "4. The fourth item"
20 FOR J = 1 TO N: IF LEN(M$(J)) > L THEN L = LEN(M$(J))
22 NEXT J: FOR J = 1 TO N: M$(J) = M$(J) + SPACE$(L - LEN(M$(J))): NEXT J
24 COLOR MF, MB: LOCATE X, Y: PRINT CHR$(218); STRING$(L, CHR$(196)); CHR$(191)
26 FOR J = 1 TO N: COLOR MF, MB: LOCATE X + J, Y
28 PRINT CHR$(179); M$(J); CHR$(179); : COLOR 0, 0: PRINT " ": NEXT J
30 LOCATE X + N + 1, Y: COLOR MF, MB: PRINT CHR$(192); STRING$(L, CHR$(196)); CHR$(217);
32 COLOR 0, 0: PRINT " ": LOCATE X + N + 2, Y + 2: COLOR 0, 0: PRINT SPACE$(L + 2)
34 FOR J = 1 TO N: FC(J) = MF: BC(J) = MB: NEXT J: FC(S) = MB: BC(S) = MF
36 A$ = INKEY$: IF A$ = CHR$(13) GOTO 58 ELSE IF A$ = CHR$(27) THEN S = 0: GOTO 58
38 FOR J = 1 TO N: IF A$ <> CHR$(0) + CHR$(72) OR BC(J) = MB GOTO 46
40 IF J = 1 THEN SWAP FC(1), FC(N): SWAP BC(1), BC(N): S = N
42 IF J > 1 THEN SWAP FC(J), FC(J - 1): SWAP BC(J), BC(J - 1): S = J - 1
44 GOTO 56
46 IF A$ <> CHR$(0) + CHR$(80) OR BC(J) = MB GOTO 54
48 IF J = N THEN SWAP FC(1), FC(N): SWAP BC(1), BC(N): S = 1
50 IF J < N THEN SWAP FC(J), FC(J + 1): SWAP BC(J), BC(J + 1): S = J + 1
52 GOTO 56
54 NEXT J
56 FOR J = 1 TO N: LOCATE X + J, Y + 1: COLOR FC(J), BC(J): PRINT M$(J): NEXT J: GOTO 36
58 COLOR TF, TB: LOCATE X + N + 4, Y: PRINT "Item"; S; "is selected."
10 REM TF/TB=正文前/背景色,MFMB=菜单前/背景色,N=菜单条数
12 REM X/Y=菜单左上角坐标,C 菜单选中项,M$()=菜单提示内容
14 TF = 7: TB = 1: MF = 4: MB = 2: SCREEN 0: COLOR TF, TB: CLS
16 S = 1: N = 4: X = 9: Y = 30: DIM M$(N), FC(N), BC(N): M$(1) = "1. The first item"
18 M$(2) = "2. The second item": M$(3) = "3. The third item": M$(4) = "4. The fourth item"
20 FOR J = 1 TO N: IF LEN(M$(J)) > L THEN L = LEN(M$(J))
22 NEXT J: FOR J = 1 TO N: M$(J) = M$(J) + SPACE$(L - LEN(M$(J))): NEXT J
24 COLOR MF, MB: LOCATE X, Y: PRINT CHR$(218); STRING$(L, CHR$(196)); CHR$(191)
26 FOR J = 1 TO N: COLOR MF, MB: LOCATE X + J, Y
28 PRINT CHR$(179); M$(J); CHR$(179); : COLOR 0, 0: PRINT " ": NEXT J
30 LOCATE X + N + 1, Y: COLOR MF, MB: PRINT CHR$(192); STRING$(L, CHR$(196)); CHR$(217);
32 COLOR 0, 0: PRINT " ": LOCATE X + N + 2, Y + 2: COLOR 0, 0: PRINT SPACE$(L + 2)
34 FOR J = 1 TO N: FC(J) = MF: BC(J) = MB: NEXT J: FC(S) = MB: BC(S) = MF
36 A$ = INKEY$: IF A$ = CHR$(13) GOTO 58 ELSE IF A$ = CHR$(27) THEN S = 0: GOTO 58
38 FOR J = 1 TO N: IF A$ <> CHR$(0) + CHR$(72) OR BC(J) = MB GOTO 46
40 IF J = 1 THEN SWAP FC(1), FC(N): SWAP BC(1), BC(N): S = N
42 IF J > 1 THEN SWAP FC(J), FC(J - 1): SWAP BC(J), BC(J - 1): S = J - 1
44 GOTO 56
46 IF A$ <> CHR$(0) + CHR$(80) OR BC(J) = MB GOTO 54
48 IF J = N THEN SWAP FC(1), FC(N): SWAP BC(1), BC(N): S = 1
50 IF J < N THEN SWAP FC(J), FC(J + 1): SWAP BC(J), BC(J + 1): S = J + 1
52 GOTO 56
54 NEXT J
56 FOR J = 1 TO N: LOCATE X + J, Y + 1: COLOR FC(J), BC(J): PRINT M$(J): NEXT J: GOTO 36
58 COLOR TF, TB: LOCATE X + N + 4, Y: PRINT "Item"; S; "is selected."
,通用菜单生成器
- ·上一篇:谈谈WPS中的软回车与硬回车
- ·下一篇:通用帐务处理系统AIS-ZW中词组的使用技巧
热门推荐
- · 为何QQ总弹出安全登录验证2则
- · 多媒体升级时常见故障的处理
- · 利用硬盘驱动器号制作防扩散FOXPRO程序
- · 高速视频转换借力CUDA
- · 在KMPlayer中手动切换解码器
- · 如何突破IP加MAC绑定
- · 如何让ACDSee成为默认的图片浏览器
- · SnagIt连续抓以多个窗口
- · SnagIt直接截取灰度图片
- · Nero快速制作精美的光盘封面
- · 完美卸载XP快速卸载顽固软件
- · VoptXP测试驱动器性能
- · VirturlDriver让虚拟光驱开机时自动加载
- · 通过递归调用来搜索文件
- · AutoCAD复制粘贴图纸导致死机
- · 监控软件导致QQ无法登录
- · 提高WindowsXP启动速度的方法
- · Office 2007无法正常卸载怎么办
- · 如何用批处理一次建立或删除多个目录
- · 教你Windows百毒不侵的13个妙招
- · ATI显卡在线看电影时花屏应该如何解决