home *** CD-ROM | disk | FTP | other *** search
- 90 dim name$(100), rec%(100)
- 100 open 1,8,15: rem befehlskanal oeffnen
- 110 open 2,8,2,"infodatei,s,r": rem seq.datei oeffnen
- 120 input#1,a: rem fehler aufgetreten?
- 130 if a<>0 then goto 140: rem ja, dann weiter
- 132 input#2,ad: rem adressanzahl lesen
- 134 for i=1 to ad
- 136 : input#2,name$(i): input#2,rec%(i)
- 137 : if name$(i)="*" then name$(i)=""
- 138 next i
- 140 close 2: rem sequentielle datei schliessen
- 150 :
- 160 open 2,8,2,"adressen,l,"+chr$(100): rem rel-datei oeffnen
- 170 :
- 180 :
- 190 rem *** menue ***
- 200 print:print "1=eintragen/2=suchen/3=blaettern/4=aendern/5=ende":print
- 210 get a$: if a$="" then goto 210
- 220 :
- 230 if a$<>"5" then on val(a$) gosub 340,1060,430,550: goto 200
- 240 :
- 250 close 2: rem relative datei schliessen
- 260 print#1,"s:infodatei": rem seq.datei loeschen
- 270 open 2,8,2,"infodatei,s,w": rem seq.datei oeffnen
- 280 print#2,ad: rem adressanzahl speichern
- 282 for i=1 to ad
- 284 : if name$(i)="" then name$(i)="*"
- 286 : print#2,name$(i): print#2,rec%(i)
- 288 next i
- 290 close 2: close 1: rem alle dateien schliesen
- 300 end
- 310 :
- 320 :
- 330 rem *** neue adresse eintragen ***
- 340 print "*eintragen*"
- 350 gosub 650: rem adresse abfragen
- 360 ad=ad+1
- 370 rec=ad: gosub 880: rem positionieren
- 375 name$(ad)=n$: rec%(ad)=rec: gosub 950: rem index sortieren
- 380 gosub 740: rem satz schreiben
- 390 return
- 400 :
- 410 :
- 420 rem *** blaettern ***
- 430 print "*blaettern*"
- 435 snr=1: goto 475
- 440 get a$: if a$="" then goto 440
- 450 if a$<>chr$(29) and a$<>chr$(157) then return
- 460 if a$=chr$(29) and snr<ad then snr=snr+1
- 470 if a$=chr$(157) and snr>1 then snr=snr-1
- 475 rec=rec%(snr)
- 480 gosub 880: rem positionieren
- 490 gosub 810: rem adresse lesen
- 500 print: print n$: print w$: print t$: print
- 510 goto 440
- 520 :
- 530 :
- 540 rem *** aendern ***
- 550 print "*aendern*"
- 560 gosub 650: rem adresse abfragen
- 570 gosub 880: rem positionieren
- 575 name$(snr)=n$: rec%(snr)=rec: gosub 950: rem index sortieren
- 580 gosub 730: rem satz schreiben
- 590 return
- 600 :
- 610 :
- 640 rem *** adresse abfragen ***
- 650 n$="": w$="": t$=""
- 660 input "name";n$
- 670 input "wohnort";w$
- 680 input "telefon";t$
- 690 return
- 700 :
- 710 :
- 720 rem *** datensatz schreiben ***
- 730 if n$="" then n$="*": rem achtung: das schreiben von
- 740 if w$="" then w$="*": rem 'leerstrings' muss ver-
- 750 if t$="" then t$="*": rem mieden werden !!!
- 760 print#2,n$ chr$(13) w$ chr$(13) t$: rem 1 print#-befehl !!!
- 770 return
- 780 :
- 790 :
- 800 rem *** datensatz lesen ***
- 810 input#2,n$: if n$="*" then n$=""
- 820 input#2,w$: if w$="*" then w$=""
- 830 input#2,t$: if t$="*" then t$=""
- 840 return
- 850 :
- 860 :
- 870 rem *** positionieren ***
- 880 hb=int(rec/256)
- 890 lb=rec-hb*256
- 900 print#1,"p"+chr$(2)+chr$(lb)+chr$(hb)+chr$(1)
- 910 return
- 920 :
- 930 :
- 940 rem *** sortieren ***
- 950 for i=1 to ad-1
- 960 : for j=i to ad
- 970 : if name$(i)<=name$(j) then 1000
- 980 : s$=name$(i): name$(i)=name$(j): name$(j)=s$
- 990 : s=rec%(i): rec%(i)=rec%(j): rec%(j)=s
- 1000 : next j
- 1010 next i
- 1020 return
- 1030 :
- 1040 :
- 1050 rem *** adresse suchen ***
- 1060 input "gesuchter name";sn$
- 1070 for snr=1 to ad
- 1080 : if name$(snr)<>sn$ then goto 1150
- 1090 : rec=rec%(snr)
- 1100 : gosub 880: rem positionieren
- 1110 : gosub 810: rem satz lesen
- 1120 : print: print n$: print w$: print t$: print
- 1130 : input "weitersuchen(j/n)";a$
- 1140 : if a$<>"j" then return
- 1150 next snr
- 1160 return
-