• Huch, kleiner Fehler im VOKABEL.BAS Programm.

    Hier die Korrektur.

    Oh, ein Basic ohne Zeilennummer. ;)

    Und ich sehe Bildschirmbefehle. Wie funktioniert das dann mit der Terminalemulation? Kann man den Compiler anpassen?

    Oder läuft das ausschließlich auf dem Kaypro? Dann wäre das natürlich völlig sinnfrei (außer für Kaypro-Besitzer).

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    Einmal editiert, zuletzt von detlef ()

  • Ich habe einmal spasseshalber versucht, VOKABELN.BAS mit SBASIC zu kompilieren. Der Compiler beschwert sich vehement über fehlende Module in der LIBRARY.BAS - siehe nachfolgendes Listing:


    Das angemahnte Modul CLREOS ist nicht in der LIBRARY.BAS enthalten. Alles andere ordne ich unter Folgefehler ein. Das ZPM3 am Schluß einen Zugriff auf Laufwerk O0: ausbremsen muß (bei mir gibt's nur A,B,C und M) ist merkwürdig genug (was will der Compiler von Laufwerk O0: ?). Vielleicht sind dererlei Merkwürdigkeiten der Grund, das sich SBASIC nicht so recht durchgesetzt hat. Bedauerlich, ich finde SBASIC gut, nur man braucht ein dickes Fell und Sitzfleisch will man SBASIC nutzen :)

  • Also wenn SBASIC tatsächlich nicht auf beliebigen CP/M-Systemen laufen sollte, dann empfehle ich auf jeden Fall mal CBASIC von Digital Research anzuschauen (wurde weiter oben schon mal angesprochen). Das enthält keine systemspezifischen Befehle, die zum Beispiel eine bestimmte Terminalemulation vorraussetzen. Dafür muss man sich dann für jedes System selber eine kleine Library schreiben.


    Ansonsten verwendet CBASIC auch keine Zeilennummern, kennt Funktionen mit lokalen Variablen und die üblichen Kontrolstrukturen. Es gibt eine Version für CP/M80, CP/M86 und MS-DOS.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Guten Morgen,


    ja ich habe vergessen das neue LIBRARY.BAS mit zusenden.

    Der Befehl CLREOL - lösche bis zum Ende der Zeile.


    Hier das Beispiel des Moduls

    $module ClrEol

    rem clear ansi screen to end of line (kp)

    procedure ClrEol

    print #0; chr$(27) + "[K";

    end ClrEol

    $end.module


    In der Datei LIBRARY.BAS ist der Hinweis im Comment Bereich.


    comment

    LIBRARY.BAS revised 3/17/92

    Useful routines for inclusion in SBASIC programs.

    Syntax is: $include library_file module_name

    Example: $include library upcase


    2/07/2023 Update Kurt Pieper

    cursor Anspassung

    home = chr$(27) + "[1;1H"

    rvs = chr$(27) + "[7m"

    nrm = chr$(27) + "[0m"

    cleol = chr$(27) + "[K"

    cleos = chr$(27) + "[J"

    curon = chr$(27) + "[?25h"

    curoff = chr$(27) + "[?25l"

    Aenderungen wurden mit (kp) markiert

    end


    Wer möchte schreibt sein SBASIC Programm ohne die $include Module und

    löst es mit PRINT wie oben gezeigt.


    Wenn zum Beispiel die Anweisung CLREOL im Programm entfernt wird und stattdessen

    PRINT CHR$(27)+"[K" eingefügt wird, dann haben wir den gleiche Ergebnis.


    SBASIC ist kein spezielle Entwicklung für Kaypro. :neinnein:

    Kaypro war einer der wenigen die SBASIC zu der Hardware lieferten. :D

    Ein Vergleich zu CBASIC kann ich noch nicht machen, da ich CBASIC nie angewendet habe.


    Ich empfehle CBASIC im Bereich Programmierung an zulegen und dort Beispiele bringen.


    Gruß

    retro

    :)

  • Ich fand eine Info zu SBASIC in der

    Micro Cornucopia, Number 21,Dez-Ja. 1985

    auf der Seite 52.


    Da schreibt ein Entwickler: "Im Vergleich zu Turbo Pascal, das mit einer eigenen Anwendungsentwicklungsumgebung geliefert wird,

    ist das Schreiben und Debuggen in sbasic mühsam.

    Tatsächlich habe ich die meisten neueren sbasic-Programme in Turbo geschrieben

    und sie dann in sbasic übersetzt, nachdem sie vollständig debuggt waren."


    Er hat auch dieses Test Programm geschrieben:


    var i = integer<

    var a = char<

    <

    files R(10)<

    create "UNSORTED.DAT"<

    open #0;"UNSORTED.DAT"<

    i = 100<

    write #0,0;i<

    for i = 1 to 100<

    a =chr$(fix(rnd(i)*26)+65)<

    print a<

    write #0,i;a<

    next<


    Welcher Fehler kann hier auftreten?