'===========================================================================
' Subject: INPUT PASSWORD PROGRAM             Date: 12-18-98 (20:43)       
'  Author: Victor Rootselainen                Code: QB, QBasic, PDS        
'  Origin: viktor.rootselainen@pp.inet.fi   Packet: MISC.ABC
'===========================================================================
DEFINT A-Z
DECLARE FUNCTION InputPass% (Pass$, MaxLen%)

Password$ = "lamer"
CLS

LOCATE 10, 10
PRINT "Enter password, lamer: ";

a = InputPass(Password$, 10)
IF a THEN PRINT "No, you are not lamer." ELSE PRINT "You are really lamer!"

FUNCTION InputPass (Pass$, MaxLen)
'by: _-VR-_
'returns: 0 :(   1 :)

x = CSRLIN: y = POS(1)
LOCATE , , 1
           
DO
  k$ = INPUT$(1)
  IF k$ = CHR$(13) THEN EXIT DO
  IF k$ = CHR$(8) THEN
     IF LEN(brb$) THEN brb$ = LEFT$(brb$, LEN(brb$) - 1)
  ELSE
     brb$ = brb$ + k$
  END IF
  LOCATE x, y: PRINT SPACE$(MaxLen)
  LOCATE x, y: PRINT STRING$(LEN(brb$), "*");
LOOP UNTIL LEN(brb$) >= MaxLen

IF brb$ = Pass$ THEN InputPass = 1 ELSE InputPass = 0
LOCATE x + 1, 1, 0

END FUNCTION
