主题:关于“*”掩码的初级方案
CLS : i = 0
LOCATE 12, 20, 1: PRINT "PASSWORD:"
DO
LOCATE 12, 30 + i
DO: key$ = INKEY$: LOOP WHILE key$ = ""
SELECT CASE key$
CASE CHR$(13), CHR$(27) 'enter,esc
LOCATE ,,0
EXIT DO
CASE CHR$(8) 'backspace
IF i > 0 THEN
i = i - 1
LOCATE 12, 30 + i: PRINT " "
password$ = LEFT$(password$, LEN(password$) - 1)
END IF
CASE ELSE
IF " " <= key$ AND key$ <= "~" THEN
password$ = password$ + key$
LOCATE 12, 30 + i: PRINT "*"
i = i + 1
END IF
END SELECT
IF i > 16 THEN
BEEP
LOCATE ,,0
EXIT DO
END IF
LOOP
LOCATE 20, 10: PRINT password$
END
LOCATE 12, 20, 1: PRINT "PASSWORD:"
DO
LOCATE 12, 30 + i
DO: key$ = INKEY$: LOOP WHILE key$ = ""
SELECT CASE key$
CASE CHR$(13), CHR$(27) 'enter,esc
LOCATE ,,0
EXIT DO
CASE CHR$(8) 'backspace
IF i > 0 THEN
i = i - 1
LOCATE 12, 30 + i: PRINT " "
password$ = LEFT$(password$, LEN(password$) - 1)
END IF
CASE ELSE
IF " " <= key$ AND key$ <= "~" THEN
password$ = password$ + key$
LOCATE 12, 30 + i: PRINT "*"
i = i + 1
END IF
END SELECT
IF i > 16 THEN
BEEP
LOCATE ,,0
EXIT DO
END IF
LOOP
LOCATE 20, 10: PRINT password$
END