<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://research.moraleconomy.au/index.php?action=history&amp;feed=atom&amp;title=Program%3AEditype.bas</id>
	<title>Program:Editype.bas - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://research.moraleconomy.au/index.php?action=history&amp;feed=atom&amp;title=Program%3AEditype.bas"/>
	<link rel="alternate" type="text/html" href="https://research.moraleconomy.au/index.php?title=Program:Editype.bas&amp;action=history"/>
	<updated>2026-04-24T19:45:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://research.moraleconomy.au/index.php?title=Program:Editype.bas&amp;diff=6335&amp;oldid=prev</id>
		<title>Vidak: Created page with &quot;&lt;syntaxhighlight lang=&quot;bbcbasic&quot;&gt; 42 PC=1:LC=1:F=0:PRINT CHR$(14): DIM A$(200):PRINT &quot;{CLEAR}&quot;:POKE 650,128 51 M$=&quot;&quot; 53 PRINT &quot;{CLEAR}   MODE SELECTION&quot;:PRINT:PRINT:PRINT&quot;LP=LOAD AND PRINT&quot;:PRINT 55 PRINT &quot;N=NEW&quot;:PRINT:PRINT&quot;E=EDIT&quot;:PRINT:PRINT&quot;P=PRINT&quot; 58 PRINT:PRINT &quot;S=SAVE&quot;:PRINT:PRINT &quot;L=LOAD&quot;:PRINT:PRINT &quot;C=CONTINUE&quot; 60 PRINT:INPUT &quot;SELECT MODE: &quot;; M$ 61 IF M$=&quot;E&quot; THEN 3010 62 IF M$=&quot;P&quot; THEN 3800 63 IF M$=&quot;N&quot; THEN 100 64 IF M$=&quot;L&quot; THEN 5000 65 IF M$=&quot;S&quot; THEN 6000 66...&quot;</title>
		<link rel="alternate" type="text/html" href="https://research.moraleconomy.au/index.php?title=Program:Editype.bas&amp;diff=6335&amp;oldid=prev"/>
		<updated>2025-07-19T04:42:56Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;bbcbasic&amp;quot;&amp;gt; 42 PC=1:LC=1:F=0:PRINT CHR$(14): DIM A$(200):PRINT &amp;quot;{CLEAR}&amp;quot;:POKE 650,128 51 M$=&amp;quot;&amp;quot; 53 PRINT &amp;quot;{CLEAR}   MODE SELECTION&amp;quot;:PRINT:PRINT:PRINT&amp;quot;LP=LOAD AND PRINT&amp;quot;:PRINT 55 PRINT &amp;quot;N=NEW&amp;quot;:PRINT:PRINT&amp;quot;E=EDIT&amp;quot;:PRINT:PRINT&amp;quot;P=PRINT&amp;quot; 58 PRINT:PRINT &amp;quot;S=SAVE&amp;quot;:PRINT:PRINT &amp;quot;L=LOAD&amp;quot;:PRINT:PRINT &amp;quot;C=CONTINUE&amp;quot; 60 PRINT:INPUT &amp;quot;SELECT MODE: &amp;quot;; M$ 61 IF M$=&amp;quot;E&amp;quot; THEN 3010 62 IF M$=&amp;quot;P&amp;quot; THEN 3800 63 IF M$=&amp;quot;N&amp;quot; THEN 100 64 IF M$=&amp;quot;L&amp;quot; THEN 5000 65 IF M$=&amp;quot;S&amp;quot; THEN 6000 66...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bbcbasic&amp;quot;&amp;gt;&lt;br /&gt;
42 PC=1:LC=1:F=0:PRINT CHR$(14): DIM A$(200):PRINT &amp;quot;{CLEAR}&amp;quot;:POKE 650,128&lt;br /&gt;
51 M$=&amp;quot;&amp;quot;&lt;br /&gt;
53 PRINT &amp;quot;{CLEAR}   MODE SELECTION&amp;quot;:PRINT:PRINT:PRINT&amp;quot;LP=LOAD AND PRINT&amp;quot;:PRINT&lt;br /&gt;
55 PRINT &amp;quot;N=NEW&amp;quot;:PRINT:PRINT&amp;quot;E=EDIT&amp;quot;:PRINT:PRINT&amp;quot;P=PRINT&amp;quot;&lt;br /&gt;
58 PRINT:PRINT &amp;quot;S=SAVE&amp;quot;:PRINT:PRINT &amp;quot;L=LOAD&amp;quot;:PRINT:PRINT &amp;quot;C=CONTINUE&amp;quot;&lt;br /&gt;
60 PRINT:INPUT &amp;quot;SELECT MODE: &amp;quot;; M$&lt;br /&gt;
61 IF M$=&amp;quot;E&amp;quot; THEN 3010&lt;br /&gt;
62 IF M$=&amp;quot;P&amp;quot; THEN 3800&lt;br /&gt;
63 IF M$=&amp;quot;N&amp;quot; THEN 100&lt;br /&gt;
64 IF M$=&amp;quot;L&amp;quot; THEN 5000&lt;br /&gt;
65 IF M$=&amp;quot;S&amp;quot; THEN 6000&lt;br /&gt;
66 IF M$=&amp;quot;LP&amp;quot; THEN 3800&lt;br /&gt;
67 IF M$=&amp;quot;C&amp;quot; THEN FOR B=1 TO K-1:PRINT A$(B):NEXT B PRINT A$(K);:GOTO 120&lt;br /&gt;
68 GOTO 51&lt;br /&gt;
100 FOR A=1 TO 200:A$(A)=&amp;quot;&amp;quot;:NEXT A&lt;br /&gt;
103 INPUT &amp;quot;TYPE FILE NAME&amp;quot;;V$&lt;br /&gt;
105 PRINT &amp;quot;{CLEAR}       NEW MODE&amp;quot;:K=1&lt;br /&gt;
120 POKE 204,0:POKE 207,0:GET C$:IF C$=&amp;quot;&amp;quot; THEN 120:POKE 204:2&lt;br /&gt;
130 IF C$=&amp;quot;{DOWN}&amp;quot; THEN 120&lt;br /&gt;
140 IF C$=&amp;quot;{UP}&amp;quot; THEN 120&lt;br /&gt;
150 IF C$=&amp;quot;{RIGHT}&amp;quot;  THEN 120&lt;br /&gt;
160 IF C$=&amp;quot;{LEFT}&amp;quot;  THEN 120&lt;br /&gt;
170 IF C$=&amp;quot;@&amp;quot; THEN 51&lt;br /&gt;
171 IF C$=&amp;quot;{HOME}&amp;quot; THEN 120&lt;br /&gt;
172 IF C$=&amp;quot;{CLEAR}&amp;quot; THEN 120&lt;br /&gt;
175 IF C$=CHR$(20) AND LEN(A$(K))=0 THEN 120&lt;br /&gt;
180 PRINT C$;    &lt;br /&gt;
190 IF C$=CHR$(13) THEN K=K+1:A$(K)=A$(K)+C$:GOTO 120&lt;br /&gt;
200 IF C$=CHR$(20) THEN A$(K)=LEFT$(A$(K),LEN(A$(K))-1):GOTO 120&lt;br /&gt;
210 A$(K)=A$(K)+C$:C$=&amp;quot;&amp;quot;:IF LEN(A$(K))&amp;lt;22 THEN 120&lt;br /&gt;
220 IF RIGHT$(A$(K),1)=CHR$(32) THEN 240&lt;br /&gt;
221 IF RIGHT$(A$(K),1)=CHR$(160) THEN 240&lt;br /&gt;
230 A$(K+1)=RIGHT$(A$(K),1)+A$(K+1):A$(K)=LEFT$(A$(K),LEN(A$(K))-1):GOTO 220&lt;br /&gt;
240 FOR U=1 TO 22-LEN(A$(K)):PRINT CHR$(20);:NEXT U&lt;br /&gt;
250 IF LEN(A$(K))&amp;lt;11 THEN PRINT,,&lt;br /&gt;
260 IF LEN(A$(K))&amp;gt;10 THEN PRINT,&lt;br /&gt;
264 IF A$(K)=&amp;quot;&amp;quot; THEN A$(K)=&amp;quot; &amp;quot;&lt;br /&gt;
265 IF FRE(O)&amp;lt;600 THEN PRINT &amp;quot;{REV}MEMORY LOW{OFF}&amp;quot;:PRINT&lt;br /&gt;
266 IF FRE(O)&amp;lt;500 THEN 51&lt;br /&gt;
270 K=K=1:PRINT A$(K);:GOTO 120&lt;br /&gt;
280 GOTO 51&lt;br /&gt;
3010 C4$=&amp;quot;&amp;quot;:C5$=&amp;quot;&amp;quot;&lt;br /&gt;
3015 PRINT &amp;quot;{CLEAR}     EDIT MODE&amp;quot;:Q=1&lt;br /&gt;
3025 PRINT:PRINT &amp;quot;F=FORWARD&amp;quot;:PRINT &amp;quot;@=RETURN TO MENU&amp;quot;:PRINT &amp;quot;C=CORRECT&amp;quot;&lt;br /&gt;
3016 PRINT &amp;quot;SELECTION? &amp;quot;&lt;br /&gt;
3030 GET W$:IF W$=&amp;quot;&amp;quot; THEN 3030&lt;br /&gt;
3040 IF W$=&amp;quot;F&amp;quot; THEN PRINT A$(Q):Q=Q+1:IF Q&amp;gt;199 THEN 51:GOTO 3030&lt;br /&gt;
3055 IF W$=&amp;quot;@&amp;quot; THEN 51&lt;br /&gt;
3066 IF W$=&amp;quot;C&amp;quot; THEN 3200&lt;br /&gt;
3061 GOTO 3030&lt;br /&gt;
3200 PRINT &amp;quot;ERROR:&amp;quot;&lt;br /&gt;
3210 FOR A=1 TO 80&lt;br /&gt;
3220     GET J$:IF J$=&amp;quot;&amp;quot; THEN 3220&lt;br /&gt;
3225     IF J$=&amp;quot;{UP}&amp;quot; THEN 3250&lt;br /&gt;
3226     IF J$=CHR$(20) THEN C4$=LEFT$(C4$,LEN(C4$)-1):GOTO 3235&lt;br /&gt;
3230     C4$=C$+J$&lt;br /&gt;
3235     PRINT J$&lt;br /&gt;
3240 NEXT A&lt;br /&gt;
3250 PRINT:PRINT &amp;quot;CORRECTION: &amp;quot;&lt;br /&gt;
3260 FOR A=1 TO 80&lt;br /&gt;
3270     GET J$:IF J$=&amp;quot;&amp;quot; THEN 3270&lt;br /&gt;
3280     IF J$=&amp;quot;{UP}&amp;quot; THEN 3310&lt;br /&gt;
3281     IF J$=CHR$(20) THEN C5$=LEFT$(C5$,LEN(C5$)-1):GOTO 3290&lt;br /&gt;
3285     C5$=C5$+J$&lt;br /&gt;
3290     PRINT J$;&lt;br /&gt;
3300 NEXT A&lt;br /&gt;
3310 PRINT &amp;quot;{CLEAR}   {REV}CORRECTING{OFF}&amp;quot;&lt;br /&gt;
3320 FOR A=1 TO 200&lt;br /&gt;
3325     FOR B=1 TO LEN (A$(A))&lt;br /&gt;
3327         O=LEN(C4$)&lt;br /&gt;
3329         IF MID$(A$(A),B,O)=C4$ THEN OO=LEN(A$(A))-B+1-LEN(C4$)&lt;br /&gt;
3330         IF MID$(A$(A),B,O)=C4$ THEN C6$=RIGHT$(A$(A),OO)&lt;br /&gt;
3340         IF MID$(A$(A),B,O)=C4$ THEN A$(A)=LEFT$(A$(A),B-1):GOTO 3344&lt;br /&gt;
3341         GOTO 3346&lt;br /&gt;
3344         A$(A)=A$(A)+C5$+C6$:C4$=&amp;quot;&amp;quot;:C5$=&amp;quot;&amp;quot;&lt;br /&gt;
3345         PRINT &amp;quot;{CLEAR}&amp;quot;:FOR H=1 TO A:PRINT A$(H):NEXT H:Q=H::GOTO 3025&lt;br /&gt;
3346     NEXT B&lt;br /&gt;
3347 NEXT A&lt;br /&gt;
3348 PRINT &amp;quot;{CLEAR}{RED}{REV}ERROR NOT FOUND{BLU}{OFF}&amp;quot;:PRINT:GOTO 3025&lt;br /&gt;
3350 GOTO 3010&lt;br /&gt;
3800 PRINT:INPUT &amp;quot;NORMAL LINE LENGTH&amp;quot;; LA&lt;br /&gt;
3810 PRINT:INPUT &amp;quot;INSET LINE LENGTH&amp;quot;; LB&lt;br /&gt;
3903 PRINT &amp;quot;SINGLE OR DOUBLE      SPACE? S/D&amp;quot;&lt;br /&gt;
3904 INPUT SD$&lt;br /&gt;
3905 INPUT &amp;quot;LINE NUMBERING #&amp;quot;; SL&lt;br /&gt;
4000 T1$=&amp;quot;&amp;quot;:N=1:LL=LA&lt;br /&gt;
4002 OPEN 4,4&lt;br /&gt;
4003 T$=&amp;quot;&amp;quot;:T2$=&amp;quot;&amp;quot;:P$=&amp;quot;&amp;quot;:LC=1&lt;br /&gt;
4010 PRINT #4:PRINT #4:PRINT #4&lt;br /&gt;
4016 LC=3&lt;br /&gt;
4040 CLOSE 4,4&lt;br /&gt;
4050 IF A$(N)=&amp;quot;&amp;quot; AND M$=&amp;quot;LP&amp;quot; THEN 5002&lt;br /&gt;
4051 IF A$(N)=&amp;quot;&amp;quot; THEN 4600&lt;br /&gt;
4059 T2$=A$(N)&lt;br /&gt;
4060 FOR A=1 TO LL-LEN(P$)&lt;br /&gt;
4061     T2$=&amp;quot;&amp;quot; THEN 4094&lt;br /&gt;
4065     X$=LEFT$(T2$,1):T2$=RIGHT$(T2$,LEN(T2$)-1)&lt;br /&gt;
4075     IF X$=&amp;quot;[&amp;quot; THEN LL=LB:GOTO 4060&lt;br /&gt;
4076     IF X$=&amp;quot;]&amp;quot; THEN FL=1:GOTO 4060&lt;br /&gt;
4080     IF X$=&amp;quot;{UP}&amp;quot; THEN 4200&lt;br /&gt;
4085     IF X$=CHR$(13) THEN 4660&lt;br /&gt;
4090     P$=P$+X$&lt;br /&gt;
4094     IF LEN(T2$)=0 THEN N=N+1:GOTO 4050&lt;br /&gt;
4095 NEXT A&lt;br /&gt;
4100 GOTO 4610&lt;br /&gt;
4200 FOR A=1 TO LA&lt;br /&gt;
4210     X$=LEFT$(T2$,1):T2$=RIGHT$(T2$,LEN(T2$)-1)&lt;br /&gt;
4211     IF LEN(T2$)=0 THEN N=N+1:T2$=A$(N)&lt;br /&gt;
4214     IF A$(N)=&amp;quot;&amp;quot; AND LEN (T2$)=0 THEN P$=X$:GOTO 4660&lt;br /&gt;
4220     IF X$=CHR$(13) THEN 4300&lt;br /&gt;
4230     P$=P$+X$&lt;br /&gt;
4240 NEXT A&lt;br /&gt;
4300 IN=(80-LEN(P$))/2:GOTO 4670&lt;br /&gt;
4620 IF RIGHT$(P$,1)=CHR$(32) THEN 4660&lt;br /&gt;
4622 IF RIGHT$(P$,1)=CHR$(160) THEN 4660&lt;br /&gt;
4630 T1$=RIGHT$(P$,1)+T1$:P$=LEFT$(P$,LEN(P$)-1)&lt;br /&gt;
4640 NEXT A&lt;br /&gt;
4660 IF LEFT$(P$,1)=CHR$(32) THEN P$=RIGHT(P$,LEN(P$)-1)&lt;br /&gt;
4661 IF LEFT$(P$,1)=CHR$(160) THEN P$=RIGHT$(P$,LEN(P$)-1)&lt;br /&gt;
4662 PRINT P$&lt;br /&gt;
4665 IN=(80-LL)/2&lt;br /&gt;
4666 DE$=STR$(SL):IF FL=1 THEN OPEN 4,4&lt;br /&gt;
4667 IF FL=1 THEN PRINT #4,CHR$(17)DE$&amp;quot;.&amp;quot;SPC(IN-LEN(DE$)-1)P$SPC(75-LEN(P$)-IN)DE$&amp;quot;.&amp;quot;&lt;br /&gt;
4668 IF FL=1 THEN CLOSE 4:LC=LC+1:SL=SL+1:P$=&amp;quot;&amp;quot;:FL=0:P$=T1$:T1$=&amp;quot;&amp;quot;:GOTO 4680&lt;br /&gt;
4670 OPEN 4,4:PRINT #4,CHR$(17)SPC(IN)P$:CLOSE 4,4:P$=&amp;quot;&amp;quot;:P$=T1$:T1$=&amp;quot;&amp;quot;:LC=LC+1&lt;br /&gt;
4680 IF SD$=&amp;quot;D&amp;quot; THEN OPEN 4,4:PRINT #4:CLOSE 4:LC=LC+1&lt;br /&gt;
4690 IF LC&amp;gt;60 THEN 7000&lt;br /&gt;
4700 IF X$=CHR$(13) THEN LL=LA&lt;br /&gt;
4701 IF A$(N)=&amp;quot;&amp;quot; AND M$=&amp;quot;LP&amp;quot; THEN P$=P$+X$:GOTO 5002&lt;br /&gt;
4705 IF A$(N) &amp;quot;&amp;quot; THEN 51&lt;br /&gt;
4710 GOTO 4060&lt;br /&gt;
5000 INPUT &amp;quot;TYPE FILE NAME&amp;quot;; V$&lt;br /&gt;
5002 FOR A=1 TO 200:A$(A)=&amp;quot;&amp;quot;:NEXT A&lt;br /&gt;
5005 PRINT &amp;quot;{CLEAR}      LOAD MODE&amp;quot;&lt;br /&gt;
5010 OPEN 1,1,0,V$&lt;br /&gt;
5015 PRINT &amp;quot;FILE OPEN, LOADING.&amp;quot;&lt;br /&gt;
5020 FOR A=1 TO 200&lt;br /&gt;
5025     FOR B=1 TO 22&lt;br /&gt;
5030         GET #1,Z$&lt;br /&gt;
5031         A$(A)=A$(A)+Z$&lt;br /&gt;
5040         IF Z$=&amp;quot;&amp;quot; THEN 5065&lt;br /&gt;
5042     NEXT B&lt;br /&gt;
5050 NEXT A&lt;br /&gt;
5065 CLOSE 1:N=1&lt;br /&gt;
5070 IF M$=&amp;quot;LP&amp;quot; THEN N=1:GOTO 4050&lt;br /&gt;
5080 GOTO 51&lt;br /&gt;
6000 PRINT &amp;quot;{CLEAR}SAVE MODE&amp;quot;&lt;br /&gt;
6010 OPEN 1,1,1,V$&lt;br /&gt;
6030 FOR A=1 TO 200&lt;br /&gt;
6040     PRINT #1,A$(A);&lt;br /&gt;
6050     IF A$(A)=&amp;quot;&amp;quot; THEN 6075&lt;br /&gt;
6060 NEXT A&lt;br /&gt;
6075 CLOSE 1&lt;br /&gt;
6080 GOTO 51&lt;br /&gt;
7000 OPEN 4,4&lt;br /&gt;
7001 FOR M=1 TO 66-LC&lt;br /&gt;
7002     PRINT #4&lt;br /&gt;
7003 NEXT M&lt;br /&gt;
7004 PRINT #4:PC=PC+1&lt;br /&gt;
7005 PRINT #4,CHR$(17)SPC(70)&amp;quot;PAGE &amp;quot;PC&lt;br /&gt;
7006 PRINT #4&lt;br /&gt;
7007 CLOSE 4&lt;br /&gt;
7008 LC=3&lt;br /&gt;
7009 GOTO 4060&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vidak</name></author>
	</entry>
</feed>