22 Min.

How to write a text input routine in Commodore BASIC Jay's Commodore Podcast

    • Technologie

In this screencast I’ll show you how to write your own INPUT routine in Commodore BASIC. This comes in handy when you want to reject certain keys from being used when asking users for keyboard input. In my example I’m going to allow all alpha characters (A-Z), as well as SPACE, RETURN and the DELETE key.

Here’s the code:

.gist table { margin-bottom: 0; }



























This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

Learn more about bidirectional Unicode characters



Show hidden characters



























5 print







10 w$=""







20 print "(greater than)_";







30 get a$:if a$="" then 30







40 a=asc(a$)







50 if a=13 then 200:rem return







60 if a=32 then 110:rem space







70 if a=20 then 300:rem backspace







100 if a90 then 30







110 print chr$(20);a$;"D";







115 w$=w$+a$







120 goto 30







200 rem handle return







210 print chr$(20)







215 if w$="" then print:print"you typed







nothing!":end







220 print:print"you typed:":print w$







230 end







300 rem handle backspace







305 if len(w$)=0 then 30







310 print chr$(20);chr$(20);"D";







320 w$=left$(w$,len(w$)-1)







330 goto 30













view raw



input.bas



hosted with ❤ by GitHub

In this screencast I’ll show you how to write your own INPUT routine in Commodore BASIC. This comes in handy when you want to reject certain keys from being used when asking users for keyboard input. In my example I’m going to allow all alpha characters (A-Z), as well as SPACE, RETURN and the DELETE key.

Here’s the code:

.gist table { margin-bottom: 0; }



























This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

Learn more about bidirectional Unicode characters



Show hidden characters



























5 print







10 w$=""







20 print "(greater than)_";







30 get a$:if a$="" then 30







40 a=asc(a$)







50 if a=13 then 200:rem return







60 if a=32 then 110:rem space







70 if a=20 then 300:rem backspace







100 if a90 then 30







110 print chr$(20);a$;"D";







115 w$=w$+a$







120 goto 30







200 rem handle return







210 print chr$(20)







215 if w$="" then print:print"you typed







nothing!":end







220 print:print"you typed:":print w$







230 end







300 rem handle backspace







305 if len(w$)=0 then 30







310 print chr$(20);chr$(20);"D";







320 w$=left$(w$,len(w$)-1)







330 goto 30













view raw



input.bas



hosted with ❤ by GitHub

22 Min.

Top‑Podcasts in Technologie

Passwort - der Podcast von heise security
Dr. Christopher Kunz, Sylvester Tremmel
13 Minutes to the Moon
BBC World Service
Acquired
Ben Gilbert and David Rosenthal
Lex Fridman Podcast
Lex Fridman
Bits und so
Undsoversum GmbH
c’t uplink - der IT-Podcast aus Nerdistan
c’t Magazin