FIND

Aus C64-Wiki
Wechseln zu: Navigation, Suche
FIND
Format: FIND<string>
Parameter
string: gesuchte Zeichenfolge
Einordnung
Typ: Kommando
Kontext: Programmierhilfe
Aufgabe: Suchen von Programmstellen
Abkürzung: keine
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-Befehl INT, dann wird FIND auch fündig, wenn er im Programm vorkommt. Sucht man allerdings nach der 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.

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

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: 

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)