PLACE
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".
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE