微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题通用菜单生成器
栏目软件操作与技巧
作者韩力
发布1994-03-04
  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."