home *** CD-ROM | disk | FTP | other *** search
- ' *** DEFSG_EX.BAS ***
- '
- DECLARE SUB CapsOn ()
- DECLARE SUB CapsOff ()
- DECLARE SUB PrntMsg (R%,C%,M$)
-
- CLS
- CapsOn
- PrntMsg 24,1,"<Caps Lock On>"
- LOCATE 12,10
- LINE INPUT "Enter a string (all characters are caps): ",S$
- CapsOff
- PrntMsg 24,1," "
- PrntMsg 25,1,"Press any key to continue..."
- DO WHILE INKEY$="" : LOOP
- CLS
- END
-
- SUB CapsOn STATIC
- ' Turn Caps Lock on
- ' Set segment to low memory
- DEF SEG = 0
- ' Set Caps Lock on (turn on bit 6 of &H0417)
- POKE &H0417,PEEK(&H0417) OR &H40
- ' Restore segment
- DEF SEG
- END SUB
-
- SUB CapsOff STATIC
- ' Turn Caps Lock off
- DEF SEG=0
- ' Set Caps Lock off (turn off bit 6 of &H0417)
- POKE &H0417,PEEK(&H0417) AND &HBF
- DEF SEG
- END SUB
-
- SUB PrntMsg (Row%, Col%, Message$) STATIC
- ' Print message at Row%, Col% without changing cursor
- ' Save cursor position
- CurRow%=CSRLIN : CurCol%=POS(0)
- LOCATE Row%,Col% : PRINT Message$;
- ' Restore cursor
- LOCATE CurRow%,CurCol%
- END SUB