RENUMBER

Aus C64-Wiki
Wechseln zu: Navigation, Suche
RENUMBER
Format: RENUMBER <start>, <step>
Parameter
start: Startzeilennummer
step: Schrittweite beim Inkrementieren
Einordnung
Typ: Kommando
Kontext: Programmierhilfe
Aufgabe: Die Zeilennummern eines Programms umnummerieren
Abkürzung: keine
Verwandte Befehle
keine


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort 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.
Aber 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.

Beispiel:

RENUMBER 100,10

(nummeriert die BASIC-Zeilen ab 100 mit einer Schrittweite von 10 neu)

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