!***************************************************************************! ! ! ! Sign Generator ! ! By David F. Pallmann ! ! ! !***************************************************************************! VARIABLES: MAP1 PATTERN(48), S, 49 MAP1 I, F, 6 MAP1 J, F, 6 MAP1 K, F, 6 MAP1 L, F, 6 MAP1 C, S, 1 MAP1 FILE, S, 30 MAP1 LINCNT, F, 6 MAP1 TEXT(10), S, 80 MAP1 OUTLIN(7), S, 200 MAP1 WIDTH, F, 6 LOAD'PATTERNS: FOR I = 1 TO 48 : READ PATTERN(I) : NEXT I GET'OUTPUT'FILE: INPUT LINE "Output to: "; FILE IF INSTR(1,FILE,".")=0 THEN FILE = FILE+".LST" LOOKUP FILE, I IF I<>0 THEN PRINT "%supersedes existing file" OPEN #1, FILE, OUTPUT GET'WIDTH: INPUT LINE "Paper width: "; WIDTH GET'TEXT'LINES: print print "Enter sign text below - end with an empty line" LINCNT = 0 GET'LINE: input line TEXT(LINCNT+1) if TEXT(LINCNT+1)="" then goto MAKE'SIGN LINCNT = LINCNT+1 if LINCNT<10 then goto GET'LINE PRINT MAKE'SIGN: FOR I = 1 TO 2 FOR J = 1 TO WIDTH PRINT #1, "*"; NEXT J PRINT #1 NEXT I PRINT #1, "**"; SPACE(WIDTH-4); "**" PRINT #1, "**"; SPACE(WIDTH-4); "**" FOR I = 1 TO LINCNT CALL PROCESS'LINE NEXT I FOR I = 1 TO 2 FOR J = 1 TO WIDTH PRINT #1, "*"; NEXT J PRINT #1 NEXT I CLOSE #1 END PROCESS'LINE: FOR J = 1 TO 7 : OUTLIN(J) = "" : NEXT J IF TEXT(I)="(BLANK)" THEN GOTO OUTPUT FOR J = 1 TO LEN(TEXT(I)) C = MID(TEXT(I),J,1) K = INSTR(1," ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg0123456789!.:/",C) IF C=0 THEN C = 1 FOR L = 1 TO 7 OUTLIN(L) = OUTLIN(L)+PATTERN(K)[L*7-6;7]+" " NEXT L NEXT J OUTPUT: FOR J = 1 TO 7 K = (WIDTH-4-LEN(OUTLIN(J)))/2 OUTLIN(J) = SPACE(K)+OUTLIN(J)+SPACE(K) IF LEN(OUTLIN(J))+4