1 REM COPYRIGHT BY HOLGER HERRMANN 2 REM ***** VERSION 1.05 ***** 3 *LADEN2 5 CLEAR :CLS 7 ON ERROR GOTO 5000 10 PRINT "Name des zu ladenden Adressbuches" 11 PRINT "(max. 8 Zeichen)" 12 USING "########":INPUT NAM$ 13 USING 20 OPEN "E:"+NAM$+".ANZ" FOR INPUT AS #1 30 ERASE ANZAHL 50 INPUT #1,ANZAHL 60 CLOSE #1 70 IF ANZAHL>0 THEN 80 ERASE AD$ 90 DIM AD$(9,ANZAHL+10) 94 PRINT " Lade Adressbuch" 95 GOSUB *LADEN 101 ELSE 102 ERASE AD$ 103 DIM AD$(9,10) 104 ENDIF 108 *ANFANG 109 PRINT " Adressenverwaltungsprogramm" 110 PRINT "(1)Adressen ansehen/bearbeiten" 120 PRINT "(2)Adressen laden (3)Adressen speichern" 130 PRINT " (E)ENDE" 140 A$=INPUT $(1) 150 IF A$="E" OR A$="e" THEN GOTO *END 160 IF A$="1" THEN GOTO *BEARBEITEN 170 IF A$="2" THEN GOSUB *LADEN2 180 IF A$="3" THEN GOSUB *SPEICHERN 185 GOTO *ANFANG 190 *LADEN 205 IF ANZAHL<>0 THEN 210 OPEN "E:"+NAM$+".AKT" FOR INPUT AS #1 220 ERASE AD$ 230 DIM AD$(9,ANZAHL+10) 240 FOR LADEN= 1 TO ANZAHL 245 T=T+1 246 LOCATE T,3 247 PRINT "*" 250 FOR PLATZ=1 TO 9 260 INPUT #1,AD$(PLATZ,LADEN) 270 NEXT PLATZ 280 NEXT LADEN 285 T=0 290 CLOSE #1 300 ELSE 310 PRINT "Fehler in Datei <";NAM$;".ANZ>" 320 PRINT "Datei nicht vorhanden, oder noch keine" 330 PRINT "Adressen gespeichert!" 340 PRINT " < TASTE>" 350 AA$=INPUT $(1) 360 RETURN 370 ENDIF 380 RETURN 390 PRINT "Fehler in Datei <";NAM$;".AKT> !" 400 PRINT "Datei nicht mehr vorhanden oder noch" 410 PRINT "keine Adressen abgespeichert!" 420 PRINT " < TASTE >" 430 AA$=INPUT $(1) 440 RETURN 460 *SPEICHERN 461 CLS :PRINT "Name des zu speichernden Adressbuches" 462 PRINT "eingeben (max. 8 Zeichen)" 463 USING "########":INPUT NAM$ 464 USING 465 PRINT " speichere jetzt die Datei" 470 OPEN "E:"+NAM$+".ANZ" FOR OUTPUT AS #1 480 OPEN "E:"+NAM$+".AKT" FOR OUTPUT AS #2 490 PRINT #1,ANZAHL 500 CLOSE #1 505 IF ANZAHL>0 THEN 510 FOR SPEICHER=1 TO ANZAHL 520 H=H+1 523 LOCATE H,3 525 PRINT "*" 530 PRINT #2,AD$(1,SPEICHER);",";AD$(2,SPEICHER);",";AD$(3,SPEICHER);",";AD$(4,SPEICHER);",";AD$(5,SPEICHER);",";AD$(6,SPEICHER);",";AD$(7,SPEICHER);",";AD$(8,SPEICHER);",";AD$(9,SPEICHER) 550 NEXT SPEICHER 560 CLOSE #2 565 H=0 570 RETURN 580 ELSE 590 PRINT "Sie haben noch keine Adressenprofile" 600 PRINT "erstellt oder geladen, daher koennen sie" 610 PRINT "keine Adressen speichern!" 620 PRINT " < TASTE >" 630 AA$=INPUT $(1) 640 RETURN 650 ENDIF 670 *BEARBEITEN 680 CLS 690 PRINT "Wollen sie:" 700 PRINT "(1) Die Liste anzeigen?" 710 PRINT "(2) Eintrag der Liste veraendern?" 720 PRINT "(3) Eintrag hinzufuegen/loeschen?" 725 B$="" 730 B$=INPUT $ (1) 740 IF B$="1" THEN GOTO *ANZEIGEN 750 IF B$="2" THEN GOTO *EDITIEREN 760 IF B$="3" THEN GOTO *LOESCHHINZUF 770 IF B$="0" THEN GOTO *ANFANG 780 GOTO *BEARBEITEN 790 *ANZEIGEN 793 SPEICHER=1 795 GOSUB *AUSWAHL 800 PRINT "Nachname: ";AD$(1,SPEICHER) 810 PRINT "Vorname: ";AD$(2,SPEICHER) 820 PRINT "Strasse: ";AD$(3,SPEICHER);" ";AD$(4,SPEICHER) 830 PRINT "Stadt: ";AD$(5,SPEICHER);" ";AD$(6,SPEICHER) 840 BB$=INPUT $(1) 850 PRINT "Tel.: ";AD$(7,SPEICHER) 860 PRINT "FAX: ";AD$(8,SPEICHER) 870 PRINT "E-Mail: ";AD$(9,SPEICHER) 880 PRINT " " 890 CC$=INPUT $(1) 1020 IF CC$="0" THEN GOTO *BEARBEITEN 1030 IF CC$<>"0" THEN GOSUB *AUSWAHL 1035 GOTO 800 1040 *LOESCHHINZUF 1045 CLS 1050 PRINT "Wollen sie:" 1055 PRINT "(1) Einen Eintrag hinzufuegen?" 1060 PRINT "(2) einen Eintrag loeschen?" 1070 AA$=INPUT $(1) 1080 IF AA$="1" THEN GOTO *HINZUFUEGEN 1090 IF AA$="2" THEN GOTO *LOESCHEN 1100 IF AA$="0" THEN GOTO *BEARBEITEN 1110 IF AA$<>"1" AND AA$<>"2" AND AA$<>"0" THEN GOTO *LOESCHHINZUF 1120 *HINZUFUEGEN 1130 PRINT "Geben sie bitte folgendes ein:" 1140 SPEICHER=ANZAHL+1 1150 INPUT "Nachname: ";AD$(1,SPEICHER) 1160 INPUT "Vorname: ";AD$(2,SPEICHER) 1170 INPUT "Hausnummer: ";AD$(4,SPEICHER) 1180 INPUT "Strasse: ";AD$(3,SPEICHER) 1190 INPUT "PLZ: ";AD$(5,SPEICHER) 1200 INPUT "Stadt: ";AD$(6,SPEICHER) 1210 INPUT "Tel.: ";AD$(7,SPEICHER) 1220 INPUT "FAX: ";AD$(8,SPEICHER) 1230 INPUT "E-Mail: ";AD$(9,SPEICHER) 1240 PRINT "Alle Angaben richtig (J/N)?" 1250 BB$=INPUT $(1) 1260 IF BB$="J" OR BB$="j" THEN 1270 ANZAHL=ANZAHL+1 1280 GOTO *LOESCHHINZUF 1290 ENDIF 1300 IF BB$="N" OR BB$="n" THEN 1310 GOTO *LOESCHHINZUF 1320 ENDIF 1330 IF BB$<>"J" AND B$<>"N" AND BB$<>"j" AND BB$<>"n" THEN GOTO 1240 1340 *EDITIEREN 1342 SPEICHER=1 1345 CLS 1350 PRINT "Welches Profil wollen sie editieren?" 1360 PRINT "Blaettern sie mit (7) hoch, (1) runter" 1370 PRINT "und mit (4) Profil auswaehlen." 1371 GOSUB *AUSWAHL2 1580 *EDITIEREN2 1590 PRINT "Nachname ALT: ";AD$(1,SPEICHER) 1600 INPUT "Nachname NEU: ";AD$(1,SPEICHER) 1610 PRINT "Vorname ALT: ";AD$(2,SPEICHER) 1620 INPUT "Vorname NEU: ";AD$(2,SPEICHER) 1630 PRINT "Hausnummer ALT: ";AD$(4,SPEICHER) 1640 INPUT "Hausnummer NEU: ";AD$(4,SPEICHER) 1650 PRINT "Strasse ALT: ";AD$(3,SPEICHER) 1660 INPUT "Strasse NEU: ";AD$(3,SPEICHER) 1670 PRINT "PLZ ALT: ";AD$(5,SPEICHER) 1680 INPUT "PLZ NEU: ";AD$(5,SPEICHER) 1690 PRINT "Stadt ALT: ";AD$(6,SPEICHER) 1700 INPUT "Stadt NEU: ";AD$(6,SPEICHER) 1710 PRINT "Tel. ALT: ";AD$(7,SPEICHER) 1720 INPUT "Tel. NEU: ";AD$(7,SPEICHER) 1730 PRINT "FAX ALT: ";AD$(8,SPEICHER) 1740 INPUT "FAX NEU:";AD$(8,SPEICHER) 1750 PRINT "E-Mail ALT: ";AD$(9,SPEICHER) 1760 INPUT "E-Mail NEU: ";AD$(9,SPEICHER) 1770 GOTO 1345 1780 *LOESCHEN 1785 CLS 1790 PRINT "Welchen Eintrag wollen sie loeschen?" 1800 PRINT "(7) hoch, (1) runter, (4) auswaehlen" 1805 GOSUB *AUSWAHL2 2060 *LOESCHEN2 2070 PRINT "Wirklich ";AD$(1,SPEICHER);" loeschen? (J/N)" 2080 HH$=INPUT $(1) 2090 IF HH$="N" OR HH$="n" THEN GOTO *LOESCHHINZUF 2100 IF HH$="J" OR HH$="j" THEN 2200 PRINT " ordne Daten neu" 2210 FOR I= SPEICHER TO ANZAHL-1 2220 AD$(1,I)=AD$(1,I+1) 2230 AD$(2,I)=AD$(2,I+1) 2240 AD$(3,I)=AD$(3,I+1) 2250 AD$(4,I)=AD$(4,I+1) 2260 AD$(5,I)=AD$(5,I+1) 2270 AD$(6,I)=AD$(6,I+1) 2280 AD$(7,I)=AD$(7,I+1) 2290 AD$(8,I)=AD$(8,I+1) 2300 AD$(9,I)=AD$(9,I+1) 2310 NEXT I 2320 ANZAHL=ANZAHL-1 2330 GOTO *LOESCHHINZUF 2340 ENDIF 2350 GOTO *LOESCHEN 5000 IF ERL =50 OR ERL =20 THEN 5010 ANZAHL=0 5015 CLOSE 5020 GOTO 70 5030 ENDIF 5040 IF ERL =210 THEN 5050 CLOSE 5060 GOTO 390 5070 ENDIF 5080 PRINT ERL ;ERN 5090 END 5100 *END 5105 CLS 5110 PRINT "Wollen sie das Adressbuch vorher" 5120 PRINT "noch speichern? (eventuelle Aende-" 5130 PRINT "rungen gehen sonst verloren) (J/N)" 5140 EE$=INPUT $(1) 5150 IF EE$="J" OR EE$="j" THEN 5170 GOSUB *SPEICHERN 5180 END 5190 ENDIF 5200 IF EE$="N" OR EE$="n" THEN END 5210 IF EE$="0" THEN GOTO *ANFANG 5220 GOTO *END 6000 *AUSWAHL:REM ****** AUSWAHL ******* 6001 CLS :PRINT "Welche Adresse wollen sie ange-" 6002 PRINT "zeigt bekommen?" 6003 PRINT "(7) hoch,(1) runter,(4) Auswahl" 6010 *AUSWAHL2 6020 IF ANZAHL>0 THEN 6030 LOCATE 0,3 6040 PRINT " " 6050 LOCATE 0,3 6060 PRINT AD$(1,SPEICHER);", ";AD$(2,SPEICHER) 6070 FF$=INPUT $(1) 6080 IF FF$="0" THEN GOTO *BEARBEITEN 6090 IF FF$="7" THEN 6100 SPEICHER=SPEICHER-1 6110 IF SPEICHER=0 THEN 6120 SPEICHER=ANZAHL 6130 ENDIF 6140 GOTO 6030 6150 ENDIF 6160 IF FF$="1" THEN 6170 SPEICHER=SPEICHER+1 6180 IF SPEICHER>ANZAHL THEN 6190 SPEICHER=1 6200 ENDIF 6210 GOTO 6030 6220 ENDIF 6230 IF FF$="4" THEN RETURN 6240 GOTO 6030 6250 ELSE 6260 CLS :PRINT "Sie haben keine Daten, die sie" 6270 PRINT "anzeigen oder bearbeiten koennen!" 6280 GG$=INPUT $(1) 6290 GOTO *BEARBEITEN 6300 ENDIF