Random book
Random game
Entry name:
 Line Range Manipulator Utility 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
Line Range Manipulator Utility
Listing 1
30000REM-->LINERANGEMANIPULATORUTILITY<--
30005D=200:DIMA(D),B(D),A$(1),L$(25),ER$(5)
30010TRAP30580:?"":?"LINERANGEMANIPULATIONUTILITY":?:?:?L$:?:L$=""
30015?"SELECTELETE,OVE,OPY,":?"OUNT,ORND":?:?"SELECT";:INPUTA$
30020IFA$="D"THEN30100
30025IFA$="M"THEN30200
30030IFA$="C"THEN30300
30035IFA$="K"THEN30400
30040IFA$="E"THEN30060
30045L$(1,1)="'":L$(2,2)=A$:L$(3,25)="'UNKNOWN.REENTER.":GOTO30010
30060STOP
30070GOTO30010
30090?CHR$(125):?:RETURN
30091?:?:?"CONT":?"CONT":POSITION0,0:POKE842,13:STOP
30092POKE842,12:?CHR$(125):?:RETURN
30095ADDR=ADDR+PEEK(ADDR+2):LNUM=PEEK(ADDR)+PEEK(ADDR+1)*256:RETURN
30100REM
30105?:?"DELETE";:GOSUB30500:IFC=0THEN30150
30110X1=INT(C/15):X2=C-(X1*15):IFX1=0THEN30120
30115FORY1=0TO(X1-1):GOSUB30090:FORY2=1TO15:?A(Y1*15+Y2):NEXTY2:GOSUB30091:NEXTY1
30120IFX2=0THEN30130
30125GOSUB30090:FORY1=1TOX2:PRINTA(X1*15+Y1):NEXTY1:GOSUB30091
30150L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESDELETED.":GOTO30010
30200REM
30205?:?"MOVE";:GOSUB30500:IFC=0THENL$="NULLRANGESPECIFIED.":GOTO30010
30210?:?"MOVETO";:GOSUB30550
30215FORX1=1TOC:GOSUB30090:LISTA(X1):POSITION2,3:L1=LEN(STR$(A(X1))):L2=LEN(STR$(B(X1)))
30220FORY1=1TOL1:PRINT"";:NEXTY1:IFL2<=L1THEN30230
30225FORY1=1TO(L2-L1):?"";:NEXTY1
30230POSITION2,3:?B(X1):?:?:?A(X1):GOSUB30091:NEXTX1
30250L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESMOVED.":GOTO30010
30300REM
30305?:?"COPY";:GOSUB30500:IFC=0THENL$="NULLRANGESPECIFIED.":GOTO30010
30310?:?"COPYTO";:GOSUB30550
30315FORX1=1TOC:GOSUB30090:LISTA(X1):POSITION2,3:L1=LEN(STR$(A(X1))):L2=LEN(STR$(B(X1)))
30320FORY1=1TOL1:?"";:NEXTY1:IFL2<=L1THEN30330
30325FORY1=1TO(L2-L1):?"";:NEXTY1
30330POSITION2,3:?B(X1);"":GOSUB30091:NEXTX1
30350L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESCOPIED.":GOTO30010
30400REM
30405?"COUNTRANGE(FROM,TO)";:INPUTL1,L2:IFL2>32767THENL2=32767
30410IFL2<L1THEN?"BADRANGE.REENTER.":GOTO30405
30415ADDR=PEEK(136)+PEEK(137)*256:LNUM=PEEK(ADDR)+PEEK(ADDR+1)*256:C=0
30420IFL1>LNUMTHENGOSUB30095:GOTO30420
30425IFL2>LNUMTHENC=C+1:GOSUB30095:GOTO30425
30490L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESCOUNTED.":GOTO30010
30500?"RANGE(FROM,TO)";:INPUTL1,L2:IFL2>32767THENL2=32767
30505IFL2<L1THEN?"BADRANGE.REENTER.":GOTO30500
30510ADDR=PEEK(136)+PEEK(137)*256:LNUM=PEEK(ADDR)+PEEK(ADDR+1)*256:C=0
30515IFL1>LNUMTHENGOSUB30095:GOTO30515
30520IFL2<LNUMTHENRETURN
30525IFC<DTHENC=C+1:A(C)=LNUM:GOSUB30095:GOTO30520
30530L$="RANGETOOLARGEFORDIM.":POP:GOTO30010
30550?"RANGE(LINE#,INCRE)";:INPUTL1,L2
30555FORX1=1TOC:B(X1)=L1+(X1-1)*L2:IFB(X1)<32768THENNEXTX1:RETURN
30560?"BADLINENUMBERINRANGE.REENTER.":GOTO30550
30580ER$=STR$(PEEK(195)):?"ERRORNUMBER";ER$:POP:GOTO30060	

This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page, please contact me immediatelly so I can remove it!