1 WIDTH 255
2 COMMON date$
5 CLEAR ,,,,512
6 satz%=316
20 REM geschrieben von Graman Engelbert 4020 Linz
25 REM  schneider joyce mit 368k ram, 1 floppy 180k und 1 floppy 720k
30 BUFFERS 24
40 REM escapes definieren
50 GOSUB 50000
60 REM datum holen
70 GOSUB 59000
75 pt=1
80 REM schirm aufbauen
85 uber$=" Programm Login "
90 GOSUB 50400
100 REM passwort
115 z=20:s=10:GOSUB 50100:PRINT inv$" Ihr Name: ";:INPUT "",name$:PRINT nrm$;
117 IF name$=""THEN pw$="":GOTO 200
120 z=25:s=10:GOSUB 50100:PRINT inv$" Passwort: "nrm$;
125 GOSUB 50300:pw$=txt$
140 REM passwort suchen
150 GOSUB 59100
160 IF pw$<>"" THEN pw$="ok": GOTO 200
170 REM passwortcheck ende
175 IF pt>3 THEN PRINT"chain men}":END
180 z=25:s=10:GOSUB 50100:PRINT inv$" Passwort nicht gefunden - bitte wiederholen ..."nrm$: pt=pt+1
185 FOR i=1 TO 2000: NEXT i
190 GOTO 90
200 REM men}
210 uber$=" Kundenkartei - Men} "
220 GOSUB 50400
230 z=10:s=24:GOSUB 50100:PRINT inv$" Eintr{ge bearbeiten     ... 1 "
240 z=12:GOSUB 50100:PRINT inv$" Eintr{ge ausdrucken     ... 2 "
250 z=14:GOSUB 50100:PRINT inv$" Neuer Eintrag           ... 3 "
260 z=16:GOSUB 50100:PRINT inv$" Vertreterstatistik      ... 4 "
265 z=18:GOSUB 50100:PRINT inv$" Neue Datei anlegen      ... 5 "
270 z=20:GOSUB 50100:PRINT inv$" Zur}ck ins Hauptmen} ... EXIT ";nrm$
280 z=24:GOSUB 50100:PRINT inv$" Ihre Wahl: _";nrm$;lft$;
290 a$=INKEY$:IF (a$<"1" OR a$>"5") AND a$<>CHR$(27) THEN 290
300 IF a$=CHR$(27) THEN WIDTH 89:z=22:s=24:GOSUB 50100:PRINT inv$" BITTE WARTEN !! "nrm$:CHAIN "m:men}",150
305 PRINT inv$;a$;nrm$;
310 a=VAL(a$):  ON a GOTO 1000,3000,4000,5000,500
320 GOTO 280
500 REM neue datei
510 uber$=" Neue Datei anlegen "
520 GOSUB 50400
530 z=10:s=24:GOSUB 50100:PRINT inv$" Bitte eine formatierte Disk in Laufwerk B einlegen ! "
540 z=12:GOSUB 50100:PRINT " Dann RETURN f}r die Einrichtung der neuen Datei    ! "
550 z=14:GOSUB 50100:PRINT " Oder EXIT zum Verlassen dieses Programmteiles      ! "nrm$
560 a$=INKEY$:IF a$<>CHR$(13) AND a$<>esc$ THEN 560
570 IF a$<>CHR$(13) THEN GOTO 200
580 z=20:s=16:GOSUB 50100:PRINT inv$" Neue Datei wird auf der Diskette errichtet ! "
585 ON ERROR GOTO 700
590 CREATE 1,"b:kukadat","b:kukaind",2,satz%
600 CLOSE 1
605 ON ERROR GOTO 0
610 GOTO 200
700 REM fehlerroutine
701 IF ERR=58 THEN er$=" Datei schon vorhanden ! "
702 IF ERR=61 OR ERR=67 THEN er$=" Diskette voll ! " 
703 z=27:s=20:GOSUB 50100:PRINT inv$" FEHLER :  "er$;nrm$
710 z=29:s=2:GOSUB 50100:PRINT inv$" Diskettenfehler ist aufgetreten ! Bitte Fehler beheben dann RETURN ! "
720 a$=INKEY$:IF a$<>CHR$(13) THEN 720 
730 RESUME NEXT
900 REM entrypoint f}r chain
910 GOSUB 50000
920 BUFFERS 24
1000 REM eintr{ge bearbeiten
1010 uber$=" Eintr{ge bearbeiten "
2000 REM
2030 REM maske f}r schl}ssel
2040 GOSUB 51000
2050 IF re%>7 THEN 200
2060 GOSUB 50400
2070 z=15:s=32:GOSUB 50100:PRINT inv$" Bitte Warten "nrm$ 
2080 meta=INSTR(sch$,"*")
2090 GOSUB 59200
2095 REM suchen mit metacharacter
2100 IF meta<>0 THEN GOSUB 52000:GOTO 2120
2105 REM suchen ohne metacharacter
2107 sch$=sch$+SPACE$(l(re%)-LEN(sch$))
2110 erg=SEEKKEY(1,0,re%,sch$)
2115 GET 1
2120 IF erg<> 0 THEN GOSUB 50500:GOTO 2145
2130 GOSUB 50600
2135 IF ex=1 THEN 2150
2140 GOSUB 53000
2145 CLOSE 1
2150 IF ex=1 THEN RETURN ELSE 2000
3000 REM ausdruck nach schl}ssel
3010 uber$=" Ausdruck nach Schl}ssel ":ex=1
3020 GOSUB 53220
3030 IF a$=esc$ THEN CLOSE 1:ex=0:GOTO 200
3040 IF a$=CHR$(17) THEN dr$="ett" ELSE dr$=""
3041 GOSUB 2000
3042 IF erg<>0 THEN 3000
3045 IF dr$="ett" THEN GOSUB 53340 ELSE GOSUB 53300
3050 GOSUB 53800
3060 IF erg<>0 AND erg<>101 THEN 3000 ELSE 3045
4000 REM neuer eintrag
4010 uber$=" Neuer Eintrag "
4020 ex=1:IF pw$<>"ok" THEN flag=1:pw$="ok" 
4025 GOSUB 59200
4027 REM txt$ l|schen
4030 GOSUB 50800
4035 REM umsatz = 0
4037 txt$(7)="0"
4040 REM schirmmaske
4050 GOSUB 53000
4055 ex=0:IF flag=1 THEN flag=0:pw$=""
4060 CLOSE 1
4070 GOTO 200
5000 REM vertreterstatistik
5005 IF pw$<>"ok" THEN z=29:s=24:GOSUB 50100:PRINT inv$" Unerlaubtes Kommando !! RETURN f}r weiter ! "nrm$;:INPUT "",a$:GOTO 200
5010 uber$=" Vertreterstatistik ":GOSUB 50400
5011 z=15:s=25:GOSUB 50100:PRINT inv$" Ausgabe am Schirm    ... F1 "
5012 z=17:s=25:GOSUB 50100:PRINT" Ausgabe am Drucker   ... F3 "
5013 z=21:s=25:GOSUB 50100:PRINT" Men}               ... EXIT "
5014 z=24:s=25:GOSUB 50100:PRINT " Ihre Wahl: _"nrm$;
5015 a$=INKEY$:IF a$="" THEN 5015
5016 IF a$=esc$ THEN 200
5017 IF a$=CHR$(17) THEN pr$="ja":GOTO 5020 
5018 IF a$=CHR$(26) THEN pr$="nein":GOTO 5020
5019 GOTO 5015
5020 GOSUB 50400
5030 REM datei aufmachen 
5040 GOSUB 59200
5050 erg=SEEKRANK(1,0,5)
5060 IF erg<>0 THEN GOSUB 50500:CLOSE 1:GOTO 200
5070 vertr$=FETCHKEY$(1)
5073 erg=0
5075 ums=0
5080 WHILE erg=0
5090 GET 1
5100 ums=ums+VAL(ums$)
5110 erg=SEEKNEXT(1,0)
5120 WEND
5145 IF vertr$=SPACE$(15) THEN vertr$="Sonstige"
5147 IF pr$="ja" THEN LPRINT "Vertreter:"TAB(20)vertr$TAB(40)"Umsatz: "TAB(50)DEC$(ums,"############")"kg":GOTO 5160
5150 PRINT "Vertreter: "TAB(20)vertr$TAB(40)"Umsatz: "TAB(50)DEC$(ums,"##########")
5153 IF ums<0 THEN ums=0
5155 PRINT inv$;SPACE$(ums/100000!);nrm$
5160 IF erg<>101 THEN ex=1:GOSUB 50500:ex=0:CLOSE 1:GOTO 200 ELSE 5070
49998 CLOSE 1
49999 END
50000 esc$=CHR$(27)
50005 REM cls$ Schirm l|schen  hom$ Cursor home
50010 hom$=esc$+"H": cls$=hom$+esc$+"E"+esc$+"v"
50015 REM inv$ Invers ein    nrm$ Invers aus
50020 inv$=esc$+"p":nrm$=esc$+"q"
50025 REM und$ Underline ein nun$ Underline  aus
50030 und$=esc$+"r":nun$=esc$+"u"
50035 REM ecl$= erase cursor line  lft$=cursor left
50040 ecl$=esc$+"l":lft$=esc$+"D"
50045 REM rgt$= cursor right  cup$=cursor up
50050 rgt$=esc$+"C":cup$=esc$+"A"
50055 REM dwn$= cursor down   bel$= piepston
50060 dwn$=esc$+"B":bel$=CHR$(7)
50065 REM dimensionierung der div felder
50070 DIM z(20),s(20),l(8)
50071 l(0)=8:l(1)=30:l(2)=15:l(3)=30:l(4)=16:l(5)=15
50075 REM wertzuweisungen an die felder
50080 FOR i=0 TO 8: READ s(i):NEXT i
50081 DATA 24,46,31,46,46,32,31,23,179
50090 RETURN
50099 REM position cursor
50100 PRINT esc$+"Y"+CHR$(z+32)+CHR$(s+32);
50110 RETURN
50200 REM titelzeile
50210 PRINT:PRINT cls$:s=1:FOR z=1 TO 3:GOSUB 50100:PRINT inv$;SPACE$(89);nrm$:NEXT z
50225 z=2:s=2:GOSUB 50100:PRINT inv$;LEFT$(txt$(1),INSTR(txt$(1)," "));nrm$
50227 z=2:s=21:GOSUB 50100:PRINT inv$" Kundenkartei - KUKA - Version 1.1 ",date$;nrm$
50230 RETURN
50300 REM hole text von der tastatur ohne schirmausgabe
50310 txt$=""
50330 a$=INKEY$: IF a$="" THEN 50330
50333 IF a$=CHR$(13) THEN RETURN
50335 PRINT inv$"*"nrm$;
50340 txt$=txt$+a$
50350 GOTO 50330
50400 REM }ber$
50410 GOSUB 50200
50420 z=7:s=39-LEN(uber$)/2:GOSUB 50100:PRINT inv$;uber$;nrm$
50430 RETURN
50500 REM fehler wenn kein weiterer eintrag mehr vorhanden
50505 IF ex=0 THEN z=29:s=10:GOSUB 50100:PRINT ecl$;inv$" Eintrag in der Datei nicht gefunden ! RETURN f}r weiter ! ";nrm$;
50507 IF ex=1 THEN z=29:s=30:GOSUB 50100:PRINT ecl$;inv$" RETURN f}r weiter ! ";nrm$
50510 a$=INKEY$:IF a$<>CHR$(13) THEN 50510
50530 RETURN
50600 REM field variablen in stringvariablen
50610 txt$(0)=knum$:txt$(1)=knam$:txt$(2)=betr$:txt$(3)=stra$:txt$(4)=ort$
50620 txt$(5)=tele$:txt$(6)=vert$:txt$(7)=ums$:txt$(8)=verb$
50630 RETURN
50700 REM txt$ in field
50710 LSET knum$=txt$(0):LSET knam$=txt$(1):LSET betr$=txt$(2):LSET stra$=txt$(3)
50720 LSET ort$=txt$(4):LSET tele$=txt$(5):LSET vert$=txt$(6):LSET ums$=txt$(7)
50730 LSET verb$=txt$(8)
50739 LSET verb$=txt$(8)
50740 RETURN
50800 REM l|sche txt$ variablen
50805 FOR i=0 TO 8:txt$(i)=SPACE$(s(i)-16):NEXT i
50810 RETURN
51000 REM schl}sselauswahl
51005 GOSUB 50400
51010 z=10:s=29:GOSUB 50100:PRINT inv$" Suchen nach: "
51020 z=12:s=29:GOSUB 50100:PRINT " Kundennummer  ... 1 "
51030 z=14:GOSUB 50100:PRINT " Kundenname    ... 2 "
51040 z=16:GOSUB 50100:PRINT " Betriebsart   ... 3 "
51050 z=18:GOSUB 50100:PRINT " Ort           ... 4 "
51060 z=20:GOSUB 50100:PRINT " Telefonnummer ... 5 "
51070 z=22:GOSUB 50100:PRINT " Vertreter     ... 6 "
51075 z=24:GOSUB 50100:PRINT " Men}       ... EXIT "
51080 z=27:GOSUB 50100:PRINT " Ihre Wahl: _";nrm$;lft$;
51090 a$=INKEY$:IF (a$<"1" OR a$>"6") AND a$<>esc$ THEN 51090
51095 IF a$=esc$ THEN re%=8:RETURN
51100 PRINT inv$;a$;nrm$
51110 z=29:s=29:GOSUB 50100:PRINT inv$" Suchbegriff: ";:INPUT "",sch$:PRINT nrm$;:IF sch$=""THEN 51005
51120 re%=VAL(a$)-1
51130 RETURN
52000 REM suchen mit metacharacter
52010 REM erlaubt ist der * als abk}rzungszeichen
52020 erg=SEEKRANK(1,0,re%)
52030 IF erg<>0 THEN RETURN
52040 GET 1
52050 l=meta-1:sch$=LEFT$(sch$,l)
52060 a$=FETCHKEY$(1)
52070 IF sch$=LEFT$(a$,l) THEN erg=0:RETURN
52080 erg=SEEKNEXT(1,0)
52090 IF erg=0 OR erg=101 THEN 52040 ELSE erg=1:RETURN
53000 REM ausgabemaske mit cursorsteuerung und {nderungsteil
53010 REM 
53020 GOSUB 50400
53030 z=13:s=1:GOSUB 50100:PRINT " Kundennummer:"TAB(20)txt$(0)
53040 z=14:GOSUB 50100:PRINT inv$" Kundenname  :"TAB(21)txt$(1)nrm$
53050 z=15:GOSUB 50100:PRINT " Betriebsart :"TAB(20)txt$(2)
53060 z=16:GOSUB 50100:PRINT " Stra~e      :"TAB(20)txt$(3)
53070 z=17:GOSUB 50100:PRINT " Ort         :"TAB(20)txt$(4)
53080 z=18:GOSUB 50100:PRINT " Telefon     :"TAB(20)txt$(5)
53090 z=19:GOSUB 50100:PRINT inv$" Vertreter   :"TAB(21)txt$(6)nrm$
53100 IF pw$="ok" THEN z=20:GOSUB 50100:PRINT " Umsatz in kg:"TAB(20)txt$(7):z=21:s=0:GOSUB 50100:PRINT inv$" Sonstiges    :"TAB(22);esc$+"v"txt$(8)nrm$
53110 IF ex=0 THEN z=29:s=2:GOSUB 50100:PRINT " Weiter "inv$" ENTER "nrm$"  [ndern "inv$" F1 "nrm$"  L|schen "inv$" F3 "nrm$"  Ausdruck "inv$" F8 "nrm$"  LAKA "inv$" + "nrm$"  Men} "inv$" EXIT "nrm$
53111 IF ex=1 THEN GOSUB 53600:RETURN
53120 a$=INKEY$:IF a$<CHR$(13) OR a$>esc$ THEN 53120
53130 IF a$=esc$ THEN RETURN
53140 IF a$=CHR$(16) THEN GOSUB 53200:GOTO 53000
53150 IF a$=CHR$(17) THEN GOSUB 53400:GOTO 53000
53160 IF a$=CHR$(26) THEN GOSUB 53600:GOTO 53000
53170 IF a$=CHR$(13) THEN GOSUB 53800
53175 IF a$=CHR$(22) THEN CLOSE 1:CLOSE:z=27:s=30:GOSUB 50100:PRINT inv$" BITTE WARTEN !! "nrm$:CHAIN"m:laka",900
53180 GOTO 53000
53200 REM ausdruck eines eintrages in ettiketten/rechnungsform oder als listing
53210 uber$=" Ausdrucken einer Eintragung "
53220 GOSUB 50400
53230 z=12:s=25:GOSUB 50100:PRINT inv$" Auflistung der Daten   ... F1 "
53240 z=14:GOSUB 50100:PRINT " Ettikettenform         ... F3 "
53250 z=20:GOSUB 50100:PRINT " R}ckkehr Bearbeitung ... EXIT"nrm$
53260 a$=INKEY$:IF a$<CHR$(17) OR a$>esc$ THEN 53260
53265 IF ex=1 THEN RETURN
53270 IF a$=esc$ THEN RETURN
53280 IF a$=CHR$(26) THEN 53300
53290 IF a$=CHR$(17) THEN 53340 ELSE 53260
53300 LPRINT:LPRINT:LPRINT
53310 LPRINT "Kundennummer:"TAB(20)txt$(0)
53311 LPRINT "Kundenname:"TAB(20)txt$(1)
53312 LPRINT "Betrieb:"TAB(20)txt$(2)
53313 LPRINT "Stra~e:"TAB(20)txt$(3)
53314 LPRINT "Ort:"TAB(20)txt$(4)
53315 LPRINT "Telefon:"TAB(20)txt$(5)
53316 LPRINT "Vertreter:"TAB(20)txt$(6)
53320 IF pw$="ok" THEN LPRINT "Umsatz in kg:"TAB(20)txt$(7):LPRINT "Vereinbarungen:";:FOR i=0 TO 3:LPRINT TAB(20);MID$(txt$(8),1+50*i,50):NEXT i
53325 LPRINT:LPRINT:LPRINT
53330 RETURN
53340 LPRINT:LPRINT:LPRINT
53350 IF LEFT$(txt$(2),2)="  " THEN LPRINT "Herr/Frau" ELSE LPRINT "Firma"
53360 LPRINT txt$(1)
53370 LPRINT txt$(2)
53375 LPRINT txt$(3)
53380 LPRINT esc$+"m1";esc$+"E";txt$(4);esc$+"F"esc$+"m0"
53390 RETURN
53400 REM l|schen
53405 IF pw$<>"ok" THEN z=28:s=18:GOSUB 50100:PRINT inv$" Unerlaubtes Kommando !! RETURN f}r weiter ! "nrm$;:GOTO 50510
53410 z=28:s=28:GOSUB 50100:PRINT inv$;:INPUT " Sind Sie sicher (J/N): ",a$:PRINT nrm$;:IF a$<>"J" THEN RETURN
53420 s=25:GOSUB 50100:PRINT ecl$;inv$" Eintragung wird gel|scht !! "nrm$
53430 erg=SEEKKEY(1,0,0,knum$)
53432 IF erg<>0 THEN RETURN
53433 sn%=FETCHREC(1)
53435 IF sn%=0 THEN RETURN
53440 erg=DELKEY(1,0,0,knum$,sn%)
53450 erg=DELKEY(1,0,1,knam$,sn%)
53460 erg=DELKEY(1,0,2,betr$,sn%)
53470 erg=DELKEY(1,0,3,ort$,sn%)
53480 erg=DELKEY(1,0,4,tele$,sn%)
53490 erg=DELKEY(1,0,5,vert$,sn%)
53493 erg=CONSOLIDATE(1)
53495 RETURN
53500 REM datensatz speichern
53510 z=28:s=26:GOSUB 50100:PRINT ecl$;inv$" Datensatz wird gespeichert !! ";nrm$ 
53520 GOSUB 50700
53530 erg=ADDREC(1,2,0,knum$)
53540 sn%=FETCHREC(1)
53550 erg=ADDKEY(1,0,1,knam$,sn%)
53555 erg=ADDKEY(1,0,2,betr$,sn%)
53560 erg=ADDKEY(1,0,3,ort$,sn%)
53565 erg=ADDKEY(1,0,4,tele$,sn%)
53570 erg=ADDKEY(1,0,5,vert$,sn%)
53575 erg=CONSOLIDATE(1)
53580 RETURN
53600 REM datensatz l|schen
53607 z=29:s=2:GOSUB 50100:PRINT ecl$" Edit: "inv$" auf/ab/links/rechts  DEL "CHR$(252)"  DEL "CHR$(253)nrm$"   Abspeichern "inv$" ENTER "nrm$"  Abbrechen "inv$" EXIT "nrm$
53609 PRINT esc$+"v";
53610 z=13:s=17:ind=0
53620 GOSUB 50100
53630 a$=INKEY$:IF a$="" THEN 53630
53633 IF a$>=" " AND a$<="~" THEN 53700
53634 IF a$=CHR$(7) OR a$=CHR$(127) THEN 53670
53635 IF a$=CHR$(13) THEN 53750
53640 IF a$=CHR$(27) THEN GOSUB 50600:RETURN
53642 IF a$=CHR$(31) THEN IF z=25 THEN z=z-2:s=17:ind=ind-1 ELSE IF z>13 THEN z=z-1:ind=ind-1:s=17 ELSE s=17:z=24:ind=11
53644 IF a$=CHR$(30) THEN IF z<24 THEN z=z+1:ind=ind+1:s=17 ELSE z=13:s=17:ind=0
53646 IF z=24 AND a$=CHR$(6) THEN 53660 ELSE IF z=25 THEN 53664
53647 IF a$=CHR$(1) THEN IF s>17 THEN s=s-1
53648 IF a$=CHR$(6) THEN IF s<s(ind) THEN s=s+1 
53650 IF s>s(ind) THEN s=s(ind)
53652 IF s<17 THEN s=17
53658 GOTO 53620
53660 IF s<89 THEN s=s+1 ELSE s=0:z=z+1
53662 GOTO 53620
53664 IF a$=CHR$(6) THEN IF s<89 THEN s=s+1 
53666 IF a$=CHR$(1) THEN IF s>0 THEN s=s-1 ELSE s=89:z=24
53669 REM deletetasten
53670 IF a$=CHR$(127) AND z<24 AND s>17 THEN txt$(ind)=LEFT$(txt$(ind),s-18)+RIGHT$(txt$(ind),s(ind)-s+1)+" ":s=s-1:GOSUB 53790:GOTO 53620
53680 IF a$=CHR$(7) AND s<s(ind) AND z<25 THEN txt$(ind)=LEFT$(txt$(ind),s-17)+RIGHT$(txt$(ind),s(ind)-s)+" ":GOSUB 53790:GOTO 53620
53685 IF a$=CHR$(7) AND z=25 THEN txt$(ind)=LEFT$(txt$(ind),73+s)+RIGHT$(txt$(ind),s(ind)-s-90)+" ":GOSUB 53790:GOTO 53620
53690 IF a$=CHR$(127) AND z=25 THEN txt$(ind)=LEFT$(txt$(ind),72+s)+RIGHT$(txt$(ind),s(ind)-s-89)+" ":GOSUB 53790:a$=CHR$(1):GOTO 53666
53695 GOTO 53620
53699 REM insertmodus
53700 IF z<24 THEN txt$(ind)=LEFT$(txt$(ind),s-17)+a$+RIGHT$(txt$(ind),s(ind)-s+1):txt$(ind)=LEFT$(txt$(ind),s(ind)-16):GOSUB 53790:a$=CHR$(6):GOTO 53646
53710 IF z=25 THEN txt$(ind)=LEFT$(txt$(ind),73+s)+a$+RIGHT$(txt$(ind),s(ind)-s-89):txt$(ind)=LEFT$(txt$(ind),s(ind)-16):GOSUB 53790:a$=CHR$(6):GOTO 53664
53720 GOTO 53620
53730 REM {ndern ende
53750 GOSUB 53430:GOSUB 53500:RETURN
53780 GOTO 53620
53790 SWAP s,ss:SWAP z,zz:s=17:z=13+ind:PRINT:GOSUB 50100:PRINT txt$(ind):SWAP ss,s:SWAP zz,z:RETURN
53800 REM n{chsten datensatz lesen
53820 erg=SEEKNEXT(1,0)
53825 IF meta<>0 THEN 53900
53830 IF erg<>0 THEN GOSUB 50500:RETURN
53840 GET 1
53850 GOSUB 50600
53860 RETURN
53900 REM suchen mit metachar
53910 IF erg<>0 AND erg<>101 THEN GOSUB 50500:RETURN
53920 GOSUB 52040
53930 IF erg<>0 THEN GOSUB 50500:RETURN
53940 GOSUB 50600
53950 RETURN
53999 RETURN
59000 REM datum holen
59010 OPEN "i",#1,"m:datum.lib"
59020 INPUT #1,tag$,mon$,jahr$
59025 date$=tag$+"."+mon$+"."+jahr$
59030 CLOSE 1
59040 RETURN
59100 OPEN "i",#1,"m:passwd.lib"
59110 WHILE NOT EOF(1)
59120 INPUT #1,n$,passwd$,d$
59130 IF passwd$=pw$ AND name$=n$ THEN 59160
59140 WEND
59150 pw$=""
59160 CLOSE 1
59170  RETURN
59200 REM indexsequentielle datei |ffnen
59210 OPEN "K",1,"b:kukadat","b:kukaind",2,satz%
59220 FIELD 1,8 AS knum$,30 AS knam$,15 AS betr$,30 AS ort$,16 AS tele$,15 AS vert$,30 AS stra$,7 AS ums$,163 AS verb$
59230 RETURN
60000 PRINT"error "erg
60010 CLOSE 1
r$,30 AS ort$,16 AS tele$,15 AS vert$,30 A