22 min

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

    • Tecnología

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 en Tecnología

Deep Questions with Cal Newport
Cal Newport
Applelianos
Applelianos
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Loop Infinito (by Applesfera)
Applesfera
The Vergecast
The Verge
Programa tu mente
Daniel Cubillos