10 REM ******************************›20 REM * PRINT USING DEMO *›30 REM * *›40 REM * BY TOM HUDSON *›50 REM * *›60 REM * A.N.A.L.O.G. COMPUTING #16 *›70 REM ******************************›80 DIM P$(20),O$(20),F$(20)›90 ? :? "ENTER EDITING PATTERN";:INPUT P$›100 ? :? "ENTER VALUE TO EDIT";:INPUT O$›110 GOSUB 10000›120 ? :? "EDITED VALUE = ";F$›130 GOTO 90›10000 REM **************************›10010 REM * PRINT USING SUBROUTINE *›10020 REM **************************›10030 LP=LEN(P$):LO=LEN(O$):F$(1)=" ":F$(20)=" ":F$(2)=F$:F$=""›10040 FOR X=1 TO LP:IF P$(X,X)="." THEN PD=X:GOTO 10060›10050 NEXT X:PD=0›10060 FOR X=1 TO LO:IF O$(X,X)="." THEN OD=X:GOTO 10080›10070 NEXT X:OD=0›10080 IF PD THEN PWX=PD-1:PDX=PD+1:GOTO 10100›10090 PWX=LP:PDX=0›10100 IF OD THEN OWX=OD-1:ODX=OD+1:GOTO 10120›10110 OWX=LO:ODX=0›10120 IF NOT PD THEN 10220›10130 F$(PD,PD)="."›10140 IF NOT OD THEN 10190:REM ***ZERO FILL***›10150 IF ODX>LO THEN 10190›10160 IF PDX>LP THEN 10220›10170 IF P$(PDX,PDX)<>"#" THEN F$(PDX,PDX)=P$(PDX,PDX):PDX=PDX+1:GOTO 10160›10180 F$(PDX,PDX)=O$(ODX,ODX):ODX=ODX+1:PDX=PDX+1:GOTO 10150›10190 IF PDX>LP THEN 10220›10200 IF P$(PDX,PDX)<>"#" THEN F$(PDX,PDX)=P$(PDX,PDX):PDX=PDX+1:GOTO 10190›10210 F$(PDX,PDX)="0":PDX=PDX+1:GOTO 10190›10220 IF NOT OWX THEN RETURN ›10230 IF NOT PWX THEN FOR X=1 TO LP:F$(X,X)="*":NEXT X:RETURN ›10240 IF P$(PWX,PWX)<>"#" THEN F$(PWX,PWX)=P$(PWX,PWX):PWX=PWX-1:GOTO 10230›10250 F$(PWX,PWX)=O$(OWX,OWX):OWX=OWX-1:PWX=PWX-1:GOTO 10220›