home *** CD-ROM | disk | FTP | other *** search
- 100 '=========================================================================
- 110 '
- 120 ' SYMGEN.BAS (Program to plot any valid symbol set)
- 130 ' (C) Copyright Golden Software 1987 Version 3.00
- 140 ' Golden Colorado 80401
- 150 '
- 160 '=========================================================================
- 165 PRINT "PLOTCALL Symbol File Demonstration Program Version 3.00"
- 166 PRINT "(C) Copyright Golden Software 1987"
- 167 PRINT
- 168 PRINT
- 170 '
- 180 ' Get filename and convert to uppercase if necessary
- 190 '
- 200 INPUT "Enter the name of the symbol file to plot [.SYM]: ",IN$
- 210 IF IN$="" THEN 200
- 220 SET$=""
- 230 FOR PTR=1 TO LEN(IN$)
- 240 CH=ASC(MID$(IN$,PTR,1))
- 250 IF CH>96 AND CH<123 THEN CH=CH-32
- 260 SET$=SET$+CHR$(CH)
- 270 NEXT PTR
- 280 '
- 290 ' Add default extension if necessary and create plot file name
- 300 '
- 310 IF INSTR(1,SET$,".")=0 THEN SET$=SET$+".SYM"
- 320 P1=INSTR(1,SET$,".")-1
- 330 IF P1>0 THEN OUTFIL$=LEFT$(SET$,P1)+".PLT" ELSE OUTFIL$=SET$+".PLT"
- 340 '
- 350 ' Open plot file, set origin .5" to right and 1.0" up from lower left
- 360 '
- 370 OPEN OUTFIL$ FOR OUTPUT AS #1
- 374 PRINT #1,"RO ";: WRITE #1,90.0 'Rotate plot to fit on 8.5x11
- 378 PRINT #1,"TR ";: WRITE #1,0.0,-11.0
- 380 PRINT #1,"TR ";: WRITE #1,.5!,1!
- 390 '
- 400 ' Plot border box around symbols
- 410 '
- 415 PRINT #1,"MA ";: WRITE #1,0!,0!
- 420 PRINT #1,"PA ";: WRITE #1,7!,0!
- 430 PRINT #1,"PA ";: WRITE #1,7!,9!
- 440 PRINT #1,"PA ";: WRITE #1,0!,9!
- 450 PRINT #1,"PA ";: WRITE #1,0!,0!
- 460 '
- 470 ' Use default set for ASCII codes and title
- 480 '
- 490 PRINT #1,"SS ";: WRITE #1,"DEFAULT"
- 500 PRINT #1,"PS ";: WRITE #1,.6,8!,.125,0!,"CHARACTERS AVAILABLE IN SYMBOL SET "+SET$
- 510 CHAR=31
- 520 '
- 530 ' Loop to plot out ASCII code numbers
- 540 '
- 550 FOR COL=0 TO 5 STEP 1
- 560 FOR ROW=15 TO 0 STEP -1
- 570 CHAR=CHAR+1: IF CHAR>127 THEN 650
- 580 X=1!+COL*.83: Y=.5+ROW*.4
- 590 PRINT #1,"PS ";: WRITE #1,X,Y,.08,0!,RIGHT$(STR$(CHAR),LEN(STR$(CHAR))-1)
- 600 NEXT ROW
- 610 NEXT COL
- 612 IF SET$="CENTERED.SYM" THEN PRINT #1,"PS ";: WRITE #1,2.3,7.3,.15,0,"CENTERED SYMBOLS"
- 614 IF SET$="SET15.SYM" THEN PRINT #1,"PS ";: WRITE #1,2.3,7.3,.15,0, "SPECIAL SYMBOLS"
- 616 IF SET$="SET16.SYM" THEN PRINT #1,"PS ";: WRITE #1,2.3,7.3,.15,0, "SPECIAL SYMBOLS"
- 620 '
- 630 ' Use the requested symbol set from now on. Turn error display off
- 640 '
- 650 PRINT #1,"SS ";: WRITE #1,SET$
- 655 IF SET$="CENTERED.SYM" OR SET$="SET15.SYM" OR SET$="SET16.SYM" THEN 680
- 660 PRINT #1,"PS ";: WRITE #1,1.2,7.5,.15,0!,"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- 670 PRINT #1,"PS ";: WRITE #1,1.2,7.3,.15,0!,"abcdefghijklmnopqrstuvwxyz"
- 680 ASCII=31
- 690 '
- 700 ' Loop for each character in set. If not there a blank is plotted
- 710 ' Note that the double quotes (ASCII 34) can't be printed
- 720 '
- 730 FOR COL=0 TO 5 STEP 1
- 740 FOR ROW=15 TO 0 STEP -1
- 750 ASCII=ASCII+1: IF ASCII>127 THEN 820
- 760 X=1!+COL*.83: Y=.5+ROW*.4
- 770 IF ASCII=34 THEN 800
- 780 IF ASCII<100 THEN X=X+.2 ELSE X=X+.28
- 785 IF SET$="CENTERED.SYM" THEN X=X+.125: Y=Y+.125
- 790 PRINT #1,"PS ";: WRITE #1,X,Y,.25,0!,CHR$(ASCII)
- 800 NEXT ROW
- 810 NEXT COL
- 820 CLOSE
- 825 PRINT OUTFIL$;" has been created"
- 830 END