ALTER (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
* | ADD ALL | ADD ARR | ALTER | BACK | BARRIER | BCKFLASH | BEEP | BIN$ | CALCX | CALCY | CCOL | CHAIN | CHANGE | CLEAR | CONTINUE | COPY ARR | CREATE | DEEK | DEG | DELETE | DIV ALL | DIV ARR | DOKE | DRAW TO | DS$ | ECOL | ELEMENTS | EVAL | FILTER | FIND | FONT | FORCE | GRAD | GRID | HELP | HEX$ | HIMEM | HLIN | HLOAD | HSAVE | INFO | INIT | INPUT ARR | INVERT | LABEL | LOMEM | LOW RES | MAX | MCOL | MIN | MODE | MUL ALL | MUL ARR | NORMAL | ON DETECT | PREPARE | PRINT ARR | PROTECT | PULL | PULSE | PUSH | READ ARR | RENUMBER | REVERSE | ROTATE | SCALE | SCHR | SCOL | SCRATCH | SCREEN | SCX | SCY | SET ARR | SHOW | SORT | SPRITE | SPR LOC | SPRX | SPRY | START | SUB ALL | SUB ARR | SUM | TICK | TRANSFER | UPPER | VLIN | XVEC | YVEC | ZER ARR |