ALTER (SBX)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
ALTER (SBX)
Syntax: 2 Versionen:
  • ALTER<oldcode>&<newcode>
  • ALTER"<oldstring>&<newstring>
Parameter
1. zu ersetzen: <oldcode> Programmcode / <oldstring> Zeichenfolge
2. neu: <newcode> Programmcode / <newstring> Zeichenfolge
Einordnung
Typ: Anweisung
Kontext: Programmierhilfe
Aufgabe: Suchen und Ersetzen von Code oder Text im Programm
Abkürzung: keine
Token: $65 $5b (101 91)
Verwandte Befehle
FIND (SBX)

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


Will man in seinem Programm bestimmte Stellen durch anderen Code ersetzen, kann man dies mit ALTER tun. ALTER sollte nur im Direktmodus benutzt werden.

Typ: Anweisung
Syntax: ALTER<oldcode>&<newcode>
oder:   ALTER"<oldstring>&<newstring>

Die Syntaxversion 1 von ALTER sucht im Programm nach einem Ausdruck aus Zeichen und Befehlen und ersetzt ihn, während die Syntaxversion 2 im Programm nach einer Zeichenkette sucht und diese ersetzt.

Leerzeichen direkt hinter ALTER oder am Ende der Anweisung werden ignoriert. Ein Anführungszeichen hinter ALTER ist nicht Teil des gesuchten Strings; es dient nur zum Einschalten des Quote-Modus.

Anmerkungen[Bearbeiten | Quelltext bearbeiten]

  • Ein fehlender 1. Parameter vor dem "&" führt zu einem Programmabsturz (Guru-Meditation)!
  • Der Artikel zu ALTER im Handbuch "Simons' Basic Extension User Guide" ist fehlerhaft. Das Beispiel dort müsste folgendermaßen aussehen:
 EXAMPLE:   To change the character string "JOHN" into "MIKE" in the following
            program:
ENTER: 10 INPUT "IS YOUR NAME JOHN";A$ 20 IF LEFT$(A$,1)<>"Y" THEN 40 30 PRINT "HI JOHN";:PRINT " - GREAT TO SEE YOU" 40 END
COMMAND: ALTER "JOHN&MIKE<RETURN>
TYPE: LIST<RETURN>
DISPLAY: 10 INPUT "IS YOUR NAME MIKE";A$ 20 IF LEFT$(A$,1)<>"Y" THEN 40 30 PRINT "HI MIKE";:PRINT " - GREAT TO SEE YOU" 40 END

Beispiele[Bearbeiten | Quelltext bearbeiten]

Programm:

10 REM GOTO "GOTO"
20 IF G$="GOTO" THEN GOTO 10

Gegenüberstellung Aufruf und der dadurch entstehende neue Programmcode:

ALTER-Aufruf               Neuer Programmcode

ALTER GOTO&GOSUB           10 REM GOTO "GOTO"
                           20 IF G$="GOTO" THEN GOSUB 10

ALTER"GOTO&GOSUB           10 REM GOTO "GOSUB"
                           20 IF G$="GOSUB" THEN GOTO 10