Appendices
539
.kb$ = input$(1)
while .kb$<>""
if instr(esc$, .kb$) then'Key designated in esc$?
fnbarkey$ = .kb$ 'Then, return the character.
exit def
endif
select .kb$
case chr$(13)
fnbarkey$ = .rt$
exit def
case chr$(8) 'BS key.
if len(.rt$) then
print chr$(8);'Erase one character.
.rt$ = left$(.rt$, len(.rt$)-1)
endif
case chr$(24)'Clear key.
while len(.rt$)'Erase all characters entered.
print chr$(8);
.rt$ = left$(.rt$, len(.rt$)-1)
wend
case else
if len(.rt$)<max% then
'Check if only numeric data should be
'received.
print .kb$; 'Echo back.
.rt$ = .rt$ + .kb$
else
beep 'Exceeded number of characters error.
endif
end select
if .rt$="" then'If input string is empty, go back to
'the initial state.
.kb$ = ""
else
.kb$ = input$(1)'Subsequent key entry.
end if
wend
endif
wend
end def
Komentáře k této Příručce