Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
10 WINDOW 0,31,0,31:CLS:GOTO 2480
20!
30 IF TS<0 THEN 60
40 C=TS+64:IF C>90 THEN C=C+6
50 PRINT AT(H,7);CHR$(C)
60 FOR M=0 TO 16:FOR N=0 TO 3:NN=N+K
61!
62!
70 IF N=0 AND TS>=0 THEN NN=TS
80 A$=T$(0,NN,M+J):PRINT AT(M+T,4+N*7);U$:IF LEFT$(A$,1)=""THEN 160
90 IF ASC(A$)=39 THEN 150
100 G=INT(VAL(A$)*O+.5)/O
110 A$=STR$(G):A=LEN(A$)
111 IF INSTR("E+",A$)<>0 THEN 112:ELSE 128
112 FOR V=1 TO A:IF MID$(A$,V,1)="."THEN 114
113 NEXT V
114 UU=3:A$=LEFT$(A$,4)+RIGHT$(A$,4):A=LEN(A$):GOTO 130
128 FOR V=1 TO A:IF MID$(A$,V,1)="."THEN 130
129 NEXT V
130 V=V-1:PRINT AT(M+T,UU+7*N);V$:PRINT AT(M+T,UU-V+7*N);A$:V=7: NEXT N:NEXT M
140 RETURN
150 PRINT AT(M+T,4+7*N);MID$(A$,2)
160 NEXT N:NEXT M
170 RETURN
180!
190 IF K<0 THEN K=0
200 GOTO 240
210!
220!
230 IF K>U-3 THEN K=U-3
240 FOR N=0 TO 3:A=64+K+N:IF A>90 THEN A=A+6
250 PRINT AT(Z,7+7*N);CHR$(A):NEXT N:RETURN
260 C=5020-Y*32-X*7:BB=PEEK(-C):CC=PEEK(-(C-6))
268 PRINT AT(Y+2,7*X+4);">"
270 PRINT AT(Y+2,7*X+10);"<":C=K+X+64:IF C>90 THEN C=C+6
275 IF BB=45 THEN BB=32
276 IF CC=45 THEN CC=32
280 IF BB=0 THEN BB=32
290 IF CC=0 THEN CC=32
300 PRINT AT(20,29);Y+J:PRINT AT(20,28);CHR$(C)+"-"
304 PRINT AT(20,2);U$+U$:PRINT AT(20,2);STRING$(17,".")
305 PRINT AT(20,1);"<":PRINT AT(20,2);T$(0,X+K,Y+J):PRINT AT(20,18);"> "
310 PRINT AT(26,8);STRING$(22," "):PRINT AT(26,8);T$(1,X+K,Y+J):RETURN
320!
330 WINDOW 23,23,1,17:CLS:INPUT "VON:BIS ";C$:WINDOW
340 FOR N=3 TO 4:IF MID$(C$,N,1)=":"THEN 360
350 NEXT N:GOTO 330
360 A$=LEFT$(C$,N-1):B$=MID$(C$,N+1)
370 A=ASC(A$)-64:B=VAL(MID$(A$,2)):C=ASC(B$)-64:D=VAL(MID$(B$,2))
380 IF C>32 THEN C=C-6
390 IF A>32 THEN A=A-6
400 IF A<0 OR A>U OR C<0 OR C>U THEN 330
410 RETURN
420!
430 IF J<0 THEN J=0
440 IF J>JJ THEN J=JJ
450 FOR N=0 TO 16:A$=STR$(N+J):PRINT AT(N+2,0);RIGHT$(A$,2)
455 PP=VAL(A$): NEXT N:RETURN
460 PRINT AT(Y+2,4+7*X);CHR$(BB):PRINT AT(Y+2,10+7*X);CHR$(CC)
465 IF Q=13 THEN IF PP>=JJ THEN 2830
470 IF Q=8 THEN X=X-1:IF X=-1 THEN K=K-1:X=0:GOSUB 190:GOSUB 30
475!
480 IF Q=9 THEN X=X+1:IF X=4 THEN X=3:K=K+1:GOSUB 230:GOSUB 30
485!
490 IF Q=11 THEN Y=Y-1:IF Y<0 THEN Y=0:J=J-1:GOSUB 430:GOSUB 30
495!
500 IF Q=10 THEN Y=Y+1:IF Y>16 THEN Y=16:J=J+1:GOSUB 430:GOSUB 2800:GOSUB 30
510 GOSUB 260
520 A$=INKEY$:IF A$=""THEN 520
530 Q=ASC(A$):IF Q>7 AND Q<12 THEN 460
540 RETURN
550 FOR V=4 TO 5:IF MID$(A$,V,1)=":"THEN 580
560 NEXT V
570 GOTO 540
580 A=ASC(MID$(A$,2,1))-64:B=VAL(MID$(A$,3,V-3)):C=ASC(MID$(A$,V+1,1))-64
590 D=VAL(MID$(A$,V+2,2)):V=A:G=B:IF A>32 THEN A=A-6
600 IF C>32 THEN C=C-6
610 S=0:FOR V=A TO C:FOR G=B TO D:S=S+VAL(T$(0,V,G)):NEXT G:NEXT V
620 T$(0,N,M)=STR$(S):RETURN
630!
640 G=1:A$=A$+"+"
650 A=LEN(A$):S=0:FOR V=2 TO A:IF MID$(A$,V,1)<>"+"THEN 700
660!
670 B=ASC(MID$(A$,G+1,1))-64:C=VAL(MID$(A$,G+2,V-G-2)):G=V
680 IF B>32 THEN B=B-6
690 S=S+VAL(T$(0,B,C))
700 NEXT V:T$(0,N,M)=STR$(S):RETURN
710!
720 A$=T$(1,N,M):E=LEN(A$)
730 FOR BV=2 TO E
740 P$=MID$(A$,BV,1):IF ASC(P$)<48 AND ASC(P$)<>46 OR ASC(P$)=94 THEN 760
750 NEXT BV
760 S$(1)=LEFT$(A$,BV-1):S$(2)=MID$(A$,BV+1):E(1)=ASC(S$(1)):E(2)=ASC(S$(2))
770 IF E(1)>96 THEN E(1)=E(1)-6
780 IF E(2)>96 THEN E(2)=E(2)-6
790 FOR V=1 TO 2:IF E(V)<59 THEN Z(V)=VAL(S$(V)):GOTO 820
800 IF T$(0,E(V)-64,M)=""OR LEFT$(T$(0,E(V)-64,M),1)="'"THEN RETURN
810 Z(V)=VAL(T$(0,E(V)-64,M))
820 NEXT V
830 IF P$="/"THEN P$=","
840 IF P$="^"THEN P$=")"
850 Q=ASC(P$)-40
860 ON Q GOSUB 900,890,880,910,920
865 IF BV<E THEN 6600
870 RETURN
880 T$(0,N,M)=STR$(Z(1)+Z(2)):RETURN
890 T$(0,N,M)=STR$(Z(1)*Z(2)):RETURN
900 T$(0,N,M)=STR$(Z(1)^Z(2)):RETURN
910 T$(0,N,M)=STR$(Z(1)/Z(2)):RETURN
920 T$(0,N,M)=STR$(Z(1)-Z(2)):RETURN
930!
940 WINDOW:CLS:PRINT AT(1,0);STRING$(32,"-")
950 PRINT AT(19,0);STRING$(32,"-"):GOSUB 190:GOSUB 450:GOTO 960
960 GOSUB 260:PRINT AT(26,1);"FORMEL:":IF M<>0 THEN GOSUB 30
970 PRINT AT(20,22);"CURS. ":PRINT AT(26,1);"FORMEL:"
980 PRINT AT(21,0);" Feld/ Sum/ Jump/ Menue/ Ende "
990 PRINT AT(22,0);UU$:PRINT AT(23,0);UU$:PRINT AT(22,22);"HELP = H"
994 PRINT AT(28,0);STRING$(32,"-")
995 PRINT AT(29,5);"Blatt = Sp./ Z.":PRINT AT(29,10);HJ
996 PRINT AT(29,14);U:PRINT AT(29,22);JJ
1000 PRINT AT(22,1);"Eingabe->":GOTO 1120
1010!
1020 IF F=3 THEN UU=6
1021 IF F=1 THEN UU=8
1022 IF F=0 THEN UU=9
1023 IF F=2 THEN UU=7
1025 PRINT AT(2+Y,4+7*X);U$:IF ASC(B$)=39 THEN 1070
1030 G=INT(VAL(B$)*O+.5)/O:A$=STR$(G):A=LEN(A$)
1031 IF INSTR("E+",A$)<>0 THEN 1032:ELSE 1040
1032 FOR V=1 TO A:IF MID$(A$,V,1)="."THEN 1033:NEXT V
1033 UU=3:A$=LEFT$(A$,4)+RIGHT$(A$,4):A=LEN(A$):GOTO 1060
1040 FOR V=1 TO A:IF MID$(A$,V,1)="."THEN 1060
1050 NEXT V
1060 V=V-1:PRINT AT(Y+2,UU+7*X);V$:PRINT AT(Y+2,UU-V+7*X);A$:GOTO 1080
1070 PRINT AT(Y+2,4+7*X);MID$(B$,2)
1080 T$(0,K+X,Y+J)=B$
1090 Y=Y+1:IF Y>16 THEN Y=16:J=J+1:GOSUB 430:GOSUB 2800:GOSUB 30
1100 A=Y+2:B=X*7:GOSUB 260:GOTO 1120
1110!
1120 PRINT AT(24,1);UL$:PRINT AT(24,1);"* <--":B$="":W=1
1130 PRINT AT(22,10);W-1
1140 A$=INKEY$:IF A$=""THEN 1140
1150 Q=ASC(A$):IF Q>7 AND Q<12 THEN GOSUB 460
1160 IF Q=13 AND LEFT$(B$,1)<>""THEN 1240
1170 IF Q=32 AND W>1 THEN B$=LEFT$(B$,(LEN(B$)-1))
1175 IF Q=32 AND W>1 THEN PRINT AT(24,W);" ":W=W-1:GOTO 1220
1180 IF(W<9 AND Q>31)OR(LEFT$(B$,1)="'"AND W<38)THEN B$=B$+A$:W=W+1
1190 IF B$="M"THEN WINDOW 20,24,0,31:CLS:GOTO 1310
1195 IF B$="H"THEN 5000
1200 IF B$="S"THEN 2430
1205 IF B$="F"THEN 2850
1210 IF B$="J"THEN B$="":GOTO 1730
1215 IF B$="E"THEN WINDOW:CLS:END
1220 PRINT AT(24,1);B$+"* <--":GOTO 1130
1230!
1240 W=W-1
1250 IF W>10 THEN FOR N=0 TO W/5 :T$(0,K+X+N,Y+J)="'"+MID$(B$,9*N+2,9):GOTO 1270
1260 GOTO 1020
1270 IF N+X<4 THEN PRINT AT(Y+2,4+7*(N+X));U$
1280 NEXT N:PRINT AT(Y+2,4+7*X);MID$(B$,2,1)
1290 GOTO 1090
1300!
1310 WINDOW 20,23,17,31:PRINT "Kalk Form Whng ";
1320 PRINT "Save Load Print";:PRINT "Copy Rand Op Del >Zurueck<";
1330 WINDOW:PRINT AT(22,1);"** MENUE **"
1340 A$=INKEY$:IF A$=""THEN 1340
1345 PRINT AT(22,0);UL$:PRINT AT(23,0);UL$
1350 Q=ASC(A$):BEEP:IF Q<12 THEN GOSUB 460:GOTO 1350
1360 IF A$=CHR$(13)THEN 970
1370 IF A$="K"THEN 1850
1380 IF A$="W"THEN 1810
1390 IF A$="C"THEN 1940
1400 IF A$="O"THEN 2270
1410 IF A$="D"THEN 1680
1420 IF A$="L"THEN 2210
1430 IF A$="R"THEN 2360
1440 IF A$="P"THEN 1490
1450 IF A$="F"THEN 2030
1460 IF A$="S"THEN 2120
1465 IF A$="Z"THEN WINDOW 20,25,0,31:CLS:WINDOW:GOTO 960
1470 GOTO 1340
1480!
1490 PRINT AT(22,1);"**DRUCK**":GOSUB 4700
1492 IF I$="H"THEN 6572
1494 GOSUB 6940:GOSUB 330
1500 IF C-A>6 OR B>JJ OR D>JJ THEN 1490
1505 IF A<1 OR C>U THEN 1490
1510 WINDOW:PRINT#2 CHR$(27);CHR$(64)
1520 FOR M=B TO D:B$=" "
1530 FOR N=A TO C:A$=T$(0,N,M):IF A$=""THEN A$=U$:GOTO 1630
1540 IF ASC(A$)=39 THEN 1620
1550 G=INT(VAL(A$)*O+.5)/O:A$=STR$(G):I=LEN(A$)
1560 FOR V=1 TO I:IF MID$(A$,V,1)="."THEN 1580
1570 NEXT V
1580 V=V-1
1590 H=I-V:IF F=0 THEN V=V-1
1600 A$=STRING$(7-V-F," ")+A$
1610 A$=A$+MID$(Y$,H+1,8-LEN(A$)):V=11:GOTO 1630
1620 A$=MID$(A$,2)+STRING$(10-LEN(A$)," ")
1630 B$=B$+A$
1640 NEXT N:PRINT#2B$:NEXT M
1650 WINDOW:PRINT#2 CHR$(27);CHR$(64)
1660 GOTO 940
1670!
1680 PRINT AT(22,1);"**DELETE**":GOSUB 4700
1682 IF I$="H"THEN 6300
1683 GOSUB 6940:GOSUB 330
1690 FOR N=A TO C:FOR M=B TO D:T$(0,N,M)="":T$(1,N,M)=""
1700 PRINT AT(23,0);N,M:NEXT M:NEXT N
1710 GOSUB 30:GOSUB 260:GOTO 970
1720!
1730 WINDOW 22,23,1,12:CLS:INPUT "POS:";A$:WINDOW
1740 K=ASC(A$)-64:Y=VAL(MID$(A$,2)):J=0:X=0
1744 IF K>32 THEN K=K-6
1745 IF K>U OR Y>JJ THEN 1730
1760 IF K>U OR Y+J>31 OR Y+J<0 THEN 1730
1770 IF K>U-3 THEN X=3-U+K:K=K-X
1780 IF Y>16 THEN J=Y-16:Y=16
1785 IF Y>16 THEN PP=JJ-Y
1790 GOSUB 190:GOSUB 450:GOSUB 30:GOSUB 260:GOTO 970
1800!
1810 PRINT AT(22,1);"**WHNG**":GOSUB 4700
1815 IF I$="H"THEN 5800
1816 GOSUB 6940:GOSUB 330
1820 A$=T$(0,X+K,Y+J):FOR N=A TO C
1825 FOR M=B TO D:T$(0,N,M)=A$
1830 PRINT AT(23,0);N,M:NEXT M:NEXT N:GOSUB 30:GOSUB 260:GOTO 970
1840!
1850 PRINT AT(22,1);"**KALK**":GOSUB 4700
1851 IF I$="H"THEN 5600
1860 GOSUB 6940:GOSUB 330:PRINT AT(22,1);"ICH RECHNE.":A1=A:B1=B:C1=C:D1=D
1870 FOR N=A1 TO C1:FOR M=B1 TO D1
1880 O$=T$(1,N,M):IF LEFT$(O$,1)=""THEN 1910
1890 IF ASC(O$)=32 THEN A$=O$:GOSUB 550:GOTO 1910
1900 GOSUB 710
1910 PRINT AT(23,0);N,M:NEXT M:NEXT N
1920 PRINT AT(22,0);UL$:GOSUB 30:GOSUB 260:GOTO 970
1930!
1940 PRINT AT(22,1);"**COPY**":GOSUB 4700
1941 IF I$="H"THEN 5900
1942 GOSUB 6940:GOSUB 330
1950 WINDOW 23,23,1,12:INPUT "NACH :";B$:IF B$=""THEN 1310
1960 WINDOW:IF ASC(B$)<57 THEN 2000
1970 E=ASC(B$)-64:IF E>90 THEN E=E-6
1980 FOR N=A TO C:FOR M=B TO D:T$(0,E,M)=T$(0,N,M):T$(1,E,M)=T$(1,N,M):NEXT M
1990 NEXT N:GOTO 2020
2000 E=VAL(B$)
2010 FOR N=A TO C:FOR M=B TO D:T$(0,N,E)=T$(0,N,M):T$(1,N,E)=T$(1,N,M)
2015 NEXT M:NEXT N
2020 GOSUB 30:GOSUB 260:GOTO 970
2030 PRINT AT(22,1);"**FORMAT**":GOSUB 4700
2032 IF I$="H"THEN 6500
2040 WINDOW 23,23,1,31:CLS:INPUT "STELLEN:";F:WINDOW
2050 PRINT AT(23,0);UU$
2060 IF F<0 OR F>3 THEN 2040
2070 O=10^F:UU=11-F
2080 IF F=0 THEN UU=12
2090 V$=MID$(Y$,1,F+1):IF F=0 THEN V$=""
2100 GOSUB 190:GOSUB 30:GOSUB 260:GOTO 970
2110!
2120 WINDOW:CLS:PRINT:PRINT "**BLATT SAVEN**"
2130 PRINT:PRINT "FELDGROSSE MERKEN:";HJ
2140 PRINT:INPUT "DATEINAME";X$:PRINT:PRINT "RECORDER START >ET<"
2150 B$=INKEY$:IF B$=""THEN 2150
2170 CSAVE*""+X$;T$
2180 WINDOW
2190 GOTO 930
2200!
2210 WINDOW:CLS:PRINT:PRINT "**BLATT LADEN**"
2220 PRINT:INPUT "DATEINAME:";X$
2230 PRINT:PRINT "RECORDER STARTEN >ET<"
2235 I$=INKEY$:IF I$=""THEN 2235
2240 CLOAD*""+X$;T$
2250 WINDOW
2260 GOTO 930
2270 PRINT AT(22,1);"**RECHNUNG**":GOSUB 4700
2275 IF I$="H"THEN 6000
2280 O$="":S$="":WINDOW 23,23,1,31:CLS:INPUT "DEF.";O$
2290 WINDOW
2300 IF O$=""THEN PRINT AT(23,0);UL$:GOTO 970
2310 GOSUB 330
2320 FOR N=A TO C:FOR M=B TO D:T$(1,N,M)=O$:GOSUB 710
2330 PRINT AT(23,0);N,M:NEXT M:NEXT N
2340 IF C<K+4 AND C>K-1 THEN GOSUB 30:GOSUB 260:GOTO 970
2350 GOTO 970
2360 PRINT AT(22,1);"**RAND**":GOSUB 4700
2362 IF I$="H"THEN 6400
2370 WINDOW 23,23,1,31:CLS:INPUT "SPALTE:";A$
2380 WINDOW:IF A$=""THEN TS=-1:GOTO 960
2390 TS=ASC(A$)-64:IF TS>32 THEN TS=TS-6
2400 IF TS>U THEN 2370
2410 GOTO 960
2420!
2430 WINDOW 22,23,1,16:CLS:INPUT "VON:BIS->";A$
2440 A$=" "+A$:CLS:T$(1,X+K,Y+J)=A$
2450 WINDOW:N=X+K:M=Y+J:GOSUB 550:B$=STR$(S):PRINT AT(22,1);"EINGABE:"
2455 GOTO 1020
2460 PRINT AT(Y+2,UU+9*X-LEN(STR$(INT(G))));G:GOSUB 310:GOTO 970
2470!
2480!
2490 PRINT AT(10,2);"** K A L K U L A T I O N **"
2500 PRINT AT(12,2);" (fuer den Z1013)"
2503 GOSUB 6900
2505 PRINT AT(25,0);"------------------------------"
2506 CLEAR:CLEAR 256
2510 PRINT AT(27,0);"(Programm ca 13500 Bytes )"
2511 PRINT AT(28,0);"(Feld 1 ca 17100 Bytes )"
2512 PRINT AT(29,0);"(Feld 2 ca 16800 Bytes )"
2513 PRINT AT(30,0);"(Feld 3 ca 13600 Bytes )"
2590 PRINT AT(17,0);"(1) = 52 Spalten / 16 Zeilen"
2600 PRINT AT(18,0);"(2) = 26 Spalten / 31 Zeilen"
2610 PRINT AT(19,0);"(3) = 26 Spalten / 16 Zeilen":CLEAR 10000
2612 PRINT AT(23,0);"Eingabe der Blattgroesse: "
2614 WINDOW 23,23,27,30:CLS
2620 A$=INKEY$:IF A$=""THEN 2620
2630 PRINT AT(23,27);A$:IF A$="1"THEN U=52:JJ=16:HJ=1:GOTO 2660
2640 IF A$="2"THEN U=26:JJ=31:HJ=2:GOTO 2660
2650 IF A$="3"THEN U=26:JJ=16:HJ=3:GOTO 2660
2660 DIM T$(1,U,JJ):BB=32:CC=32:T=2:Y$=".000":V$=".00"
2670 K=1:F=2:TS=-1:U$=" ":O=100:UU=7:UL$=" "
2680 UU$=" "
2690 WINDOW:GOTO 930
2700!
2710 RETURN
2800 IF PP>JJ THEN J=0:Y=0:X=X+1:GOSUB 450:IF X=4 THEN X=3
2820 RETURN
2830 J=0:Y=0:X=X+1:GOSUB 450:IF X=4 THEN X=3
2840 GOTO 470
2850 WINDOW 20,31,0,31:CLS
2860 PRINT "FELDEINTRAGUNGEN LOESCHEN? (J)/N"
2870 I$=INKEY$:IF I$=""THEN 2870
2880 IF I$="N"THEN CLS:GOTO 2920
2890 PRINT "**MOMENT**"
2900 FOR N=0 TO U:FOR M=0 TO JJ:T$(0,N,M)="":NEXT M:NEXT N
2910 CLS
2920 PRINT "FORMELN LOESCHEN? (J)/N"
2930 I$=INKEY$:IF I$=""THEN 2930
2940 IF I$="N"THEN CLS:WINDOW:GOTO 930
2950 PRINT "**MOMENT**"
2960 FOR N=0 TO U:FOR M=0 TO JJ:T$(1,N,M)="":NEXT M:NEXT N
2970 CLS:WINDOW:GOTO 930
4700 PRINT AT(23,1);"HELP -> H (N) / Z -> Zurueck"
4710 I$=INKEY$:IF I$=""THEN 4710
4720 IF I$="Z"THEN 960
4730 RETURN
4900 WINDOW 20,31,0,31:CLS
4910 RETURN
4920 CLS:WINDOW
4930 RETURN
4940 I$=INKEY$:IF I$=""THEN 4940
4950 RETURN
5000 GOSUB 4900
5005 PRINT "'Kalkulation' ist ein Programm"
5010 PRINT "zum Erstellen und Berechnen von"
5020 PRINT "Tabellen."
5030 PRINT "Die einzelnen Funktionen werden"
5040 PRINT "durch den Anfangsbuchstaben auf-"
5050 PRINT "gerufen."
5055 PRINT " >ET<":GOSUB 4940:CLS
5060 PRINT "Die Anleitung wird immer durch"
5070 PRINT "Eingabe von >H< aufgerufen."
5110 PRINT:PRINT "3 Arbeitsblaetter gibt es: "
5120 PRINT "(1) = Spalten A-z / Zeilen 0-16"
5130 PRINT "(2) = A-Z / 0-31"
5140 PRINT "(3) = A-Z / 0-16"
5150 PRINT " >ET<"
5160 GOSUB 4940
5170 CLS
5180 PRINT "Befehle im Grundmenue:"
5190 PRINT "F= Die Formeln und/oder Eintra-"
5200 PRINT " gungen im Blatt koennen ge- "
5210 PRINT " loescht werden."
5220 PRINT "S= Felder u. Bereiche koennen "
5230 PRINT " addiert werden."
5235 PRINT " >ET<":GOSUB 4940:CLS
5240 PRINT "J= Sprung auf ein anderes Feld "
5280 PRINT "M= Sprung zum Untermenue"
5290 PRINT "Untermenue:"
5300 PRINT "K= durchrechnen des Blattes"
5310 PRINT "F= Dezimalstellen 0-3"
5320 PRINT "W= Wiederholung von Zeilen oder"
5330 PRINT " Bereichen."
5335 PRINT " >ET<":GOSUB 4940:CLS
5340 PRINT "O= Eingabe von Formeln"
5350 PRINT "R= Festlegung Randspalte"
5360 PRINT "C= Copieren von Eintragungen"
5400 PRINT "D= Loeschen von Eintragungen"
5410 PRINT "P= Drucken des Blattes"
5420 PRINT "S= Saven des Blattes"
5430 PRINT "L= Laden eines Blattes"
5440 PRINT " >ET<"
5450 GOSUB 4940
5460 CLS
5470 PRINT "Eingabe:"
5480 PRINT "Buchstabeneingaben werden mit"
5490 PRINT "Hochkomma ' eingeleitet."
5500 PRINT "Bei Dezimalangaben fuer Komma"
5510 PRINT "Punkt schreiben."
5511 PRINT "Cursor: <--- --->"
5512 PRINT " S4 S = hoch S4 R = runter"
5513 PRINT "Leertaste=Zeichen links loeschen"
5520 PRINT " >ET<"
5530 GOSUB 4940
5540 GOSUB 4920:GOTO 960
5600 GOSUB 4900!KALK
5610 PRINT "Wenn Werte geaendert wurden und"
5620 PRINT "Formeln durch >OP< eingegeben"
5630 PRINT "wurden, muss das Blatt neu "
5640 PRINT "durchgerechnet werden."
5650 PRINT "Es wird von:bis abgefragt."
5660 PRINT "Eingabe ist eine Zeile A0:D0,"
5670 PRINT "Spalte A0:A7 oder Bereich A0:D9"
5680 PRINT "Die Formeln werden neu gerechnet"
5690 PRINT " >ET<"
5700 GOSUB 4940
5710 GOSUB 4920:GOTO 1850
5800 GOSUB 4900:!WHNG
5810 PRINT "Wiederholung des Feldinhaltes,"
5820 PRINT "ueber dem der Cursor steht."
5830 PRINT "Eingabe von:bis der Inhalt"
5840 PRINT "wiederholt werden soll."
5850 PRINT "z.Bsp. fuer Unterstreichungen."
5860 PRINT "Eingabe z.B.: B4:D4 oder B4:D5"
5870 PRINT " >ET<":GOSUB 4940
5875 GOSUB 4920:GOTO 1810
5900 GOSUB 4900:!COPY
5910 PRINT "Kopieren v. Spalten oder Teilen"
5920 PRINT "einer Spalte in eine andere"
5930 PRINT "Spalte. Formeln werden ohne"
5940 PRINT "Anpassung kopiert."
5950 PRINT "von:bis = Eingabe der Ausgangs-"
5960 PRINT "spalte oder des Feldes"
5970 PRINT "nach: = Eingabe der Zielspalte"
5980 PRINT "A4:A7 nach C oder A4:A4 nach C"
5990 PRINT " >ET<":GOSUB 4940
5995 GOSUB 4920:GOTO 1940
6000 GOSUB 4900:!OP
6010 PRINT "Eingabe von Berechnungsformeln."
6020 PRINT "+ - * / ^ in Verknuepfungen" "
6030 PRINT "Verknuepfungen (nur Spalten!):"
6040 PRINT "Spalte mit Spalte"
6050 PRINT "Spalte mit Konstante"
6060 PRINT "Spalte m. Konst. m. Spalte"
6065 PRINT "Beliebig viele Verknuepfungen"
6066 PRINT "moeglich. Reihenfolge egal."
6070 PRINT " >ET<":GOSUB 4940
6080 CLS
6090 PRINT "Beispiele:"
6100 PRINT "A*A A+B C+4 A/B B^2 A+F*D-2"
6110 PRINT "DEF: Eingabe der Rechenart"
6120 PRINT "von:bis = Bereich, in dem die"
6130 PRINT "Berechnung eingetragen werden"
6140 PRINT "soll. Belbig viele Variable"
6150 PRINT "koennen verknuepft werden."
6200 PRINT " >ET<":GOSUB 4940
6210 GOSUB 4920:GOTO 2270
6300 GOSUB 4900:!DEL
6310 PRINT "Loeschen von Feldern, Spalten"
6320 PRINT "oder Zeilen."
6330 PRINT "von:bis = Bereich eingeben."
6340 PRINT "Bsp.: A4:A4 A4:D4 A4:A8"
6350 PRINT "Es werden Feldeintragungen"
6360 PRINT "und Formeln geloescht."
6370 PRINT " >ET<":GOSUB 4940
6380 GOSUB 4920:GOTO 1680
6400 GOSUB 4900:!RAND
6410 PRINT "Einstellen einer Titelspalte."
6420 PRINT "Eingabe des Spaltenbuchstabens."
6430 PRINT "Diese Spalte bleibt auf dem"
6440 PRINT "Bildschirm stehen."
6445 PRINT "Bei >JUMP< Zielspalte -1":PRINT "eingeben!"
6450 PRINT "Aufheben der Einstellung durch"
6460 PRINT "Eingabe von Leerzeichen ET ."
6470 PRINT " >ET<":GOSUB 4940
6480 GOSUB 4920:GOTO 2360
6500 GOSUB 4900:!FORMAT
6510 PRINT "Eingabe der Anzahl von DezIMAL-"
6520 PRINT "stellen."
6530 PRINT "Eingabe 0 bis 3."
6540 PRINT "Standard ist 2 Stellen."
6550 PRINT "Je Blatt nur ein Format waehlen."
6560 PRINT " >ET<":GOSUB 4940
6570 GOSUB 4920:GOTO 2030
6572 GOSUB 4900:PRINT "Der Druck des Arbeitsblattes"
6574 PRINT "erfolgt jeweils fuer maximal"
6576 PRINT "7 Spalten."
6578 PRINT "Die Abfrage erfolgt von:bis"
6580 PRINT "Bsp.: A0:D16
6582 PRINT " >ET<"
6584 GOSUB 4940
6586 GOSUB 4920:GOTO 1490
6600!OP-RECHNUNG MEHRERE FELDER
6610 FOR AV=BV+1 TO E
6620 X$=MID$(A$,AV,1):IF ASC(X$)<48 AND ASC(X$)<>46 OR ASC(X$)=94 THEN 6636
6630 NEXT AV
6635 IF ASC(X$)>64 AND ASC(X$)<91 OR ASC(X$)>96 THEN 870
6636 IF AV>E THEN 870
6640 S$(1)=LEFT$(A$,AV-1):S$(2)=MID$(A$,AV+1):E(1)=ASC(S$(1)):E(2)=ASC(S$(2))
6650 IF E(1)>96 THEN E(1)=E(1)-6
6660 IF E(2)>96 THEN E(2)=E(2)-6
6670 FOR CV=1 TO 2:IF E(CV)<59 THEN Z(CV)=VAL(S$(CV)):GOTO 6700
6680!
6690 Z(CV)=VAL(T$(0,E(CV)-64,M))
6700 NEXT CV
6705 Z(1)=VAL(T$(0,N,M))
6710 IF X$="/"THEN X$=","
6720 IF X$="^"THEN X$=")"
6730 QQ=ASC(X$)-40
6740 ON QQ GOSUB 6790,6780,6770,6800,6810
6750 IF AV<E THEN BV=AV:GOTO 6610
6760 GOTO 870
6770 T$(0,N,M)=STR$(Z(1)+Z(2)):RETURN
6780 T$(0,N,M)=STR$(Z(1)*Z(2)):RETURN
6790 T$(0,N,M)=STR$(Z(1)^Z(2)):RETURN
6800 T$(0,N,M)=STR$(Z(1)/Z(2)):RETURN
6810 T$(0,N,M)=STR$(Z(1)-Z(2)):RETURN
6900 PRINT AT(25,5);"Neues Arbeitsblatt? (J)/N"
6905 PRINT AT(27,0);"(Bei Neustart >J<,"
6906 PRINT AT(28,0);"bei Abbruch GOTO 10 u. >N<)"
6910 I$=INKEY$:IF I$=""THEN 6910
6920 IF I$="N"THEN 930
6930 WINDOW 25,31,0,31:CLS:WINDOW:RETURN
6940 WINDOW 23,23,0,31:CLS:WINDOW:RETURN