Main Menu

KB#00031-Sample programs to load function keys for INPUT, INPUTE, INPUTN verbs

Title:

Sample programs to load function keys for INPUT, INPUTE, INPUTN verbs

Description:

This program loads F1-F10 with CTL values 1-10, respectively, for INPUTE. It also loads the left arrow key with $40$, the editor function to move left one character; the right arrow key with $41$, the editor function to move right one character; the up arrow key with $4D$, the editor function to move to the end of the line of input; and the down arrow key with $4C$, the editor function to move to the beginning of the line of input. 

0010 REM "loads function keys 1-10 with ctl values 1-10, for inpute 
0020 REM "also loads arrow keys for inpute: 
0030 REM "<-- moves left one character 
0040 REM "--> moves right one character 
0050 REM "^ up arrow moves to the end of the line of input 
0060 REM "v down arrow moves to the beginning of the line of input 
0070 PRINT 'FL'+"3"+ 
0070:$0A000181010182020183030184040185050186060187070188080189090190$, 
0080 PRINT 'EL'+"3"+$04000191010192020193030194$, 
0090 LET 
0090:A$=$810182028303840485058606870788088909900A91409241934D944C$+ 
0090:STBL("!EDIT") 
0100 LET B$=STBL("!EDIT",A$) 
0110 INPUTE 5,5,30,"_",X$; PRINT CTL; GOTO 0110 
0120 END 

This program loads F1-F10 with CTL values 1-10, respectively, for INPUTN and INPUTE. It also loads the left arrow key with $40$, the editor function to move left one character; and the right arrow key with $41$, the editor function to move right one character. The up and down arrow keys are loaded with CTL values 1 and 2, respectively. The program also demonstrates the use of these CTL values in the up and down arrows for program flow control. 

0010 REM "loads function keys 1-10 with ctl values 1-10, for input, inpute and 
0010: inputn 
0020 REM "also loads arrow keys for inputn and inpute 
0030 REM "<-- moves left one character (inpute, inputn only, has ctl=64 for 0030:input) 
0040 REM "--> moves right one character (inpute, inputn only, has ctl=65 for 0040:input) 
0050 REM "^ up arrow has ctl value = 1 
0060 REM "v down arrow has ctl value = 2 
0065 REM "!EDIT is for INPUTE and INPUTN; !TERMS is for INPUT 
0070 PRINT 'CS' 
0080 PRINT 'FL'+"3"+ 
0080:$0A000181010182020183030184040185050186060187070188080189090190$, 
0090 PRINT 'EL'+"3"+$02000191010192$, 
0100 LETA$= 
0100:$810182028303840485058606870788088909900A914092411E011F02$ 
0110 LET B$=STBL("!EDIT",A$+STBL("!EDIT")) 
0112 LET C$=STBL("!TERMS", A$+STBL("!TERMS")) 
0115 PRINT "ctl=0 to return; 1 to backup; >=2 to go forward" 
0120 FIRST: 
0130 INPUTE 4,4,30,"_",VAL$;PRINT CTL 
0140 ON CTL GOTO FIRST,FOURTH,SECOND 
0150 SECOND: 
0160 INPUTN 5,5,"##.00","##.00",FLAG$,X1,X; PRINT CTL 
0170 ON CTL GOTO SECOND,FIRST,THIRD 
0180 THIRD: 
0190 INPUTN 6,6,"##.00","##.00",FLAG$,X1,X; PRINT CTL 
0200 ON CTL GOTO THIRD,SECOND,FOURTH 
0210 FOURTH: 
0220 INPUTN 7,7,"##.00","##.00",FLAG$,X1,X; PRINT CTL 
0230 ON CTL GOTO FOURTH,THIRD,FIRST 
0240 FIFTH: 
0250 END 

This program loads F1-F9 with CTL values 1-9, respectively, for INPUT and INPUTE. It also loads the left arrow with CTL=11, the right arrow with CTL=10, the up arrow with CTL=9, and the down arrow with CTL=12. 

0005 PRINT 'CS' 
0010 REM Load F1-F9 with CTL values 1-9 for input and inpute 
0015 REM Load arrows <- with ctl 11, -> with ctl 10, ^ with ctl 9, v with ctl 12 
0020 PRINT 'FL'+"3"+ 
0020:$09000181010182020183030184040185050186060187070188080189$ 
0025 PRINT 'EL'+"3"+$0400018A01018B02018C03018D$, 
0030 LET A$=$8101820283038404850586068707880889098A0B8B0A8C098D0C$ 
0040 LET B$=A$+STBL("!EDIT") 
0050 LET C$=STBL("!EDIT",B$) 
0060 LET D$=A$+STBL("!TERMS") 
0070 LET E$=STBL("!TERMS",D$) 
0080 INPUTE 10,10,10,"_",VAL$; PRINT CTL,"inpute ctl" 
0090 INPUT X$; PRINT CTL,"input ctl"; GOTO 0080 
0100 END 

This program loads F1-F12 with CTL values 1-12, respectively, for INPUT, INPUTE and INPUTN: 

0005 PRINT 'CS' 
0010 REM Load F1-F12 with ctl values 1-12 for input and inpute 
0020 PRINT 'FL'+"3"+ 
0020:$0C000181010182020183030184040185050186060187 
0020:07018808018909018A0A018B0B018C$, 
0030 LET A$=$8101820283038404850586068707880889098A0A8B0B8C0C$ 
0040 LET B$=A$+STBL("!EDIT") 
0050 LET C$=STBL("!EDIT",B$) 
0060 LET D$=A$+STBL("!TERMS") 
0070 LET E$=STBL("!TERMS",D$) 
0080 INPUTE 10,10,10,"_",VAL$; PRINT CTL,"inpute ctl" 
0090 INPUT X$; PRINT CTL,"input ctl"; GOTO 0080 
0100 END 

This program loads F1-F16 with CTL values 1-16, respectively, for INPUT, INPUTE and INPUTN. The program expects a 16 function key keyboard, and all function keys must be defined in termcap, if on a Unix system. 

0010 REM "load function keys 1-16 with ctl values 1-16, for input, inpute and 
0010:inputn 
0020 REM "in termcap, k1=F1,k2=F2,...k0=F10,kA=F11,kB=F12,... 
0030 PRINT 'FL'+"3"+ 
0030:$10000181010182020183030184040185050186060187070188 
0030:0801890901900A01910B01920C01930D01940E01950F0196$, 
0040 LET A$= 
0040:$810182028303840485058606870788088909900A910B920C930D940E 
0040:950F9610$ 
0050 LET B$=STBL("!TERMS",A$+STBL("!TERMS)) 
0055 LET C$=STBL("!EDIT", A$+STBL("!EDIT")) 
0060 INPUT "Value : ",A$; PRINT "Value : ",A$," CTL : ",CTL; GOTO 0060 
0070 END 

This program loads F1-F12 with CTL values 1-12, respectively, for use with the INPUT 
verb. It also loads shift+F1 with CTL=13, shift+F2 with CTL=14, etc., up to shift+F10 
(CTL=22) for INPUT. All of these function keys must be defined in the TERMCAP file, 
if on a Unix system. The program expects a 12 function key keyboard. DOS users 
need the 'ekb' or "expanded keyboard" capability enabled. 

0010 REM "loads function keys 1-12 with ctl values 1-12, for input 
0020 REM "loads shift F1 w/ ctl 13, shift F2 w/ ctl 14,....shift F10 w/ ctl 22, for 
0020:input 
0030 REM "in termcap, k1=F1, k0=F10, kA=F11, kB=F12, kC=shift F1, 
0030:kD=shift F2,...kL=shift F10 
0040 PRINT 'FL'+"3"+ 
0040:$160001810101820201830301840401850501860601870701880801890901900 
0040:A01910B01920C01930D01940E01950F019610019711019812019913019A140 
0040:19B15019C$, 
0050 LET A$= 
0050:$810182028303840485058606870788088909900A910B920C930D940E950F9610 
0050:9711981299139A149B159C16$+STBL("!TERMS") 
0060 LET B$=STBL("!TERMS",A$) 
0070 INPUT "Value : ",A$; PRINT "Value : ",A$," CTL : ",CTL; GOTO 0070 
0080 END 



Last Modified: 12/18/1997 Product: PRO/5 Operating System: All platforms

BASIS structures five components of their technology into the BBx Generations.

View BASIS LinkedIN Profile Visit our Twitter Feed Check out our Facebook Public Profile Click to View the BASIS youTube channel