PLACE

Aus C64-Wiki
Zur Navigation springenZur Suche springen
PLACE
Syntax: PLACE(<string1>,<string2>)
Parameter
string1: Zeichenkettenausdruck
string2: Zeichenkettenausdruck
Einordnung
Typ: numerische Funktion
Kontext: Stringbearbeitung
Aufgabe: Suchen eines Strings in einem anderen
Abkürzung: keine (TSB: plA)
Token: $64 $10 (100 16)
Verwandte Befehle
INST - INSERT


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

Typ: numerische Funktion
Syntax: PLACE(<string1>,<string2>)

Die Funktion PLACE sucht die Zeichenkette <string1> in Zeichenkette <string2> und gibt deren Position innerhalb von <string2> an. Die Zählung beginnt dabei mit 1 (1 = erstes Zeichen). Lautet das Ergebnis 0, ist <string1> nicht in <string2> enthalten.

Eine leere Suchzeichenkette liefert immer das Ergebnis 0, außer wenn die zu durchsuchende Zeichenkette <string2> leer ist. In dem Fall ist das Ergebnis ein undefinierter Wert größer 0 (behoben in TSB).

Bei der Verwendung von Stringkonstanten bei beiden Argumenten (<string1> und <string2>) in Simons' Basic liefert die Funktion im Direktmodus falsche Ergebnisse zurück, in TSB wird daher der Direktmodus mit der Fehlermeldung ?ILLEGAL DIRECT ERROR abgewiesen. Ist dagegen eins der Argumente eine Variable, funktioniert der beabsichtigte Vorgang. In TSB kann man dann mit POKE $9d,0 den Programmmodus erzwingen, um die Funktion ohne Fehlermeldung im Direktmodus auszuführen.

In TSB wurde zusätzlich ein Befehl gleichen Namens integriert, siehe PLACE (TSB).


Beispiel[Bearbeiten | Quelltext bearbeiten]

10 a$=" ": b$="vorname nachname"
20 c=PLACE(a$,b$)
30 PRINT "der gesuchte string ";
40 IF c THEN PRINT "befindet sich an position" c:
   ELSE: PRINT "ist nicht vorhanden"

Ergebnis: "der gesuchte string befindet sich an position 8".