回 帖 发 新 帖 刷新版面

主题:关于“*”掩码的粗略方案

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)
    EXIT DO
   CASE CHR$(8)
    IF i > 0 THEN
      i = i - 1
      LOCATE 12, 30 + i: PRINT " "
      password$ = LEFT$(password$, LEN(password$) - 1)
    END IF
   CASE ELSE
    password$ = password$ + key$
    LOCATE 12, 30 + i: PRINT "*"
    i = i + 1
  END SELECT
LOOP UNTIL i > 16

回复列表 (共6个回复)

沙发

不错不错!

板凳

谭浩强的《Basic语言》中有详细的源程序,功能也不错

3 楼

但要是用户打错字母,那怎么办?

4 楼

可以用如下语句实现:
IF INKEY$=CHR$(8) THEN I=I-1  'CHR$(8)为退格键
LOCATE 1,I+1 :PRINT " "

5 楼

很好!

6 楼

好东西
我保存了它

我来回复

您尚未登录,请登录后再回复。点此登录或注册