10 PRINT CHR$(27)+"[2J"+CHR$(27)+"[;H" 30 PV$="BW Text Edit 1.2" 40 HR$="==========" 50 HC$=" 5 10 15 20 25 30 35 40 45 50 55 60" 60 HT$=" ----.----.----.----.----.----.----.----.----.----.----.----." 70 DIM DC$(250) 80 LT=0 110 PRINT PV$ 120 PRINT "? for help." 140 REM [MAIN] 150 PRINT HR$ 160 CM$="" 170 INPUT "Command";CM$ 180 IF CM$="a" THEN GOTO 310 190 IF CM$="i" THEN GOTO 420 200 IF CM$="x" THEN GOTO 590 210 IF CM$="e" THEN GOTO 730 220 IF CM$="c" THEN GOTO 890 230 IF CM$="r" THEN GOTO 1140 240 IF CM$="p" THEN GOTO 1290 250 IF CM$="l" THEN GOTO 1470 260 IF CM$="s" THEN GOTO 1590 270 IF CM$="?" THEN GOTO 1720 280 IF CM$="q" THEN GOTO 1870 290 GOTO 140 310 REM [APPEND] 320 PRINT "[Append]" 330 LT=LT+1 340 PRINT "Adding line #";LT 350 IF LT>1 THEN PRINT LT-1;DC$(LT-1) 360 PRINT HT$ 370 LI$="" 380 INPUT LI$ 390 DC$(LT)=LI$ 400 GOTO 140 420 REM [INSERT] 430 PRINT "[Insert]" 440 CN=0 450 INPUT "Insert before line # (0=cancel)";CN 460 CN=INT(CN) 470 IF CN<1 THEN GOTO 140 480 IF CN>LT THEN PRINT "Last line is";LT:GOTO 140 490 PRINT HT$ 500 LI$="" 510 INPUT LI$ 520 FOR N=LT TO CN STEP -1 530 DC$(N+1)=DC$(N) 540 NEXT N 550 DC$(CN)=LI$ 560 LT=LT+1 570 GOTO 140 590 REM [REMOVE] 600 PRINT "[Remove]" 610 CN=0 620 INPUT "Remove line # (0=cancel)";CN 630 CN=INT(CN) 640 IF CN<1 THEN GOTO 140 650 IF CN>LT THEN PRINT "!) Last line is";LT:GOTO 140 660 FOR N=CN TO LT-1 670 DC$(N)=DC$(N+1) 680 NEXT N 690 DC$(LT)="" 700 LT=LT-1 710 GOTO 140 730 REM [EDIT] 740 PRINT "[Edit Line]" 750 CN=0 760 INPUT "Edit line # (0=cancel)";CN 770 CN=INT(CN) 780 IF CN<1 THEN GOTO 140 790 IF CN>LT THEN PRINT "!) Last line is";LT:GOTO 140 800 PRINT HR$ 810 PRINT CN;DC$(CN) 820 PRINT HT$ 830 LI$="" 840 INPUT LI$ 850 IF LI$="" THEN PRINT "Canceled.":GOTO 140 860 DC$(CN)=LI$ 870 GOTO 140 890 REM [CHARACTER] 900 PRINT "[Edit char]" 910 CN=0 920 INPUT "Edit char in line # (0=cancel)";CN 930 CN=INT(CN) 940 IF CN<1 THEN GOTO 140 950 IF CN>LT THEN PRINT "!) Last line is";LT:GOTO 140 960 PRINT HC$ 970 PRINT HT$ 980 PRINT " ";DC$(CN) 990 PRINT 1000 CA=0 1010 INPUT "Replace char # (0=cancel)";CA 1020 CA=INT(CA) 1030 I=LEN(DC$(CN)) 1040 IF CA<1 THEN GOTO 140 1050 IF CA>I THEN PRINT "!) Last char is";I:GOTO 140 1060 CR$=MID$(DC$(CN),CA,1) 1070 PRINT "Replace ";CR$;" with"; 1080 LI$="": INPUT LI$ 1090 IF LI$<>"" THEN CR$=LI$ 1100 DC$(CN)=LEFT$(DC$(CN),CA-1)+LEFT$(CR$,1)+RIGHT$(DC$(CN),I-CA) 1110 PRINT DC$(CN) 1120 GOTO 140 1140 REM [REVIEW] 1150 PRINT "[Review]" 1160 IF LT=0 THEN PRINT "!) No lines yet.":GOTO 140 1170 PRINT LT;" lines total:" 1180 PRINT " ";HT$ 1190 I=0 1200 FOR N=1 to LT 1210 PRINT STR$(N);" ";DC$(N) 1220 I=I+1 1230 IF I=20 THEN I=0:INPUT "Continue (Y/n/c)";CM$ 1240 IF CM$="n" THEN GOTO 140 1250 IF CM$="c" THEN I=21 1260 NEXT N 1270 GOTO 140 1290 REM [PARSE] 1300 PRINT "[Parse and Read]" 1310 IF LT=0 THEN PRINT "!) No lines yet.":GOTO 140 1320 PRINT HR$ 1330 PD=0 1340 FOR N=1 to LT 1350 FOR N2=1 to LEN(DC$(N)) 1360 PR$=MID$(DC$(N),N2,1) 1370 IF PR$="\" AND PD=0 THEN PD=1:PR$="" 1380 IF PR$="\" AND PD=1 THEN PR$="":PD=0:PRINT ","; 1390 IF PR$<>"\" AND PD=0 THEN PD=0:PRINT PR$; 1410 NEXT N2 1420 PRINT 1430 NEXT N 1450 GOTO 140 1470 REM [LOAD] 1480 PRINT "[LOAD]" 1490 PRINT "Type, paste, or PLAY lines. Enter \. on a line to end" 1500 PRINT HT$ 1510 REM [LOADPOINT] 1520 LI$="" 1530 INPUT LI$ 1540 IF LI$="\." THEN GOTO 140 1550 LT=LT+1 1560 DC$(LT)=LI$ 1570 GOTO 1510 1590 REM [SAVE] 1600 PRINT "[SAVE]" 1610 IF LT=0 THEN PRINT "!) No lines yet.":GOTO 140 1620 CM$="" 1630 PRINT "RECORD and then ENTER to list." 1640 PRINT "When done, ENTER after stopping tape." 1650 INPUT CM$ 1660 FOR N=1 to LT 1670 PRINT DC$(N) 1680 NEXT N 1690 INPUT CM$ 1700 GOTO 140 1720 REM [HELP] 1730 PRINT HR$ 1740 PRINT PV$ 1750 PRINT 1780 PRINT " Line Cnt:";LT 1790 PRINT 1800 PRINT "a) append i) insert line x) remove line" 1810 PRINT "e) edit line c) edit char 1820 PRINT "r) review p) parse and read" 1830 PRINT "l) load lines s) save q) quit" 1840 PRINT 1850 GOTO 140 1870 REM [QUIT] 1880 CM$="" 1890 INPUT "Quit (y/N)";CM$ 1900 IF CM$="y" THEN END 1910 GOTO 140