25055 IF Z=0 THEN 1000
25060 INPUT "VORNAME: ";D1$
25070 INPUT "NAME
Wir erzeugen wieder den Programmkopf in Zeile 25030.
Danach rufen wir die Routine ab Zeile 500 auf, die
bekanntlich überprüft, ob überhaupt Daten im Rechner
vorhanden sind. Nun lesen wir Vorname und Name der zu
löschenden Adresse ein. Diese beiden Eingaben speichern
wir in Dl$
Adressentabelle
FOR...NEXT-Schleife kann hier nicht eingesetzt werden, da
diese
mit
Sicherheit
dann,
wenn
FOR...NEXT-Schleifen
abbrechen. Der Grund dafür ist folgender: Die Adresse des
Schleifenanfangs
ordnungsgemäßen Ablauf der Schleife wird diese Adresse
wieder gelöscht. Wird die Schleife nun mehrmals vorzeitig
verlassen, so füllt sich dieser Speicherbereich auf. Dies
kann dazu führen, daß keine Schleife mehr akzeptiert
wird.
Wir bauen also eine selbst gesteuerte Schleife auf.
25080 X=1
25090 IF D$(X,2)=D1$ AND D$(X,3)=D2$ THEN 25130
25100 IF X<Z THEN X=X+1:G0T0 25090
25110 FE$3"NAMEN
25120 GOSUB 200:GOTO 1000
Der Anfangswert der Schleifenvariable X wird zunächst auf
1 gesetzt. Innerhalb der Schleife wird gprüft, ob die mit
X indizierte Adresse mit der gesuchten übereinstimmt. Der
zweite Index 2 und 3 entspricht dem Vornamen und dem
Namen, der mit Dl$ und D2$ verglichen wird. Stimmt der
Name
überein,
fortgesetzt.
Schleifenvariable X um 1 erhöht, sofern sie noch nicht
das Ende der Adresstabelle erreicht hat.
: ";D2$
und D2$.
Nun müssen wir die
nach
diesem
vorzeitig
die
sollte
wird
im Rechner abgelegt.
GEFUNDEN!:"
nicht
so wird
In
der
-
Namen
verlassen
Adresse
gefunden
man
das
Program
Zeile
25100
143
-
gesamte
durchsuchen.
wird,
nämlich
wurde.
nicht
vorzeitig
Erst nach
in
Zeile
wird
Eine
25130
die