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!
Entry name:
Line Range Manipulator Utility
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
|
-
Entry name:Line Range Manipulator Utility
-
Category:Programming utilities
-
Publisher/Developer:BELLCOM - Public Domain Library
Listing 1
30000REM-->LINERANGEMANIPULATORUTILITY<-- 30005D=200:DIMA(D),B(D),A$(1),L$(25),ER$(5) 30010TRAP30580:?"":?"LINERANGEMANIPULATIONUTILITY":?:?:?L$:?:L$="" 30015?"SELECTELETE,OVE,OPY,":?"OUNT,ORND":?:?"SELECT";:INPUTA$ 30020IFA$="D"THEN30100 30025IFA$="M"THEN30200 30030IFA$="C"THEN30300 30035IFA$="K"THEN30400 30040IFA$="E"THEN30060 30045L$(1,1)="'":L$(2,2)=A$:L$(3,25)="'UNKNOWN.REENTER.":GOTO30010 30060STOP 30070GOTO30010 30090?CHR$(125):?:RETURN 30091?:?:?"CONT":?"CONT":POSITION0,0:POKE842,13:STOP 30092POKE842,12:?CHR$(125):?:RETURN 30095ADDR=ADDR+PEEK(ADDR+2):LNUM=PEEK(ADDR)+PEEK(ADDR+1)*256:RETURN 30100REM 30105?:?"DELETE";:GOSUB30500:IFC=0THEN30150 30110X1=INT(C/15):X2=C-(X1*15):IFX1=0THEN30120 30115FORY1=0TO(X1-1):GOSUB30090:FORY2=1TO15:?A(Y1*15+Y2):NEXTY2:GOSUB30091:NEXTY1 30120IFX2=0THEN30130 30125GOSUB30090:FORY1=1TOX2:PRINTA(X1*15+Y1):NEXTY1:GOSUB30091 30150L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESDELETED.":GOTO30010 30200REM 30205?:?"MOVE";:GOSUB30500:IFC=0THENL$="NULLRANGESPECIFIED.":GOTO30010 30210?:?"MOVETO";:GOSUB30550 30215FORX1=1TOC:GOSUB30090:LISTA(X1):POSITION2,3:L1=LEN(STR$(A(X1))):L2=LEN(STR$(B(X1))) 30220FORY1=1TOL1:PRINT"";:NEXTY1:IFL2<=L1THEN30230 30225FORY1=1TO(L2-L1):?"";:NEXTY1 30230POSITION2,3:?B(X1):?:?:?A(X1):GOSUB30091:NEXTX1 30250L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESMOVED.":GOTO30010 30300REM 30305?:?"COPY";:GOSUB30500:IFC=0THENL$="NULLRANGESPECIFIED.":GOTO30010 30310?:?"COPYTO";:GOSUB30550 30315FORX1=1TOC:GOSUB30090:LISTA(X1):POSITION2,3:L1=LEN(STR$(A(X1))):L2=LEN(STR$(B(X1))) 30320FORY1=1TOL1:?"";:NEXTY1:IFL2<=L1THEN30330 30325FORY1=1TO(L2-L1):?"";:NEXTY1 30330POSITION2,3:?B(X1);"":GOSUB30091:NEXTX1 30350L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESCOPIED.":GOTO30010 30400REM 30405?"COUNTRANGE(FROM,TO)";:INPUTL1,L2:IFL2>32767THENL2=32767 30410IFL2<L1THEN?"BADRANGE.REENTER.":GOTO30405 30415ADDR=PEEK(136)+PEEK(137)*256:LNUM=PEEK(ADDR)+PEEK(ADDR+1)*256:C=0 30420IFL1>LNUMTHENGOSUB30095:GOTO30420 30425IFL2>LNUMTHENC=C+1:GOSUB30095:GOTO30425 30490L$(1,LEN(STR$(C)))=STR$(C):L$((LEN(L$)+1),25)="LINESCOUNTED.":GOTO30010 30500?"RANGE(FROM,TO)";:INPUTL1,L2:IFL2>32767THENL2=32767 30505IFL2<L1THEN?"BADRANGE.REENTER.":GOTO30500 30510ADDR=PEEK(136)+PEEK(137)*256:LNUM=PEEK(ADDR)+PEEK(ADDR+1)*256:C=0 30515IFL1>LNUMTHENGOSUB30095:GOTO30515 30520IFL2<LNUMTHENRETURN 30525IFC<DTHENC=C+1:A(C)=LNUM:GOSUB30095:GOTO30520 30530L$="RANGETOOLARGEFORDIM.":POP:GOTO30010 30550?"RANGE(LINE#,INCRE)";:INPUTL1,L2 30555FORX1=1TOC:B(X1)=L1+(X1-1)*L2:IFB(X1)<32768THENNEXTX1:RETURN 30560?"BADLINENUMBERINRANGE.REENTER.":GOTO30550 30580ER$=STR$(PEEK(195)):?"ERRORNUMBER";ER$:POP:GOTO30060
References
Listing downloads
Copyright holder
