DW> -> IF NOT LEN(k$) THEN GOTO Again
DW> IF LEN(k$) = 0 THEN GOTO Again
DW> or
DW> IF k$ = "" THEN GOTO Again
A DO loop would be more to the point.
DO: k$ = inkey$: LOOP UNTIL k$ > ""
If you wanted specific input:
DO
k% = INSTR(" ABCDEFG", UCASE$(INKEY$)) - 1
LOOP UNTIL k% > 0
SELECT CASE k%
CASE 1: PRINT "A"
CASE 2: PRINT "B"
CASE 3: PRINT "C"
CASE 4: PRINT "D"
CASE 5: PRINT "E"
CASE 6: PRINT "F"
CASE 7: PRINT "G"
END SELECT
And if you wanted definable filtered input...
FUNCTION GetAKey$ (filter$, CaseSensitive%)
IF CaseSensitive% = 0 THEN filter$ = UCASE$(filter$)
DO
k$ = INKEY$: IF CaseSensitive% = 0 THEN k$ = UCASE$(k$)
IF INSTR(CHR$(0) + filter$, k$)) > 1 THEN EXIT DO
LOOP
GetAKey$ = k$
END FUNCTION
> ] When you go, go as Mr. Underhill...[ Gandalf the Gray ].....
---
---------------
* Origin: *YOPS ]I[* 8.4 GIG * RA/FD/FE * Milwaukee, WI (1:154/750)
|