BASIC Instincts Sample Program

INPUT1.BAS

by Gene Barker

Reprinted from Commodore World Issue #7


100 REM--------------------------------
105 REM COMMODORE WORLD MAGAZINE
110 REM BASIC INSTINCTS W/GENE BARKER
115 REM SCREEN I/O TECHNIQUES PART I
120 REM
125 REM (C)1995 CREATIVE MICRO DESIGNS
130 REM--------------------------------
135 REM-
140 REM INPUT STRING SUB EXAMPLE
145 REM-
150 PRINT"{CRSR DN}* INPUT STRING SUB EXAMPLE"
152 PRINT"{2 SPACES}UPTO 10 CH'S"
154 PRINT"{2 SPACES}({BACK ARROW}) TO ABORT"
156 PRINT"{CRSR DN}{2 SPACES}STRING:";
158 XM=10:GOSUB 10000
160 PRINT
162 IF XS$="" THEN 200
164 PRINT"{CRSR DN}{2 SPACES}YOU ENTERED:"XS$
200 REM-
205 REM INPUT INT STRING SUB EXAMPLE
210 REM-
215 PRINT"{CRSR DN}* INPUT INTEGER STRING SUB EXAMPLE"
220 PRINT"{2 SPACES}UPTO 4 DIGITS"
222 PRINT"{2 SPACES}({BACK ARROW}) TO ABORT"
224 PRINT"{CRSR DN}{2 SPACES}INTEGER:";
226 XM=4:GOSUB 10200
228 PRINT
230 IF XN<0 THEN 300 235 PRINT"{CRSR DN}{2 SPACES}YOU ENTERED:"XN 
300 REM- 
305 REM INPUT RANGED INT SUB EXAMPLE 
310 REM- 
315 PRINT"{CRSR DN}* INPUT RANGED INTEGER SUB EXAMPLE" 
320 PRINT"{2 SPACES}VALID RANGE IS 8 TO 16" 
322 PRINT"{2 SPACES}DEFAULT INTEGER IS 12" 
324 PRINT"{2 SPACES}USE (+,-) TO CHANGE #" 
326 PRINT"{2 SPACES}USE RETURN TO ENTER #" 
328 PRINT"{2 SPACES}({BACK ARROW}) TO ABORT" 
330 PRINT"{CRSR DN}{2 SPACES}INTEGER:"; 
332 XL="8:XH=16:XD=12:GOSUB" 10400 
334 PRINT 
336 IF XN<0 THEN 400 
338 PRINT"{CRSR DN}{2 SPACES}YOU ENTERED:"XN 
400 : 
999 END 
10000 REM------------------------------ 
10005 REM INPUT STRING (SUB) 
10010 REM 
10015 REM GIVEN XM - MAX LENGTH OF STR 
10020 REM RETURNS XS$ - STRING 
10025 REM 
10030 REM NOTE: IF XS$ THEN NO 
10035 REM STRING WAS ENTERED 
10040 REM------------------------------ 
10045 XS$ :XL="0" 
10050 POKE 204,0:REM TURN CURSOR ON 
10055 GET XX$:IF XX$ THEN 10055 
10060 : IF XX$<>"{BACK ARROW}" THEN 10070
10062 :   XS$=""
10064 :   POKE 204,1:REM TURN CURSR OFF
10066 :   RETURN
10070 : IF XX$<>CHR$(13) THEN 10080
10072 :   POKE 204,1
10074 :   RETURN
10080 : IF XX$<>CHR$(20) THEN 10100
10082 :   IF XL=0 THEN 10055
10084 :   PRINT XX$;
10086 :   XL=XL-1
10088 :   XS$=MID$(XS$,1,XL)
10090 :   GOTO 10055
10100 : IF XL=XM THEN 10055
10102 :   IF XX$CHR$(218) THEN 10055
10110 :   PRINT XX$;
10112 :   XL=XL+1
10114 :   XS$=XS$+XX$
10116 :   GOTO 10055
10200 REM------------------------------
10205 REM INPUT INT STRING (SUB)
10210 REM
10215 REM GIVEN XM - MAX NUM OF DIGITS
10220 REM RETURNS XN,XS$ - NUMBER
10225 REM
10230 REM NOTE: IF XN<0 THEN NO NUMBER 
10235 REM WAS ENTERED 
10240 REM------------------------------ 
10245 XS$ :XL="0:XN=-1" 
10250 POKE 204,0:REM TURN CURSOR ON 
10255 GET XX$:IF XX$ THEN 10255 
10260 : IF XX$<>"{BACK ARROW}" THEN 10270
10262 :   POKE 204,1:REM TURN CURSR OFF
10264 :   RETURN
10270 : IF XX$<>CHR$(13) THEN 10280
10272 :   IF XL=0 THEN 10276
10274 :   XN=VAL(XS$)
10276 :   POKE 204,1
10278 :   RETURN
10280 : IF XX$<>CHR$(20) THEN 10300
10282 :   IF XL=0 THEN 10255
10284 :   PRINT XX$;
10286 :   XL=XL-1
10288 :   XS$=MID$(XS$,1,XL)
10290 :   GOTO 10255
10300 : IF XL=XM THEN 10255
10302 :   IF XX$<"0" OR XX$>"9" THEN 10255
10304 :   PRINT XX$;
10306 :   XL=XL+1
10308 :   XS$=XS$+XX$
10310 :   GOTO 10255
10400 REM------------------------------
10405 REM INPUT RANGED INT (SUB)
10410 REM
10415 REM GIVEN
10420 REM
10425 REM XL - LOW INTEGER
10430 REM XH - HIGH INTEGER
10435 REM XD - DEFAULT VAL
10440 REM
10445 REM RETURNS XN,XS$ - NUMBER
10450 REM
10455 REM ALLOWS INPUT OF NUMBER
10460 REM THROUGH THE USE OF THE (+,-)
10465 REM AND RETURN KEYS
10470 REM
10475 REM NOTE: IF XN<0 THEN NO NUMBER 
10480 REM WAS ENTERED 
10485 REM------------------------------ 
10490 XN="-1:XM=LEN(STR$(XH))-1" 
10492 X1$ :X2$ 
10494 FOR XI="1" TO XM 
10496 : X1$='X1$+"0"' 
10498 : X2$="X2$+CHR$(157)" 
10500 NEXT 
10502 XS$="RIGHT$(X1$+MID$(STR$(XD),2),XM)" 
10504 PRINT XS$;X2$; 
10506 GET XX$: IF XX$ THEN 10506 
10508 : IF XX$<>"{BACK ARROW}" THEN 10520
10510 :   RETURN
10520 : IF XX$<>CHR$(13) THEN 10530
10522 :   XN=VAL(XS$)
10524 :   RETURN
10530 : IF XX$<>"+" THEN 10540
10532 :   IF VAL(XS$)=XH THEN XD=XL-1
10534 :   XD=XD+1
10536 :   GOTO 10502
10540 : IF XX$<>"-" THEN 10506
10542 :   IF VAL(XS$)=XL THEN XD=XH+1
10544 :   XD=XD-1
10546 :   GOTO 10502

Return to BASIC Instincts


[Sample Issue] [CMDRKEY.com Home]


Copyright © 2002 Click Here Software Co.
Comments and questions regarding this site
should be directed to support@cmdrkey.com