Silent pw entry not working
#22
What? It's not good enough!!! Okay, try this baby out...

Change pw = 0 to pw =1 to display asterisks.
Code: (Select All)
' Single line keyboard routine for input. Excludes highlighting, cut, copy, paste.
LOCATE , 3, 1 ' Show cursor.
pw = 0 ' 1 sets "*" display on for password privacy, zero shows keyboard input.
mr = 11 ' Margin right.
start_column = POS(0)
y = CSRLIN: x = POS(0) ' Initial cursor position.
DO
    _LIMIT 30
    b$ = INKEY$
    IF LEN(b$) THEN
        string_pos = POS(0) - start_column ' Track cursor and word position.
        SELECT CASE b$
            CASE CHR$(27) ' Esc key.
                SYSTEM
            CASE CHR$(13) ' Enter key.
                EXIT DO
            CASE CHR$(8) ' Backspace key.
                IF string_pos > 0 THEN GOSUB backspace
            CASE CHR$(0) + "S" ' Delete key.
                GOSUB delete
            CASE CHR$(0) + "M" ' Arrow right key.
                IF string_pos < LEN(word$) THEN GOSUB cursor_forward
            CASE CHR$(0) + "K" ' Arrow left key.
                IF string_pos > 0 THEN GOSUB cursor_back
            CASE CHR$(0) + "G" ' Home
                LOCATE , start_column
            CASE CHR$(0) + "O" ' End
                LOCATE , start_column - 1 + LEN(word$)
                IF POS(0) < mr THEN LOCATE , POS(0) + 1
            CASE CHR$(0) + "R" ' Insert/overwrite toggel
                ovw = 1 - ovw
                IF ovw = 0 THEN LOCATE , , 1, 7, 7 ELSE LOCATE , , 1, 7, 30
            CASE CHR$(32) TO "z"
                IF string_pos + start_column < mr THEN GOSUB print_chr
        END SELECT
        y = CSRLIN: x = POS(0) ' Track cursor.
    END IF
LOOP
END

print_chr:
SELECT CASE ovw
    CASE 0
        IF start_column + LEN(word$) < mr THEN
            word$ = MID$(word$, 1, string_pos) + b$ + MID$(word$, string_pos + 1)
            LOCATE , start_column: PRINT SPACE$(LEN(word$) + 1);
            LOCATE , start_column
            IF pw THEN PRINT STRING$(LEN(word$), "*"); ELSE PRINT word$;
            LOCATE , x + 1
        END IF
    CASE ELSE
        word$ = MID$(word$, 1, string_pos) + b$ + MID$(word$, string_pos + 1)
        IF pw THEN PRINT "*"; ELSE PRINT b$;
END SELECT
RETURN

backspace:
word$ = MID$(word$, 1, string_pos - 1) + MID$(word$, string_pos + 1)
LOCATE , start_column: PRINT SPACE$(LEN(word$) + 1);
LOCATE , start_column
IF pw THEN PRINT STRING$(LEN(word$), "*"); ELSE PRINT word$;
LOCATE , x - 1
RETURN

delete:
word$ = MID$(word$, 1, string_pos) + MID$(word$, string_pos + 2)
LOCATE , start_column: PRINT SPACE$(LEN(word$) + 1);
LOCATE , start_column
IF pw THEN PRINT STRING$(LEN(word$), "*"); ELSE PRINT word$;
LOCATE , x
RETURN

cursor_forward:
IF POS(0) < mr THEN LOCATE , POS(0) + 1
RETURN

cursor_back:
LOCATE , POS(0) - 1
RETURN

Well, that's enough fun for me tonight. Have to go make tacos. Yum!
If eggs are brain food, Biden takes his scrambled.
Reply


Messages In This Thread
Silent pw entry not working - by Ra7eN - 12-11-2022, 02:06 PM
RE: Silent pw entry not working - by NasaCow - 12-11-2022, 02:30 PM
RE: Silent pw entry not working - by Ra7eN - 12-11-2022, 02:33 PM
RE: Silent pw entry not working - by Pete - 12-11-2022, 03:29 PM
RE: Silent pw entry not working - by mnrvovrfc - 12-11-2022, 03:44 PM
RE: Silent pw entry not working - by Pete - 12-11-2022, 05:03 PM
RE: Silent pw entry not working - by Ra7eN - 12-11-2022, 05:49 PM
RE: Silent pw entry not working - by Ra7eN - 12-11-2022, 05:47 PM
RE: Silent pw entry not working - by Pete - 12-11-2022, 06:01 PM
RE: Silent pw entry not working - by RhoSigma - 12-11-2022, 09:21 PM
RE: Silent pw entry not working - by mnrvovrfc - 12-11-2022, 09:33 PM
RE: Silent pw entry not working - by Pete - 12-11-2022, 11:28 PM
RE: Silent pw entry not working - by SMcNeill - 12-11-2022, 11:57 PM
RE: Silent pw entry not working - by Pete - 12-12-2022, 12:26 AM
RE: Silent pw entry not working - by SMcNeill - 12-12-2022, 12:42 AM
RE: Silent pw entry not working - by Pete - 12-12-2022, 01:53 AM
RE: Silent pw entry not working - by SMcNeill - 12-12-2022, 02:04 AM
RE: Silent pw entry not working - by Pete - 12-12-2022, 02:57 AM
RE: Silent pw entry not working - by Ra7eN - 12-12-2022, 03:17 AM
RE: Silent pw entry not working - by Ra7eN - 12-12-2022, 03:22 AM
RE: Silent pw entry not working - by bplus - 12-12-2022, 03:37 AM
RE: Silent pw entry not working - by Pete - 12-12-2022, 03:44 AM
RE: Silent pw entry not working - by Ra7eN - 12-12-2022, 05:18 AM
RE: Silent pw entry not working - by Pete - 12-12-2022, 06:13 AM
RE: Silent pw entry not working - by vince - 12-12-2022, 06:25 AM
RE: Silent pw entry not working - by SMcNeill - 12-12-2022, 06:54 AM
RE: Silent pw entry not working - by mnrvovrfc - 12-12-2022, 08:37 AM
RE: Silent pw entry not working - by Pete - 12-12-2022, 06:58 AM
RE: Silent pw entry not working - by vince - 12-12-2022, 05:47 PM
RE: Silent pw entry not working - by Pete - 12-12-2022, 06:27 PM
RE: Silent pw entry not working - by Pete - 12-13-2022, 02:02 AM
RE: Silent pw entry not working - by Pete - 12-13-2022, 02:04 AM
RE: Silent pw entry not working - by vince - 12-13-2022, 02:12 AM
RE: Silent pw entry not working - by Pete - 12-13-2022, 02:21 AM
RE: Silent pw entry not working - by SMcNeill - 12-13-2022, 09:12 AM
RE: Silent pw entry not working - by Pete - 12-13-2022, 10:29 AM
RE: Silent pw entry not working - by mnrvovrfc - 12-13-2022, 12:19 PM
RE: Silent pw entry not working - by mnrvovrfc - 12-13-2022, 11:10 AM
RE: Silent pw entry not working - by Ra7eN - 12-14-2022, 10:24 PM
RE: Silent pw entry not working - by Ra7eN - 12-14-2022, 10:26 PM
RE: Silent pw entry not working - by SMcNeill - 12-14-2022, 11:24 PM
RE: Silent pw entry not working - by Ra7eN - 12-15-2022, 12:41 AM
RE: Silent pw entry not working - by Pete - 12-21-2022, 12:32 AM
RE: Silent pw entry not working - by bplus - 12-21-2022, 04:51 PM
RE: Silent pw entry not working - by Pete - 12-21-2022, 05:14 PM
RE: Silent pw entry not working - by bplus - 12-21-2022, 05:27 PM



Users browsing this thread: 14 Guest(s)