RENUMBER

Aus C64-Wiki
Zur Navigation springenZur Suche springen
RENUMBER
Syntax: RENUMBER <start>, <step>
Parameter
start: Startzeilennummer
step: Schrittweite beim Inkrementieren
Einordnung
Typ: Kommando
Kontext: Programmierhilfe
Aufgabe: Die Zeilennummern eines Programms umnummerieren
Abkürzung: keine
Token: $64 $79 (100 121)
Verwandte Befehle
keine


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort RENUMBER.
Zu vergleichbarer Funktionalität abseits von Simons' Basic siehe Renumber.

Typ: Kommando
Syntax: RENUMBER <start>, <step>

Der Befehl RENUMBER soll es ermöglichen, unregelmäßige Abstände in der Zeilennummerierung eines Programms (viele "Einschübe" zwischen dem normalen Abstand zweier BASIC-Zeilen, z. B. folgt auf Zeile 100 nicht 110, sondern 102, 104 und 105 usw.) wieder in einen bestimmten, gleichmäßigen Abstand zu bringen. Zwischen unmittelbar aufeinanderfolgend nummerierten Zeilen können dann auch wieder neue Zeilen eingefügt werden (sofern die Schrittweite größer als 1 gesetzt war).
Beim Aufruf gibt man hinter RENUMBER eine Startzeilennummer <start> und eine einzuhaltende Schrittweite <step> ein. Das Programm wird nach Betätigen von RETURN  neu durchnummeriert.

Bei berechnenden GOTOs in Form von CGOTO-Aufrufen müssen diese gegebenenfalls nach einem RENUMBER-Aufruf entsprechend angepasst werden. Das kann automatisiert nicht einfach von RENUMBER gelöst werden.

Vorsicht:

  • Selbst bei den einfachen Fällen wirkt sich leider die Nummerierung ausschließlich auf die Zeilennummern der Programmzeilen selbst aus, jedoch nicht auf Sprungzielangaben in Form von Zeilennummern innerhalb des Programms, wie sie z.B. bei RUN, LIST, THEN/GOTO und GOSUB vorkommen.
  • Auch die Überschreitung der Höchstgrenze für Zeilennummern (63999) wird nicht abgefangen, mit dem Ergebnis, dass Zeilen mit einer Nummerierung ab 64000 (wie sie durch RENUMBER entstehen können) nicht mehr editierbar sind und auch vom Interpreter während eines Programmlaufs nicht mehr gefunden werden. Das Programm ist damit unwiderruflich zerstört.

Aus diesen Gründen ist dieser Befehl nur eingeschränkt brauchbar und es sollte auf alternative Renumber-Implementierungen wie jene von TSB oder der Simons' Basic Extension zurückgegriffen werden.


Dieser Befehl wurde in TSB so überarbeitet, dass er nunmehr voll funktionsfähig ist, siehe RENUMBER (TSB).


Beispiel[Bearbeiten | Quelltext bearbeiten]

RENUMBER 100,10

Dieser Befehl nummeriert die BASIC-Zeilen ab 100 mit einer Schrittweite von 10 neu.