FIND (TSB)

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


Dieser Artikel beschreibt das TSB-Schlüsselwort FIND (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls FIND.

Typ: Kommando
Syntax: FIND["]<string>

FIND dient dazu, in einem im Speicher befindlichen Basic-Programm alle Zeilen zu finden, die den nach FIND eingegebenen Text enthalten. FIND ist für den Direktmodus gedacht. Wenn man es im Programm anwendet, endet man nach der Ausgabe dennoch im Direktmodus.

Bei der Eingabe des Suchwortes gibt es zwei Alternativen. Bei beiden wird die FIND-Eingabezeile vom Interpreter untersucht und mit dem Programm-Code verglichen. Dabei werden einerseits alle Zeichenfolgen, die auch TSB-Schlüsselwörter darstellen, in Tokens umgewandelt. Das bedeutet, dass im Verlauf der Suche tatsächlich nur die Basic-Zeilen als Suchergebnis angezeigt werden, die auch diese bereits in Token verwandelten Schlüsselwörter enthalten. Andererseits kann man FIND so aufrufen, dass buchstabengetreu nach dem gesucht wird, was man als Suchwort eingegeben hat. Das bedeutet, dass Schlüsselwörter nicht in Token umgewandelt und, auch wenn sie Bestandteil eines Strings sind, dennoch im Suchergebnis angezeigt werden.

Ein Beispiel: Sucht man nach dem Schlüsselwort INT, zeigt der Befehl nach Eingabe von FINDINT alle Vorkommnisse von INT an. Käme im Programm der String "HINTERGRUND" vor, in dem das Schlüsselwort INT ja versteckt ist, würde diese Stelle nicht als Ergebnis angezeigt. Um auch bei solchen Suchanfragen erfolgreich zu sein, modifiziert man die Anfrage ein wenig: FIND"INT" oder einfach FIND"INT (ohne abschließendes Anführungszeichen).

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

Beachten: Ein Leerzeichen zwischen FIND und dem eigentlichen Suchbegriff ist bei der ersten Eingabealternative signifikant und wird mitgesucht. Leerzeichen hier nur verwenden, wenn sie auch gesucht werden.

Beispiele[Bearbeiten | Quelltext bearbeiten]

FINDwasser
durchsucht das Programm nach der Zeichenfolge "wasser". "wasser" enthält kein Schlüsselwort und wird - sofern vorhanden - in jedem Fall angezeigt.
FIND oder FIND"
listet ausnahmslos alle Programmzeilen
FINDpoke
zeigt die Stellen an, die den Basic-Befehl POKE enthalten
FIND"poke
zeigt die Stellen an, die die Buchstabenfolge POKE enthalten, nicht jedoch tokenisierte Befehlswörter