Hallo Besucher, der Thread wurde 6,5k mal aufgerufen und enthält 43 Antworten

letzter Beitrag von JeeK am

INPUT-Tipp

  • Wie funktioniert denn "gosub 40,input"?? Dieses Konstrukt ist mir unbekannt....

    Der Teil nach dem Komma hat keine Bedeutung und wird ignoriert. Da kommt kein Syntax Error, weil GOTO und GOSUB am Ende in die gleiche ROM-Routine verzweigen wie ON GOTO und ON GOSUB, wo Kommata und weitere Argumente erlaubt sind.
    Dieses "Feature" wird hier quasi als Kommentar zweckentfremdet.

  • Wie funktioniert denn "gosub 40,input"?? Dieses Konstrukt ist mir unbekannt....

    Ja, weil das Zeilennummer-Parsing bei GOSUB und GOTO bzw. THEN sofort aufhört, wenn ein Zeichen kommt, das nicht eine Ziffer ist. Der Rest bis zum nächsten Statement ist dann "Kommentar". Man kann so z.B. benannte Unterprogramme machen. Im Gegensatz zu einem REM, geht es nach einem Doppelpunkt weiter, REM geht dann bis zum Zeilenende.


    D.h. man kann statt
    100 GOSUB 100: REM INPUT
    110 NEXT
    auch
    100 GOSUB 100 INPUT
    110 NEXT
    und sogar
    100 GOSUB 100 INPUT: NEXT


    schreiben


    Finde ich eigentlich elegant. Hat sich aber nicht wirklich verbreitet. Die Syntax schaut natürlich auch irgendwie falsch aus und es ist auch eher eine Eigenheit der MS-BASIC-Familie.
    Das Help-Plus-Modul mit der Compaktierungsfunktion für BASIC-Programme "erkennt" dieses für die Laufzeit überflüssige beispielsweise nicht. Macht das Programm aber auch nicht kaputt. ;)
    (war schon im wesentlichen schon beantwortet, trotzdem meine Ausführung komplett mit dem einen oder anderen zusätzlichen Detail)