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
-