100 ! DEFPRT
110 ! ESTABLISH PRINTER NAMES
120 !
       ++INCLUDE PRINT1.BSI
130 !
140 MAP1 PIN,S,20       !an input variable
150
160     FILEBASE 1 : SIGNIFICANCE 11
170     PRINT TAB(-1,0);"Define Terminal Names and Locations";TAB(10,1);
180     OPEN #9999,"PRTNAM.DAT",RANDOM,RECSIZ9999,FILE9999
190     READ #9999,PRTNAMES
200     FOR PTR1 = 1 TO 8
210             PRINT TAB(10,1);TAB(-1,10);
220             PRINT "Current name ";:PRINT PTR1 USING "#";:PRINT " is ";
230             IF PRINTER(PTR1) <> "" &
                       PRINT PRINTER(PTR1);" at location ";PRT'LOCAT(PTR1);"." &
               ELSE &
                       PRINT "UNSPECIFIED."
240     PRINT "" : PIN = ""
250     PRINT "ANY CHANGE? (enter NEW NAME (4 char), the word CANCEL to cancel this name,"
260     PRINT "RETURN to keep it the same, or END if finished.)" : PRINT
270     INPUT "Name---->",PIN
280     IF PIN="CANCEL" &
               PRINTER(PTR1)="" : PRT'LOCAT(PTR1)="" :&
               GOTO NXT &
       ELSE IF PIN = "END" OR PIN = "end" &
               PTR1 = 9 : GOTO NXT &
       ELSE IF LEN(PIN) > 1 &
               PRINTER(PTR1) = PIN[1,4] :&
               GOTO PRINT'LOCATION &
       ELSE &
               GOTO NXT
290
300 PRINT'LOCATION:
310     PRINT "Location for ";PRINTER(PTR1);" is currently ";
320     IF PRT'LOCAT(PTR1) <> "" &
               PRINT PRT'LOCAT(PTR1);"." :&
               PRINT "ANY CHANGE? (enter NEW LOCATION or RETURN);" &
       ELSE &
               PRINT "UNSPECIFIED." :&
               PRINT "Enter location";
330 GET'LOCATION:
340     PIN = ""
350     INPUT "---->",PIN
360     IF LEN(PIN) > 1 &
               PRT'LOCAT(PTR1) = PIN[1,20] &
       ELSE IF PRT'LOCAT(PTR1) = "" &
               PRINT CHR$(7);:PRINT:PRINT"MUST HAVE LOCATION...RE-ENTER"; :&
               GOTO GET'LOCATION
370 NXT:
380     NEXT PTR1
390     WRITE #9999,PRTNAMES
400     CLOSE #9999
410 PRINT'SUMMARY:
420     CHAIN "RDPRT"