| 10 |
AUTOGOTO 20 |
| 20 |
"A" CLS :WAIT 0 |
| 30 |
IF C2=0 GOSUB 7430 |
| 40 |
IF FP GOTO 6000 |
| 50 |
IF F6 OR F7 GOTO 3410 |
| 60 |
IF F1=0 OR F2=0 GOTO 3950 |
| 70 |
RESTORE 100 |
| 80 |
GOTO 7290 |
| 100 |
DATA 1,"MENU",5,"Suchen",620,"Liste",1860,"Pflege",2410 |
| 110 |
DATA "Optionen",4890,"Transfer",3950,"ENDE",120 |
| 120 |
PRINT "Adressdatenbank beendet,":PRINT "Neustart mit ";CHR$ 91;"DEF";CHR$ 93;" ";CHR$ 91; |
| 130 |
PRINT "A";CHR$ 93;" !" |
| 140 |
GOSUB 6300 :WAIT :CLS |
| 150 |
END |
| 160 |
PRINT "Datenbankzugang verwehrt":END |
| 170 |
RESTORE 190 :GOTO 7290 |
| 190 |
DATA 1,"SUCHE",2,"Nachname",210,"Vorname",220,"Geburtstag",360 |
| 210 |
PRINT "Nachname:":L=0:GOTO 230 |
| 220 |
PRINT "Vorname:":L=1 |
| 230 |
M$(0)="A":INPUT M$(0) |
| 240 |
IF LEN M$(0)<3 LET M$(0)=M$(0)+"aa" |
| 250 |
GOSUB 6490 :IF F5 GOTO 230 |
| 260 |
POKE 12348,16:CLEAR A:B=G |
| 270 |
P=S(0,L):IF M$(0)<D$(P,L) LET R=0:RETURN |
| 280 |
R=INT ((A+B)/2) |
| 290 |
P=S(R,L) |
| 300 |
IF D$(P,L)=M$(0) GOTO 340 |
| 310 |
IF B-A=1 LET R=R+1:P=S(R,L):RETURN |
| 320 |
IF D$(P,L)<M$(0) LET A=R:GOTO 280 |
| 330 |
B=R:GOTO 280 |
| 340 |
IF R IF D$(S(R-1,L),L)=M$(0) LET R=R-1:P=S(R,L):GOTO 340 |
| 350 |
RETURN |
| 360 |
PRINT "Geburtstag:":INPUT M$(0) |
| 370 |
L=2:CLEAR A:B=G:IF M$(0)="" CLEAR U,V:GOTO 400 |
| 380 |
U=VAL LEFT$ (M$(0),2):V=VAL MID$ (M$(0),4,2):W=1900:GOSUB 490 |
| 390 |
IF F5 GOSUB 6510 :GOTO 360 |
| 400 |
W=U+V*31 |
| 410 |
P=S(0,2):IF W<VAL LEFT$ (D$(P,5),2)+31*VAL MID$ (D$(P,5),4,2) LET R=0:RETURN |
| 420 |
R=INT ((A+B)/2):P=S(R,2):H=VAL LEFT$ (D$(P,5),2)+31*VAL MID$ (D$(P,5),4,2) |
| 430 |
IF H=W GOTO 470 |
| 440 |
IF B-A=1 LET R=R+1:P=S(R,L):RETURN |
| 450 |
IF H<W LET A=R:GOTO 420 |
| 460 |
B=R:GOTO 420 |
| 470 |
IF R LET H=S(R-1,2):IF VAL LEFT$ (D$(H,5),2)+31*VAL MID$ (D$(H,5),4,2)=W LET P=H:R=R-1:GOTO 470 |
| 480 |
RETURN |
| 490 |
CLEAR F5:IF U<1 OR U>31 OR V<1 OR V>12 OR W<1890 OR W>1999 LET F5=1:GOTO 520 |
| 500 |
IF (V=4 OR V=6 OR V=9 OR V=11) AND U>30 LET F5=1:GOTO 520 |
| 510 |
IF V=2 AND U>29 LET F5=1 |
| 520 |
RETURN |
| 530 |
RESTORE 550 :GOTO 7290 |
| 550 |
DATA 1,LEFT$ (D$(P,1)+" "+D$(P,0),24),2,"o.k.",610 |
| 560 |
DATA "weiter",570,"zurueck",590 |
| 570 |
R=R+1:IF R>G BEEP 1,255,100:R=G |
| 580 |
P=S(R,L):GOTO 530 |
| 590 |
R=R-1:IF -R CLEAR R:BEEP 1,255,100 |
| 600 |
P=S(R,L):GOTO 530 |
| 610 |
RETURN |
| 620 |
IF F1=0 BEEP 1,255,100:PRINT "Keine Datei !":GOSUB 6300 :GOTO 40 |
| 625 |
GOSUB 170 :GOSUB 530 :P=S(R,L) |
| 630 |
RESTORE 650 :GOTO 7290 |
| 650 |
DATA 1,LEFT$ (D$(P,1)+" "+D$(P,0),24),3,"Anzeigen",680,"Drucken",770 |
| 660 |
DATA "Blaettern",670,"MENU",70 |
| 670 |
GOSUB 530 :GOTO 630 |
| 680 |
GOSUB 690 :GOTO 630 |
| 690 |
F4=LEN (D$(P,0)+D$(P,1))<24 |
| 700 |
IF F4 PRINT D$(P,1);" ";D$(P,0):GOTO 720 |
| 710 |
PRINT D$(P,1):PRINT D$(P,0) |
| 720 |
PRINT D$(P,2):IF F4=0 WAIT |
| 730 |
PRINT D$(P,3):IF F4=0 WAIT 0:GOTO 750 |
| 740 |
IF F4 GOSUB 6300 |
| 750 |
WAIT 0:CLS :FOR W=4 TO 6:PRINT D$(P,W):NEXT W:GOSUB 6300 |
| 760 |
RETURN |
| 770 |
GOSUB 6310 :ON C1 GOTO 780 ,820 ,680 |
| 780 |
RESTORE 800 :GOTO 7290 |
| 800 |
DATA 1,"DRUCK AUF CE-140P",3,"Datensatz",820,"Briefkopf",870,"Grafik" |
| 810 |
DATA 1200,"MENU",70 |
| 820 |
PRINT "Datensatz wird gedruckt |
| 830 |
GOSUB 840 :GOTO 70 |
| 840 |
IF LEN (D$(P,0)+D$(P,1))<24+(C1=1)*15 LPRINT D$(P,1)+" "+D$(P,0):GOTO 860 |
| 850 |
LPRINT D$(P,1):LPRINT D$(P,0) |
| 860 |
FOR I=2 TO 6:LPRINT D$(P,I):NEXT I:LPRINT :RETURN |
| 870 |
GRAPH |
| 880 |
LLINE (60,0)-(480,0)-(480,-200)-(60,-200)-(60,0) |
| 890 |
LLINE (0,-285)-(20,-285):LLINE (85,-40)-(460,-40),1 |
| 900 |
GLCURSOR (85,-90):CONSOLE 31:RESTORE 920 :GOTO 7290 |
| 920 |
DATA 1,"erste Zeile:",5,"An",940,"Herr",940,"Frau",940,"Fraeulein" |
| 930 |
DATA 940,"Firma",940,"<eingeben>",1000 |
| 940 |
ON K+1 GOTO 950 ,960 ,970 ,980 ,990 |
| 950 |
LPRINT "PAn":GOTO 1010 |
| 960 |
LPRINT "PHerr":GOTO 1010 |
| 970 |
LPRINT "PFrau":GOTO 1010 |
| 980 |
LPRINT "PFraeulein":GOTO 1010 |
| 990 |
LPRINT "PFirma":GOTO 1010 |
| 1000 |
GOSUB 6420 :LPRINT "P";LEFT$ (T$(0),31) |
| 1010 |
GLCURSOR (85,-114) |
| 1020 |
IF LEN (D$(P,0)+D$(P,1))>30 LPRINT "P";LEFT$ (D$(P,1),1);". ":GOTO 1040 |
| 1030 |
LPRINT "P";D$(P,1);" " |
| 1040 |
LPRINT "P";D$(P,0) |
| 1050 |
GLCURSOR (85,-138):LPRINT "P";D$(P,2) |
| 1060 |
GLCURSOR (85,-162):LPRINT "P";D$(P,3) |
| 1070 |
GLCURSOR (85,-28):CSIZE 1:CONSOLE 62 |
| 1080 |
RESTORE 1100 :GOTO 7290 |
| 1100 |
DATA 1,"Absender:",2,"M. Janssen",1130,"<suchen>",1140,"<eingeben>" |
| 1110 |
DATA 1120 |
| 1120 |
GOSUB 6420 :LPRINT "P";T$(0):GOTO 1180 |
| 1130 |
LPRINT "P<Tragen Sie hier Ihren Absender ein!>":GOTO 1180 |
| 1140 |
GOSUB 170 :GOSUB 530 |
| 1150 |
IF LEN (D$(P,0)+D$(P,1)+D$(P,2)+D$(P,3))>54 GOTO 1170 |
| 1160 |
LPRINT "P";D$(P,1);" " |
| 1170 |
LPRINT "P";D$(P,0);" / ";D$(P,2);" / ";D$(P,3) |
| 1180 |
GLCURSOR (0,-360):LPRINT CHR$ 27+"@" |
| 1190 |
GOTO 70 |
| 1200 |
GOSUB 7490 :CHAIN "X:GRAPHADB.CHN",1200 |
| 1860 |
IF F1=0 BEEP 1,255,100:PRINT "Keine Datei !":GOSUB 6300 :GOTO 40 |
| 1870 |
RESTORE 1880 :GOTO 7290 |
| 1880 |
DATA 1,"LISTE",3,"Namen",1900,"Vornamen",1900,"Geb.tage |
| 1890 |
DATA 2010,"MENU",70 |
| 1900 |
L=K:M$(0)="Aaa":INPUT "von: ";M$(0) |
| 1910 |
IF LEN M$(0)<3 LET M$(0)=M$(0)+"aa" |
| 1920 |
CURSOR 5,0:PRINT M$(0) |
| 1930 |
GOSUB 260 :C=R |
| 1940 |
IF D$(P,L)<M$(0) GOSUB 6290 :GOTO 40 |
| 1950 |
M$(0)="Zzz":INPUT "bis: ";M$(0) |
| 1960 |
CURSOR 5,1:PRINT M$(0) |
| 1970 |
IF D$(P,L)>M$(0):GOSUB 6290 :GOTO 40 |
| 1980 |
GOSUB 260 |
| 1990 |
IF D$(P,L)>M$(0) LET R=R-1:P=S(R,L) |
| 2000 |
GOTO 2100 |
| 2010 |
L=2:M$(0)="01.01.":INPUT "von: ";M$(0) |
| 2020 |
CURSOR 5,0:PRINT M$(0) |
| 2030 |
GOSUB 370 :C=R |
| 2040 |
IF U+V*31<VAL LEFT$ (M$(0),2)+VAL MID$ (M$(0),4,2)*31 GOSUB 6290 :GOTO 40 |
| 2050 |
M$(0)="31.12.":INPUT "bis: ";M$(0) |
| 2060 |
CURSOR 5,1:PRINT M$(0) |
| 2070 |
IF U+V*31>VAL LEFT$ (M$(0),2)+VAL MID$ (M$(0),4,2)*31 GOSUB 6290 :GOTO 40 |
| 2080 |
GOSUB 370 |
| 2090 |
IF U+V*31<VAL LEFT$ (D$(P,5),2)+VAL MID$ (D$(P,5),4,2)*31 LET R=R-1:P=S(R,L) |
| 2100 |
GOSUB 6310 |
| 2110 |
RESTORE 2130 :GOTO 7290 |
| 2130 |
DATA 1,"FORMAT",2,"komplette Datensaetze",2150 |
| 2140 |
DATA "Geb.dat./Name/Vorname",2160,"lfd.Nr./Name/Vorname",2240 |
| 2150 |
FOR J=C TO R:P=S(J,L):ON C1 GOSUB 840 ,840 ,690 :NEXT J:GOTO 70 |
| 2160 |
IF C1<>3 PRINT =LPRINT :PRINT " " |
| 2170 |
FOR J=C TO R:P=S(J,L):PRINT D$(P,5) |
| 2180 |
IF LEN (D$(P,1)+D$(P,0))<24 PRINT D$(P,1)+" "+D$(P,0):GOTO 2200 |
| 2190 |
PRINT D$(P,1):PRINT D$(P,0) |
| 2200 |
IF C1=3 GOSUB 6300 :GOTO 2220 |
| 2210 |
PRINT " " |
| 2220 |
NEXT J |
| 2230 |
PRINT =PRINT :GOTO 70 |
| 2240 |
IF C1<>3 PRINT =LPRINT :PRINT " " |
| 2250 |
W=SGN L |
| 2260 |
CLEAR U,V:FOR J=C TO R:P=S(J,L):USING "####" |
| 2270 |
T=J-C+1 |
| 2280 |
IF LEN D$(P,W)<19+15*(C1=1) GOTO 2310 |
| 2290 |
IF V<>INT V AND C1=3 GOSUB 6300 :U=U-INT ((V-INT V+2E-10)*3) |
| 2300 |
PRINT T;") ":USING :PRINT D$(P,W):PRINT D$(P,NOT W+2):U=U+2:GOTO 2370 |
| 2310 |
IF LEN (D$(P,0)+D$(P,1))<18+15*(C1=1) GOTO 2350 |
| 2320 |
IF V<>INT V AND C1=3 GOSUB 6300 :U=U-INT ((V-INT V+2E-10)*3) |
| 2330 |
PRINT T;") "; |
| 2340 |
USING :PRINT D$(P,W):PRINT " ";D$(P,NOT W+2):U=U+1:GOTO 2370 |
| 2350 |
PRINT T;") "; |
| 2360 |
USING :PRINT D$(P,W);" ";D$(P,NOT W+2) |
| 2370 |
V=(T+U)/3 |
| 2380 |
IF V=INT V OR J=R AND C1=3 GOSUB 6300 |
| 2390 |
NEXT J |
| 2400 |
PRINT =PRINT :GOTO 70 |
| 2410 |
GOSUB 7490 :CHAIN "X:PFLEGADB.CHN",2410 |
| 3410 |
GOSUB 7490 :CHAIN "X:SORTADB.CHN",3410 |
| 3950 |
GOSUB 7490 :CHAIN "X:TRANSADB.CHN",3950 |
| 4890 |
RESTORE 4910 :GOTO 7290 |
| 4910 |
DATA 1,"OPTIONEN",4,"Notizen",4930,"Status",5390,"Crypto |
| 4920 |
DATA 5620,"Kalender",6610,"MENU",70 |
| 4930 |
RESTORE 4950 :GOTO 7290 |
| 4950 |
DATA 1,"NOTIZEN",5,"Ausgabe",4970,"Notieren",5070,"Loeschen",5110 |
| 4960 |
DATA "Sichern",5250,"Laden",5300,"MENU",70 |
| 4970 |
IF C4=0 GOTO 5380 |
| 4980 |
IF C4=1 LET K=0:GOTO 5030 |
| 4990 |
RESTORE 5010 :GOTO 7290 |
| 5010 |
DATA 1,"AUSGABE",C4-1,N$(0),5030,N$(1),5030,N$(2),5030 |
| 5020 |
DATA N$(3),5030,N$(4),5030,N$(5),5030 |
| 5030 |
Z=K:GOSUB 6310 :IF C1<>3 PRINT =LPRINT :IF C1=1 CONSOLE 24 |
| 5040 |
PRINT N$(Z):IF C1=3 GOSUB 6300 |
| 5050 |
PRINT =PRINT :CONSOLE 39 |
| 5060 |
GOTO 70 |
| 5070 |
IF C4=6 BEEP 1,255,100:PRINT "Notizspeicher voll !":GOSUB 6300 :GOTO 4930 |
| 5080 |
PRINT "Notiz Nr. ";STR$ (C4+1);" von max. 6":INPUT N$(C4):C4=C4+1 |
| 5090 |
POKE 12348,16:CLS |
| 5100 |
GOTO 70 |
| 5110 |
IF C4=0 GOTO 5380 |
| 5120 |
IF C4=1 LET K=0:GOTO 5170 |
| 5130 |
RESTORE 5150 :GOTO 7290 |
| 5150 |
DATA 1,"LOESCHEN",C4-1,N$(0),5170,N$(1),5170,N$(2),5170 |
| 5160 |
DATA N$(3),5170,N$(4),5170,N$(5),5170 |
| 5170 |
Z=K:PRINT N$(Z):GOSUB 6300 |
| 5180 |
RESTORE 5200 :GOTO 7290 |
| 5200 |
DATA 1,">>> ACHTUNG <<<",2,"NOTIZEN",4930,"MENU",70 |
| 5210 |
DATA "Notiz loeschen",5220 |
| 5220 |
C4=C4-1:IF Z=C4LET N$(Z)="":GOTO 4930 |
| 5230 |
N$(Z)=N$(C4):N$(C4)="" |
| 5240 |
GOTO 4930 |
| 5250 |
IF C4=0 GOTO 5380 |
| 5260 |
GOSUB 4340 |
| 5270 |
OPEN "X:"+F$+".NTZ"FOR OUTPUT AS #4 |
| 5280 |
PRINT #4,C4,N$(*):CLOSE |
| 5290 |
GOTO 70 |
| 5300 |
IF C4 RESTORE 5320 :GOTO 7290 |
| 5320 |
DATA 1,">>> ACHTUNG <<<",2,"NOTIZEN",4930,"MENU",70 |
| 5330 |
DATA "alle Notizen loeschen",5340 |
| 5340 |
GOSUB 4340 |
| 5350 |
OPEN "X:"+F$+".NTZ"FOR INPUT AS #5 |
| 5360 |
INPUT #5,C4,N$(*):CLOSE |
| 5370 |
GOTO 4930 |
| 5380 |
PRINT "Keine Notiz !":GOSUB 6300 :GOTO 70 |
| 5390 |
GOSUB 7490 :CHAIN "X:STATADB.CHN",5390 |
| 5620 |
IF FP GOTO 6000 |
| 5630 |
IF F1=0 PRINT "Keine Datei !":GOSUB 5630 :GOTO 40 |
| 5640 |
RESTORE 5660 :GOTO 7290 |
| 5660 |
DATA 1,"DATENSCHUTZ",2,"Password",5680,"Codieren",5710 |
| 5670 |
DATA "MENU",70 |
| 5680 |
PRINT "Password:":GOSUB 6110 |
| 5690 |
P$(0)=M$(0) |
| 5700 |
FP=1:GOTO 70 |
| 5710 |
GOSUB 7490 :CHAIN "X:CRYPTADB.CHN",5710 |
| 6000 |
ON FP GOTO 6010 ,5710 |
| 6010 |
PRINT "Password:":FOR I=1 TO 3:GOSUB 6110 :CLS |
| 6020 |
IF M$(0)=P$(0) LET I=3:FP=0:GOTO 6040 |
| 6030 |
BEEP 1,255,100:PRINT I;" falsches Password !" |
| 6040 |
NEXT I |
| 6050 |
ON FP+1 GOTO 6060 ,160 |
| 6060 |
RESTORE 6080 :GOTO 7290 |
| 6080 |
DATA 1,"Passwordschutz",1,"erhalten",6090,"beenden",6100 |
| 6090 |
FP=1:GOTO 50 |
| 6100 |
P$(0)="":GOTO 50 |
| 6110 |
M$(0)="":PRINT "?" |
| 6120 |
T=ASC INKEY$ :IF T=0 GOTO 6120 |
| 6130 |
BEEP 1,1,25 |
| 6140 |
IF T=13 GOTO 6200 |
| 6150 |
IF T=15 AND LEN M$(0)>0 LET M$(0)=LEFT$ (M$(0),LEN M$(0)-1):GOTO 6120 |
| 6160 |
IF T=2 CLS :PRINT "neue Eingabe !":GOTO 6110 |
| 6170 |
IF T<32 OR T>122 AND T<>251 AND T<>252 BEEP 1,255,100:GOTO 6120 |
| 6180 |
M$(0)=M$(0)+CHR$ T |
| 6190 |
IF LEN M$(0)<16 GOTO 6120 |
| 6200 |
CLS :IF LEN M$(0)<6 BEEP 1,255,100:PRINT "Password zu kurz !":GOTO 6110 |
| 6210 |
IF FP=1 RETURN |
| 6220 |
PRINT "Kontrolleingabe:":PRINT "?":FOR I=1 TO LEN M$(0) |
| 6230 |
T=ASC INKEY$ :IF T=0 GOTO 6230 |
| 6240 |
BEEP 1,1,25 |
| 6250 |
IF T=15 LET I=I-1:GOTO 6230 |
| 6260 |
IF T=2 LET I=1:PRINT "neue Eingabe !":GOTO 6230 |
| 6270 |
IF T<>ASC MID$ (M$(0),I,1) BEEP 1,255,100:PRINT "Fehler !":I=16:NEXT I:GOSUB 6300 :CLS :GOTO 6110 |
| 6280 |
NEXT I:CLS :RETURN |
| 6290 |
PRINT "Eintraege nur":PRINT "von ";D$(S(0,L),L):PRINT "bis ";D$(S(G,L),L):PRINT "vorhanden |
| 6300 |
WAIT :CURSOR 17,3:PRINT CHR$ 91;"ENTER";CHR$ 93:WAIT 0:BEEP 1,1,25:CLS :RETURN |
| 6310 |
CLOSE #1:RESTORE 6400 :GOTO 7290 |
| 6320 |
C1=1:PRINT "CE-140P"; |
| 6330 |
GOTO 6350 |
| 6340 |
C1=2:PRINT "CE-126P"; |
| 6350 |
PRINT " o.k. ?":GOSUB 6300 |
| 6360 |
IF C1=1 OPEN :LPRINT CHR$ 27+"@ |
| 6370 |
RETURN |
| 6380 |
C1=3:RETURN |
| 6400 |
DATA 1,"ZIEL",2,"CE-140P (inkjet)",6320,"CE-126P (thermo)",6340 |
| 6410 |
DATA "Display",6380 |
| 6420 |
PRINT "Text eingeben:":PRINT CHR$ 91;"ENTER";CHR$ 93;" = "; |
| 6430 |
IF LEN T$(0)>14 PRINT LEFT$ (T$(0),10);" ...":GOTO 6460 |
| 6440 |
IF ASC T$(0)<33 PRINT "<SPC>":GOTO 6460 |
| 6450 |
PRINT T$(0) |
| 6460 |
INPUT T$(0) |
| 6470 |
POKE 12348,16:CLS |
| 6480 |
RETURN |
| 6490 |
CLEAR F5:H=ASC LEFT$ (M$(0),1):IF H<65 OR H>90 AND H<>32 AND H<>0 LET F5=1 |
| 6500 |
H=ASC MID$ (M$(0),2,1):IF H<97 OR H>122 AND H<>46 AND H<>32 AND H<>0 LET F5=1 |
| 6510 |
CLS :IF F5 BEEP 1,255,200:RESTORE 6550 :GOTO 7290 |
| 6520 |
POKE 12348,16 |
| 6530 |
RETURN |
| 6550 |
DATA 1,"EINGABEFEHLER",1,"o.k.",6520,"Hilfe",6560 |
| 6560 |
PRINT "Text mit Kleinbuchstaben":PRINT "Abkuerzungen mit ";CHR$ 34;".";CHR$ 34 |
| 6570 |
PRINT "hinter dem 1. Buchstaben":GOSUB 6300 :PRINT "Daten: TT.MM.JJJJ" |
| 6580 |
PRINT "Freibleibende Felder mit";CHR$ 91;"ENTER";CHR$ 93;" quittieren |
| 6590 |
GOSUB 6300 :GOTO 6520 |
| 6600 |
DATA 31,28+S,31,30,31,30,31,31,30,31,30,31 |
| 6610 |
D=1:INPUT "Monat: ";D |
| 6620 |
IF D<1OR D>12 BEEP 1,255,100:GOTO 6610 |
| 6630 |
E=1991:INPUT "Jahr : ";E |
| 6640 |
IF E<1000 BEEP 1,255,100:GOTO 6630 |
| 6650 |
CLS :T$(0)="JANFEBMARAPRMAIJUNJULAUGSEPOKTNOVDEZ |
| 6660 |
FOR I=1 TO 3:CURSOR 1,I-1:PRINT MID$ (T$(0),3*D+I-3,1):NEXT I |
| 6670 |
CURSOR 0,3:PRINT RIGHT$ (STR$ E,2):CURSOR 3,0:PRINT "Mo Di Mi Do Fr Sa So |
| 6680 |
LINE (20,0)-(149,6),X,BF:LINE (3,0)-(19,31),X,BF |
| 6690 |
A=INT (E/100):B=E-A*100:Z=35+INT (1.25*(B-1))+INT (A/4)-2*A |
| 6700 |
S=0:IF B/4=INT (B/4) LET S=1:IF B=0 AND A/4=INT (A/4) CLEAR S |
| 6710 |
RESTORE 6600 :IF D=1 GOTO 6730 |
| 6720 |
FOR I=1 TO D-1:READ N:Z=Z+N:NEXT I |
| 6730 |
READ N:O=Z-INT (Z/7)*7 |
| 6740 |
FOR I=1 TO 21-O |
| 6750 |
Y=INT ((I+O-1)/7)+1:X=(I+O-(Y-1)*7)*3+(I<10) |
| 6760 |
CURSOR X,Y:PRINT STR$ I |
| 6770 |
NEXT I |
| 6780 |
IF F1=0 GOTO 6880 |
| 6790 |
M$(0)="01.":IF D<10 LET M$(0)=M$(0)+"0" |
| 6800 |
M$(0)=M$(0)+STR$ D:GOSUB 370 |
| 6810 |
IF VAL MID$ (D$(S(R,2),5),4,2)<>D GOTO 6880 |
| 6820 |
C=VAL LEFT$ (D$(S(R,2),5),2) |
| 6830 |
IF C>21-O GOTO 6880 |
| 6840 |
Y=INT ((C+O-1)/7)+1:X=(C+O-(Y-1)*7)*3+2 |
| 6850 |
CURSOR X,Y:PRINT "*" |
| 6860 |
R=R+1:IF R>G GOTO 6880 |
| 6870 |
GOTO 6810 |
| 6880 |
IF C4=0 GOTO 6970 |
| 6890 |
FOR I=0 TO C4-1 |
| 6900 |
IF VAL N$(I)=0 GOTO 6960 |
| 6910 |
U=VAL LEFT$ (N$(I),2):V=VAL MID$ (N$(I),4,2):W=1991 |
| 6920 |
IF V<>D OR U>21-O GOTO 6960 |
| 6930 |
Y=INT ((U+O-1)/7)+1:X=(U+O-(Y-1)*7)*3+2 |
| 6940 |
CURSOR X,Y:IF POINT (X*6+8,Y*8+3) PRINT "+":GOTO 6960 |
| 6950 |
PRINT "!" |
| 6960 |
NEXT I |
| 6970 |
GOSUB 7250 |
| 6980 |
BEEP 1:WAIT :GPRINT :WAIT 0:LINE (23,6)-(23,31),R |
| 6990 |
FOR I=1 TO N-21+O |
| 7000 |
Y=INT ((I-1)/7)+1:X=(I-(Y-1)*7)*3 |
| 7010 |
CURSOR X,Y:PRINT STR$ (I+21-O);" ":NEXT I |
| 7020 |
FOR I=N-20+O TO 21 |
| 7030 |
Y=INT ((I-1)/7)+1:X=(I-(Y-1)*7)*3 |
| 7040 |
CURSOR X,Y:PRINT " ":NEXT I |
| 7050 |
IF F1=0 GOTO 7130 |
| 7060 |
M$(0)=STR$ (22-O):IF D<10LET M$(0)=M$(0)+"0" |
| 7070 |
M$(0)=M$(0)+STR$ D:GOSUB 370 |
| 7080 |
IF VAL MID$ (D$(S(R,2),5),4,2)<>D GOTO 7130 |
| 7090 |
C=VAL LEFT$ (D$(S(R,2),5),2)-21+O:Y=INT ((C-1)/7)+1:X=(C-(Y-1)*7)*3+2 |
| 7100 |
CURSOR X,Y:PRINT "*" |
| 7110 |
R=R+1:IF R>G GOTO 7130 |
| 7120 |
GOTO 7080 |
| 7130 |
IF C4=0 GOTO 7230 |
| 7140 |
FOR I=0 TO C4-1 |
| 7150 |
IF VAL N$(I)=0 GOTO 7220 |
| 7160 |
U=VAL LEFT$ (N$(I),2):V=VAL MID$ (N$(I),4,2):W=1991 |
| 7170 |
IF V<>D OR U<22-O GOTO 7220 |
| 7180 |
U=U-21+O |
| 7190 |
Y=INT ((U-1)/7)+1:X=(U-(Y-1)*7)*3+2 |
| 7200 |
CURSOR X,Y:IF POINT (X*6+8,Y*8+3)PRINT "+":GOTO 7220 |
| 7210 |
PRINT "!" |
| 7220 |
NEXT I |
| 7230 |
GOSUB 7250 :BEEP 1:WAIT :GPRINT :WAIT 0 |
| 7240 |
GOTO 70 |
| 7250 |
FOR Y=11 TO 27 STEP 8:FOR X=38 TO 146 STEP 18 |
| 7260 |
IF POINT (X,Y) LINE (X+2,Y+4)-(X-15,Y-3),X,BF |
| 7270 |
NEXT X:NEXT Y |
| 7280 |
RETURN |
| 7290 |
CLS :READ F0:IF F0 READ M$(0):PRINT M$(0) |
| 7300 |
X=0:Y=F0:READ N:Q=INT (N/(4-F0)):S=16-4*Q |
| 7310 |
FOR I=0 TO N:J=INT (I/(4-F0)):CURSOR J*S,I-(4-F0)*J+F0:READ M$(0),Z(I) |
| 7320 |
PRINT " ";LEFT$ (M$(0),S+6-8*SGN Q):NEXT I |
| 7330 |
K=Y-F0+(4-F0)*X:IF K>N LET X=Q:Y=F0+N-(4-F0)*X:K=N |
| 7340 |
CURSOR X*S,Y:PRINT "->" |
| 7350 |
T=ASC INKEY$ :IF T=0 GOTO 7350 |
| 7360 |
BEEP 1,1,25 |
| 7370 |
IF T=5 CURSOR X*S,Y:PRINT " ":Y=Y+1:IF Y>3 LET Y=F0:X=X+1:IF X>Q CLEAR X |
| 7380 |
IF T=4 CURSOR X*S,Y:PRINT " ":Y=Y-1:IF Y<F0 LET Y=3:X=X-1:IF -X CLEAR X |
| 7390 |
IF T=14 CURSOR X*S,Y:PRINT " ":X=X+1:IF X>Q CLEAR X |
| 7400 |
IF T=15 CURSOR X*S,Y:PRINT " ":X=X-1:IF X<0 LET X=Q |
| 7410 |
IF T=13 CLS :CLEAR X,Y:GOTO Z(K) |
| 7420 |
GOTO 7330 |
| 7430 |
DIM P$(0)*24,T$(0)*62,N$(5)*80,M$(0)*24,Z(8):C2=1 |
| 7440 |
RETURN |
| 7450 |
U=0:IF F2 GOTO 3670 |
| 7460 |
RESTORE 7470 :GOTO 7290 |
| 7470 |
DATA 1,">>> ACHTUNG <<<",2,"alte Datei sichern",4170,"alte Datei loeschen |
| 7480 |
DATA 3670,"MENU",70 |
| 7490 |
RESTORE 7500 :GOTO 7290 |
| 7500 |
DATA 1,"Externer Programmteil !",1,"CE-140F o.k.",7510,"Abbruch",70 |
| 7510 |
RETURN |