Specifications

172 Chapter 14
Using Printer
Sample Program
520 ! Printer Selection Function
530 !=============================================
540 SUB Printer_select(@Agt4287a)
550 DIM Info$[500],Prin_info$(0:20)[50],Printer$(1:20)[50],
Set_pr$[50]
560 INTEGER Info_len,Loc,N,Prin_no(1:20)
570 !
580 OUTPUT @Agt4287a;":HCOP:PRIN?"
590 ENTER @Agt4287a USING "-K";Info$
600 Info_len=LEN(Info$)
610 Loc=2
620 N=0
630 FOR I=2 TO Info_len-1
640 IF Info$[I;1]=CHR$(10) THEN
650 Prin_info$(N)=Info$[Loc,I-1]
660 Loc=I+1
670 N=N+1
680 END IF
690 NEXT I
700 !
710 Printers=IVAL(Prin_info$(0),10)
720 FOR I=1 TO Printers
730 IF Prin_info$(I)[1;1]="," THEN
740 Prin_info$(I)=Prin_info$(I)[2,Info_len]
750 END IF
760 Info_len=LEN(Prin_info$(I))
770 FOR J=1 TO Info_len
780 IF Prin_info$(I)[J;1]="," THEN
790 Printer$(I)=Prin_info$(I)[J+1,Info_len]
800 Prin_no(I)=IVAL(Prin_info$(I)[1,J-1],10)
810 J=Info_len
820 END IF
830 NEXT J
840 NEXT I
850 !
860 ON ERROR GOTO Printer_select
870 Printer_select: !
880 PRINT "Select Printer"
890 FOR I=1 TO Printers
900 PRINT USING "2D,2A,40A";Prin_no(I),": ",Printer$(I)
910 NEXT I
920 PRINT ""
930 PRINT "Input 1 to "&VAL$(Prin_no(Printers))
940 INPUT "Printer No?",Inp_char$
950 Select_pr=IVAL(Inp_char$,10)
960 IF Select_pr<1 OR Select_pr>MAX(Prin_no(*)) THEN Printer_select
970 OFF ERROR
980 !
990 OUTPUT @Agt4287a;":HCOP:DPR ";Select_pr
1000 OUTPUT @Agt4287a;":HCOP:DPR?"
1010 ENTER @Agt4287a;Set_pr$
1020 PRINT "Current Printer Selection: "&Set_pr$
1030 SUBEND