GER

Bearbeitung von Sharp Basic-Programmen auf dem PC

ENG
Bearbeitung von Sharp Basic-Programmen
  • Einleitung
    Der Sharp benötigt zur Ausführung der Basic-Programme zwingend Zeilennummern. Dieses sind bei der Bearbeitung eher ungünstig, weshalb der PC-1360 ein Renumber bietet.
    Die konsequente Nutzung von Labeln (Zeichenketten in Anführungszeichen) im Basicprogramm behebt das Problem der Zeilennummer nur bedingt (müssen mehr neue Zeilen eingefügt werden, wie zwischen zwei Zeilen freie Nummern vorhanden ist, muss das Basicprogramm neu nummeriert werde) und führt zur langsameren Ausführung des Programms, da der PC-1350/PC-1360 intern keine Liste aller Label und den zugehörigen Zeilennummern speichert).
     
    Daher habe ich zwei Skripte programmiert, die auf dem PC einen Basic-Quelltext mit Zeilennummern in einen ohne Zeilennummern (aber mit speziellen Sprungmarken) konvertieren und wieder zurück.
    So kann auf dem PC das Basicprogramm ohne Zeilennummern erstellt/bearbeitet werden und auf dem Sharp wird das Programm mit Zeilenummern ausgeführt.
     
    In beiden Skripten werden alle Sprungziele/Zeilennummern betrachtet, die direkt hinter den Befehlen
    GOTO, GOSUB, THEN, RESTORE, ARUN, AUTORUN
    angegben sind.
    Sprungziele können einzeln oder als kommaseparierte Liste auftreten:
    GOTO 120
    ON I GOSUB 100, 200, 300
     
    Wichtig ist, dass das Skript nicht mit berechneten Zeilennummern umgehen kann. Ein
    GOTO V*5
    ist also unzulässig und wird auch nicht vom Skript als Fehler erkannt.
     
    Es handelt sich um Visual Basic.NET Funktionen, die zur Nutzung auf der Kommandozeile in ein Powershell-Skript eingebunden wurden.
     
  • Umwandlung Basicprgamm mit Zeilennummern in eines mit Sprungmarken
    Die Voraussetzung ist, dass das Basicprogramm als reiner ASCII-Text vorliegt. Die Umwandlung kann z.B. mit den Pocket Tools (siehe Datenübertragung zwischen PC/MAC und PC-1350 / PC-1360 ) durchgeführt werden.
     
    Das Skript <convertBasicLineNrToLabel.ps1> wandelt das Basicprogramm mit Zeilennummern in eines mit Sprungmarken.
     
    Aus
     
    90 REM Dies ist ein Test
    100 PRINT "Hallo ";
    110 GOTO 100

     
    Wird damit
     
    REM Dies ist ein Test
    :_L100
    PRINT "Hallo ";
    GOTO _L100

     
    Der Aufruf geschieht mittels:
    powershell "C:\sharp\convertBasicLineNrToLabel.ps1" -Infile "C:\sharp\test.bas" -Outfile "C:\sharp\test_renumbered.bas"
     
  • Bearbeitung des Basicprgamms mit Sprungmarken auf dem PC
    Das mit dem Skript erstellte Basicprogramm kann mit einem beliebigen Texteditor auf dem PC bearbeitet werden.
    Anstatt Zeilennummern als Sprungziele oder für RESTORE müssen Sprungmarken erstellt werden.
     
    Eine Sprungmarke wird immer als einziges Element in einer Zeile definiert, beginnt mit einem Doppelpunkt, gefolgt von einer beliebigen Kombination aus Unterstrich, Zahl und Buchstaben. Es gibt keine Unterscheidung zwischen Gro&sslig;- und Kleinschreibung.
     
    Bei der Nutzung wird die Sprungmarke ohne Doppelpunkt angegeben.
     
    Es ist darauf zu achten, dass als Sprungmarke keine reservierten Basic-Befehle genutzt werden.
     
  • Umwandlung Basicprgamm mit Sprungmarken in eines mit Zeilennummern
    Das Skript <convertBasicLabelToLineNr.ps1> wandelt das Basicprogramm mit Sprungmarken in eines mit Zeilennummern.
     
    Aus
     
    REM Dies ist ein Test
    :_L100
    PRINT "Hallo ";
    GOTO _L100

     
    Wird damit
     
    100: REM Dies ist ein Test
    110: PRINT "Hallo ";
    120: GOTO 110

     
    Folgende Parameter sind am Anfang des Skripts änderbar:
    # 1. Zeilennummer
    $FirstLineNr = 100
    # Abstand der Zeilennummern
    $StepLineNr = 10
    # Ausgabe der Zeilennummern mit ($true) oder ohne ($false) Doppelpunkt
    $AddColonToLineNr = $true

    Der Aufruf geschieht mittels:
    powershell "C:\sharp\convertBasicLabelToLineNr.ps1" -Infile "C:\sharp\test.bas" -Outfile "C:\sharp\test_with_linenr.bas"
     
  • Nutzung für Renumber
    Wer lieber klassisch beim Basic mit Zeilennummern bleibt, kann die Skripte auch direkt nacheinander auf den Quelltext anwenden und erhält dabei ein neu nummeriertes Basicprogramm.
     
  • Einbindung in Notepad++
    Neben dem manuellen Aufruf des Skriptes aus der Powershell heraus kann das Sktipt auch in Notepad++ eingebunden werden.
    Das Vorgehen dazu ist in der Textdatei <02_integration_notepad++.txt> beschrieben.
     
Download Skripte zur Konvertierung
Basic Zeilennummern <-> Label renumber_basic-v1.0.zip  

Zurück zur Startseite Sharp


Copyright: Alle auf dieser Homepage gezeigten Bilder und Texte sind ©1999/2026 Bernhard Schwall, urheberrechtlich geschützt und dürfen ohne Zustimmung des Autors nicht veröffentlicht werden.
Autor:  Bernhard Schwall letzte änderung: 01.01.2026