1 CLS:DIM A$(669),B$(2),C$(669):A$=SPACE$(78):B$=COMMAND$:C$=REPEAT$(42,"."):B$(1)=" berschreiben ":B$(0)=" einfgen ":B$(2)=" Linienmodus ":F$="*":K=1:G=1:WIDTH"lpt1:",255:ON ERROR GOTO 41 2 PRINT" Spalte: 1 Zeile: 1 Seite: 1 ͻ";:FOR I=0 TO 16:PRINT""A$"";:NEXT:PRINT""REPEAT$(78,"")""" Dateiname: "C$" Fehler: "MID$(C$,29):PRINT:COLOR 8 3 PRINT" Zeilen koppeln Textende lschen Druckformat Text ausdrucken Linienmodus Funktion fortsetzen, wiederholen Datei speichern" 4 PRINT" Datei einladen Dateiliste Datei lschen Datei einsetzen";:COLOR 14:LOCATE 8,29:PRINT"> T E X T M A S T E R <":COLOR 11 5 LOCATE 10,26:PRINT"(C)opyright C.E.Software 1993":COLOR 3:LOCATE 12,24:PRINT"Programmiert von Carsten Engelmann":COLOR 7:I=0:IF B$>"" THEN E=64:B=79:GOTO 25 6 Z$=INKEY$:IF Z$<>" " GOTO 6 7 FOR I=I TO 669:A$(I)=A$:NEXT:GOSUB 57 8 LOCATE 2,1:FOR I=0 TO 16:PRINT""A$(I):NEXT:B=1:C=0:D=2:F=0 9 LOCATE 1,24:PRINT B"";:LOCATE,43:PRINT C+1"";:LOCATE,63:PRINT INT(C/67)+1"":LOCATE D,B+1,1,K*6,7 10 Z$=INKEY$:ON-(Z$="")GOTO 10:LOCATE,,0:E=ASC(Z$):ON-(E=0)GOTO 17:IF E=8 AND C+B>1 THEN G=0:GOTO 22 ELSE ON-(E=13)GOTO 58:IF E=9 THEN B=B+8:ON-(B<79)GOTO 9:B=B-78:GOTO 16 ELSE ON-(E<32 OR E>254 OR Q=1)GOTO 9:IF E=32 THEN Z$="" 12 D$=MID$(A$(C),78):IF K=0 AND D$>" " THEN ON-(C=669)GOTO 9:E=C+1:IF MID$(A$(E),78)>" " THEN ON-(A$(669)>A$)GOTO 9:ARRAY INSERT A$(E),D$+MID$(A$,2):ARRAY INSERT C$(E) ELSE A$(E)=D$+MID$(A$(E),1,77) 13 A$(C)=LEFT$(A$(C),B-1)+Z$+MID$(A$(C),B+K,78-B):LOCATE,2:PRINT A$(C):ON Q GOSUB 63:ON-(C+B=747) GOTO 9 14 IF B<78 THEN B=B+1:GOTO 47 15 B=1 16 ON-(C=669)GOTO 9:C=C+1:IF D=18 THEN F=F+1:GOTO 47 ELSE D=D+1:GOTO 47 17 E=ASC(MID$(Z$,2)):IF E=83 THEN G=0:GOTO 24 ELSE ON-(E=59 AND C<669)GOTO 60:IF E=60 THEN FOR I=C TO 669:A$(I)=A$:C$(I)="":NEXT:GOTO 47 ELSE IF E=73 THEN IF F>16 THEN F=F-17:C=C-17:GOTO 47 ELSE F=0:C=D-2:GOTO 47 18 IF E=81 THEN IF F<637 THEN F=F+17:C=C+17:GOTO 47 ELSE F=653:C=651+D:GOTO 47 19 IF E=79 THEN B=LEN(RTRIM$(A$(C))):ON-(B=78)GOTO 9:B=B+1 ELSE IF E=71 THEN B=1 ELSE ON-(E=119)GOTO 8:ON-(E=117)GOTO 45:ON-(E>60 AND E<68)GOTO 25:IF E=45 THEN CLS:END 20 IF E=31 THEN Q=1-Q:LOCATE 19,33:K=1:PRINT B$(K+Q):GOTO 9 ELSE IF E=82 THEN ON Q GOTO 9:K=1-K:GOSUB 57 ELSE ON Q GOTO 65:ON-(E=77)GOTO 14:ON-(E=75)GOTO 22:ON-(E=72)GOTO 23:ON-(E=80)GOTO 16 21 GOTO 9 22 IF B>1 THEN B=B-1:GOTO 24 ELSE B=78 23 IF C>0 THEN C=C-1:IF D=2 THEN F=F-1:GOTO 47 ELSE D=D-1 24 ON G GOTO 9:LOCATE D,2:A$(C)=LEFT$(A$(C),B-1)+MID$(A$(C),B+1)+" ":PRINT A$(C):G=1:GOTO 9 25 LOCATE 2,1:FOR I=0 TO 16:PRINT""A$:NEXT:LOCATE,33:ON E-60 GOTO 35,36,29,27,30,28:PRINT" einsetzen ":GOSUB 55:IF H+1668 THEN ERROR 7 26 LOCATE 10,3:PRINT"Datei wird ab Zeile"C+1"eingesetzt!":FOR I=C TO C+I:LINE INPUT#1,D$:ARRAY INSERT A$(I),D$+MID$(A$,LEN(D$)+1):INPUT#1,D$:ARRAY INSERT C$(I),D$:NEXT:CLOSE:GOTO 34 27 PRINT" einladen ":D$=B$:GOSUB 48:B$=D$:OPEN"i",1,B$+".txm":INPUT#1,H:IF H>669 THEN ERROR 62 ELSE FOR I=0 TO H:LINE INPUT#1,D$:A$(I)=D$+MID$(A$,LEN(D$)+1):INPUT#1,C$(I):NEXT:CLOSE:GOTO 7 28 PRINT" lschen ":D$="":GOSUB 48:KILL D$+".txm":GOTO 34 29 PRINT" speichern ":D$=B$:GOSUB 48:B$=D$:OPEN"o",1,B$+".txm":GOSUB 55:WRITE#1,H:FOR I=0 TO H:PRINT#1,RTRIM$(A$(I)):PRINT#1,C$(I):NEXT:CLOSE:GOTO 34 30 PRINT" Dateiliste ":D$=F$:GOSUB 48:F$=D$ 31 E$=DIR$(F$+".txm") 32 LOCATE 2,1:FOR I=0 TO 16:PRINT" "E$MID$(A$,LEN(E$)+2):D$=E$:E$=DIR$:NEXT:IF D$="" THEN LOCATE 18,3:PRINT"-Ende-" 33 Z$=INKEY$:ON-(Z$+D$=" ")GOTO 31:ON-(Z$=" ")GOTO 32:IF Z$<>CHR$(27) GOTO 33 34 GOSUB 57:GOTO 47 35 PRINT" Druckformat ":LOCATE 10,3:PRINT"Codes fr Zeile"C+1"dezimal und dreistellig!":D$=C$(C):LOCATE 20:PRINT" Befehle: "D$MID$(C$+"..",LEN(D$)+1):P=11:G$="0":H$="9":GOSUB 51:C$(C)=D$:GOTO 34 36 PRINT" ausdrucken ":GOSUB 55:I=C 37 I=INT(I/67):LOCATE 10,3:PRINT"Seite"I+1"wird zum Drucker gesendet!";:OPEN"o",1,"lpt1:":I=I*67:L=I+66:IF L>H THEN L=H 38 FOR I=I TO L:FOR P=1 TO LEN(C$(I))-2 STEP 3:PRINT#1,CHR$(VAL(MID$(C$(I),P,3)));:NEXT:FOR P=1 TO LEN(RTRIM$(A$(I))):D$=MID$(A$(I),P,1):IF D$="" THEN D$=" " 39 PRINT#1,D$;:NEXT:PRINT#1,"":NEXT:CLOSE:ON-(L=H)GOTO 34:LOCATE,3:PRINT"Nach Ausdruck Papier einlegen!"MID$(A$,32); 40 Z$=INKEY$:ON-(Z$=CHR$(27))GOTO 34:ON-(Z$<>" ")GOTO 40:GOTO 37 41 E=ERR:COLOR 4:LOCATE 20,66:SOUND 1500,1:IF E=57 THEN PRINT"Drucker aus..." ELSE IF E=27 THEN PRINT"Kein Papier..." ELSE IF E=76 OR E=53 THEN PRINT"Nicht gefunden" ELSE IF E=61 THEN PRINT"Diskette voll." 42 IF E=62 THEN PRINT"Format falsch." ELSE IF E=64 THEN PRINT"Kein Dateiname" ELSE IF E=71 THEN PRINT"Keine Diskette" ELSE IF E=6 THEN PRINT"Falsche Zeile." ELSE IF E=7 THEN PRINT"Datei zu gro." 43 COLOR 7:E$=MID$(C$,29):LOCATE 20,66 44 Z$=INKEY$:IF Z$=" " THEN PRINT E$:RESUME ELSE ON-(Z$<>CHR$(27))GOTO 44:PRINT E$:CLOSE:IF B=79 THEN I=0:RESUME 7 ELSE RESUME 34 45 GOSUB 55:ON-(H<0)GOTO 8:B=1:C=H:F=C-16:ON-(C=669)GOTO 46:C=C+1:F=F+1:IF F<0 THEN F=0 46 D=C+2:IF D>18 THEN D=18 47 LOCATE 2,1:FOR I=0 TO 16:PRINT""A$(F+I):NEXT:GOTO 24 48 Z$=CURDIR$:LOCATE 10,3:PRINT"Verzeichnis: "Z$:LOCATE 20:PRINT" Dateiname: "D$MID$(C$,LEN(D$)+1):IF B<79 THEN P=13:G$=" ":H$="":GOSUB 51 49 IF MID$(D$,2,1)=":" THEN CHDRIVE LEFT$(D$,1):D$=MID$(D$,3) 50 FOR I=I TO 1 STEP-1:IF MID$(D$,I,1)="\" THEN CHDIR LEFT$(D$,I)+".":D$=MID$(D$,I+1):RETURN ELSE NEXT:RETURN 51 LOCATE 20,P,1,K*6,7:L=1 52 Z$=INKEY$:IF Z$=CHR$(8) AND L>1 THEN D$=LEFT$(D$,L-2)+MID$(D$,L):LOCATE,P:PRINT D$".";:L=L-1:LOCATE,L-1+P ELSE E$=MID$(Z$,2):IF E$="S" AND L<43 THEN D$=LEFT$(D$,L-1)+MID$(D$,L+1):LOCATE,P:PRINT D$".";:LOCATE,P+L-1 53 IF E$="M" AND LEN(D$)>L-1 THEN LOCATE,P+L:L=L+1 ELSE IF E$="K" AND L>1 THEN L=L-1:LOCATE,P+L-1 ELSE IF E$="O" THEN L=LEN(D$)+1:LOCATE,P+L-1 ELSE ON-(E$="G")GOTO 51:IF E$="R" THEN K=1-K:LOCATE,,,K*6,7 54 IF Z$=CHR$(13) THEN LOCATE,,0:RETURN ELSE IF Z$=CHR$(27) THEN LOCATE,,0:RETURN 34 ELSE ON-(L>42 OR Z$H$)GOTO 52:D$=LEFT$(D$,L-1)+Z$+MID$(D$,L+K,42-L):LOCATE,P:PRINT D$;:LOCATE,P+L:L=L+1:GOTO 52 55 FOR H=669 TO 0 STEP-1:IF A$(H)=A$ THEN NEXT 56 RETURN 57 LOCATE 19,33:PRINT B$(K+Q):RETURN 58 ON-(A$(669)>A$ OR C=669)GOTO 15:I=C+1:IF B=1 THEN I=C 59 D$=MID$(A$(C),B):ARRAY INSERT A$(C+1),D$+MID$(A$,LEN(D$)+1):ARRAY INSERT C$(I):D$=LEFT$(A$(C),B-1):A$(C)=D$+MID$(A$,LEN(D$)+1):GOTO 15 60 E=C+1:I=E:IF B=1 THEN I=C 61 A$(C)=LEFT$(A$(C),B-1)+LEFT$(A$(E),79-B):D$=MID$(A$(E),80-B):A$(E)=D$+MID$(A$,LEN(D$)+1):IF A$(E)=A$ THEN ARRAY DELETE A$(E),A$:ARRAY DELETE C$(I) 62 GOTO 47 63 IF E=77 THEN RETURN ELSE IF E=75 THEN IF C+B=1 THEN RETURN 9 ELSE RETURN 22 64 IF E=72 THEN RETURN 23 ELSE RETURN 16 65 Z$="":IF E=72 OR E=80 THEN Z$="" 66 I=0:IF B>1 THEN D$=MID$(A$(C),B-1,1):IF D$>"" AND D$<"" OR D$="" OR E=75 THEN I=1 67 IF B<78 THEN D$=MID$(A$(C),B+1,1):IF D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR E=77 THEN I=I+2 68 IF C>0 THEN D$=MID$(A$(C-1),B,1):IF D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR E=72 THEN I=I+4 69 IF C<669 THEN D$=MID$(A$(C+1),B,1):IF D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR D$="" OR E=80 THEN I=I+8 70 IF I=15 THEN Z$="" ELSE IF I=14 THEN Z$="" ELSE IF I=9 THEN Z$="" ELSE IF I=5 THEN Z$="" ELSE IF I=10 THEN Z$="" ELSE IF I=6 THEN Z$="" ELSE IF I=13 THEN Z$="" ELSE IF I=7 THEN Z$="" ELSE IF I=11 THEN Z$="" 71 GOTO 12