FIND

Aus C64-Wiki
Zur Navigation springenZur Suche springen
FIND
Syntax: FIND<string>
Parameter
string: gesuchte Zeichenfolge
Einordnung
Typ: Kommando
Kontext: Programmierhilfe
Aufgabe: Suchen von Programmstellen
Abkürzung: keine (TSB: fiN)
Token: $64 $4d (100 77)
Verwandte Befehle
PAGE - OPTION - DELAY


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort FIND.

Typ: Kommando
Syntax: FIND<string>

Wer in seinem Programm (alle) Stellen sucht, an denen ein bestimmter String oder ein bestimmter Befehl steht, der muss FIND benutzen. FIND wird im Direktmodus verwendet, im Programm funktioniert das Kommando auch, aber sein Aufruf endet auch dort im Direktmodus.

Bei der Angabe von Suchzeichen muss man wissen, was intern beim Absenden des Suchauftrags passiert, damit man auch das findet, was man sucht: Nach Eingabe von <Return> auf der FIND-Zeile wandelt der Interpreter das FIND und alles, was darauf noch folgen sollte, in Tokens um, soweit das möglich ist. Sucht man also nach dem BASIC-Schlüsselwort INT, dann wird FIND auch fündig, wenn er im Programm vorkommt. Sucht man allerdings nach der 3-buchstabigen Zeichenfolge "INT", z. B. innerhalb eines Strings, sagen wir im Wort "INTERNATIONAL", dann wird FIND diese Stelle nicht anzeigen, da es ja nach dem Token für den Befehl INT sucht (das den Wert $B5 bzw. 181 hat). Es nützt nichts, Anführungszeichen um INT zu setzen, also FIND"INT" zu schreiben, denn FIND würde diese Anführungszeichen mitsuchen und ebenfalls nicht fündig werden. FIND"INT (ohne abschließendes Anführungszeichen) wäre dagegen erfolgreich, denn diese Zeichenfolge liegt ja auch tatsächlich vor.

In so einem Fall muss man die gesuchte Zeichenfolge so zurechtstutzen, dass in ihr kein Basic-Befehl (weder von BASIC V2 noch von Simons' Basic oder TSB) vorkommt. In unserem Beispiel als etwa "NT" oder "NTE" oder ähnlich.

FIND gibt die Zeilennummern der Fundstellen im Tabulatorabstand aus, also vier Fundstellen-Zeilennummern pro Bildschirmzeile.

Beachten: Auch ein Leerzeichen zwischen FIND und dem eigentlichen Suchbegriff ist signifikant und wird mitgesucht. Leerzeichen nach FIND also tunlichst vermeiden!


Beispiele[Bearbeiten | Quelltext bearbeiten]

FINDwasser
durchsucht das Programm nach der Zeichenfolge "wasser"
FIND
listet ausnahmslos alle Programmzeilen)
FIND"
findet alle Strings im Programm
FINDpoke
zeigt die Stellen an, die den Basic-Befehl POKE enthalten