PABasic - Zeilennummernloses Basic

There are 107 replies in this Thread which has previously been viewed 16,113 times. The latest Post (October 13, 2025 at 11:00 AM) was by TD1334.

  • ...wenn man / in einem String schreibt, also z.B.

    Code
    if a$="/" ...

    Dann steht am Ende dort nicht "/" sondern "/<komisches Zeichen". Keine Ahnung, ob das "nur" im Editor so ist oder ob das auch so im Speicher steht.

    Please login to see this link.

    Please login to see this link.

    Please login to see this link.

  • Jetzt habe ich eine Macke, für die ich leider keinen einfachen Testfall basteln kann. Der Codeausschnitt mit dem Problem sieht so aus:

    Please login to see this attachment.


    In c$ steht z.B. "x" drin. Die Ausgabe sollte also sein:


    Code
    1: x     x
    2: x     x
    3: x     x

    ...ist sie aber nicht. Gebe ich beim INPUT z.B. "4" ein, dann wird das hier ausgegeben (die einzelne 4 da ist meine Eingabe):

    Please login to see this attachment.

    ...wenn es gut läuft. Läuft es nicht so gut, kommt kompletter Salat statt der "4" raus.

    Leider kann ich das in einem Testfall nicht reproduzieren. Dort hat alles funkioniert. Aber vielleicht hilft die Beschreibung irgendwie...

    Please login to see this link.

    Please login to see this link.

    Please login to see this link.

    Edited once, last by EgonOlsen71 (August 19, 2024 at 6:00 PM).

  • Jedoch wird sich das Verhalten ändern wenn man mit Cursor Up/Down in eine neue Zeile geht und vorher an einer Position >=40 war. Dann wird der Cursor in der neuen Zeile am rechten Rand stehen.

    Du meinst direkt am Ende der neuen Zeile?

    Please login to see this link. (Please login to see this link.)Please login to see this link.Please login to see this link.
  • Jedoch wird sich das Verhalten ändern wenn man mit Cursor Up/Down in eine neue Zeile geht und vorher an einer Position >=40 war. Dann wird der Cursor in der neuen Zeile am rechten Rand stehen.

    Du meinst direkt am Ende der neuen Zeile?

    Mit rechtem Rand meint ich Rechter Rand. Spalte 39. Nicht auf dem letzten Zeichen der neuen Zeile. Dann könnte man sich nicht sauber durch den Screen bewegen, weil man in jeder neuen Zeile nach links versetzt werden würde.

    Beispiel:

    Code
    print "Dies ist der erste Probetext mit viel Text!"
    :
    print "Dies ist der zweite Probetext mit viel Text!"

    Wenn du in der ersten Zeile nach rechts scrollst kommst du über Position 39 (>=40)

    gehst du jetzt einen Zeile nach unten stehst du in der Zeile mit dem Doppelpunkt ganz rechts am Bildschirmrand, gehst du noch eine Zeile nach unten stehst du im Wort "mit".

    Würde der Cursor beim Doppelpunkt direkt hinter diesem positioniert, dann müsstest du in der nächsten Zeile wieder nach rechts scrollen. So aber kannst du dich frei auf dem Screen bewegen.

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Irgendwas ist immer noch shady mit Negationen:

    Code
    b=1.5
    c=2.75
    d=0.6
    a=((b+c)/-d*-3.)
    print"a=";a

    Das sollte 21.25 ergeben, ergibt aber ... irgendwas anderes.

    Guten Morgen ... ich schau mir das an.

    Ich versuche das mal nachzustellen. Oder wenn du magst, kannst du mir das Programm oder den entscheidenden Teil per PN senden.

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • ...wenn man / in einem String schreibt, also z.B.

    Code
    if a$="/" ...

    Dann steht am Ende dort nicht "/" sondern "/<komisches Zeichen". Keine Ahnung, ob das "nur" im Editor so ist oder ob das auch so im Speicher steht.

    Oh, da bist du auf etwas ganz altes gestossen. Ich hatte mal am Anfang vorgesehen, dass man in Strings auch das " verwenden kann. Dafür war das / als Escapezeichen gedacht.

    Das hätte dann so ausgesehen "bla bla /"quote/" bla bla" oder wenn man das / nutzen wollte sollte eigentlich ein "text // text" stehen.

    Schaue ich mir an.

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Neue Version 0.9.15

    Änderungen

    • Funktion getelement - fix minus element. Holt jetzt nur das Element hinter dem "-" und nicht den ganzen Ausdruck
    • Gänsefüßchen in String können nun sauber mit dem Zeichen £ escaped werden. "bla "quote£"£" = quote"£
    • INPUT - Buffer in Buffertoken geändert. Vorher wurden Daten Überschrieben wenn man weiterhin was mit Strings gemacht hatte.
    • REU detection - bis 16MB. Mehr als 4MB wird ignoriert, da INT24 nur 4MB ordentlich verwalten kann. Max. INT24 ist 8MB-1
    • REUEXISTS(), REUSIZE(), REUREAD, REIWRITE Befehle hinzugefügt
    • doppelte ZP Belegung gefixt, kam nur bei REU Befehlen vor
    • GC - Garbage Collection - String Arrays berücksichtigt
    • PRINT - Endlosschleife gefixt wenn als letztes Zeichen ein ASCII-Wert <$80 kam und nicht ":;,)" war
    • AND/XOR/OR - Fehler mit FLOAT Behandlung - Werte werden jetzt alle in INT24 umgerechnet

    Bugs:

    • Arrays wo der Arrayindex aus einem Array gelesen wird

    Danke an EgonOlsen71 für das Testen und Feedback :thumbsup:

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Hier noch das Programm zur Version 0.9.15

  • Version 0.9.16

    inkl. Handbuch

    Änderungen

    • Negative Zahlen >-1.0 ohne führende Null kann jetzt eingegeben werden => -.5
    • TAN() - Berechnung korrigiert
    • PRINT - Ausnahme für "(" hinzugefügt
    • Leerzeichen vor Ausgabe von positiven FLOAT entfernt
    • durch 0|0. dividieren wird mit einem division by zero Error quittiert.
    • STR$() - Es können jetzt Dezimalstellen angegeben werden
    • Strinvergleich zwischen Leerstring mit grösser oder kleiner liefert jetzt FALSE
    • Beim laden von Programmen werden jetzt aus TABS ($09) 4x SPACE ($20)
    • Handbuch - DIM Befehl besser beschrieben
    • Stringzuweisungen überschreiben nicht Daten unterhalb des STRHEAP
    • Arrays mit Indexwerten aus Arrays gefixt
    • Editor - Offene Strings werden erkannt und hinter dem letzten nicht SPACE terminiert
  • Psst, nicht spoilern ... wenn die Welt das mitbekommt beginnt der grosse RUN auf das Forum und bei dem zu erwartendem Downloadvolumen wird dann nicht nur der F64-Server zusammenbrechen, ich fürchte schlimmes um das Internet :rolleyes:

    Ich erwähne in in der nächsten Version :smile:

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Version 0.9.17

    Bitte Upgraden, da Version 0.9.16 komplett kaputt ist :sad:

    Änderungen

    RESTART - Befehl um das Programm neu zu starten. Optional können Variableninhalte beibehalten werden

    Interne Buffer Verarbeitung gefixt - Könnte mich Ohrfeigen dafür, will nicht näher darauf eingehen :sad:

  • Mach dir doch keinen Stress deswegen! Ist ja nicht schlimm.

    Du hast schon so viel auf die Beine gestellt und du bist die ganze Zeit am Verbessern.

    Also alles gut 😀

  • Danke für dein Verständnis, aber der Fehler mit der internen Buffer Verarbeitung war so dämlich von mir. Das hat mich wirklich extrem geärgert, weil das sollte einfach nicht passieren.

    Dafür hat es mich dann einige Stunden gekostet diesen Fehler zu finden, Strafe muss sein ... :sm::xlol:

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Version 0.9.17

    Bitte Upgraden, da Version 0.9.16 komplett kaputt ist :sad:

    ...

    Interne Buffer Verarbeitung gefixt - Könnte mich Ohrfeigen dafür, will nicht näher darauf eingehen :sad:

    Nur kein Stress! Es ist Hobby und soll Spaß machen!

    Wer schreit, denkt nicht !

    Please login to see this link.

  • Ist ja kein Stress, das Projekt ist der totale Spaß für mich. Ist wie, wenn ich Fussball spiele. Das mache ich unheimlich gerne, aber auch da habe ich Sachen die mich unheimlich erfreuen, aber auch es gibt auch Dinge die mich unheimlich ärgern.

    Aber schön zu sehen, dass es von euch locker gesehen wird. Danke :smile:

    PABasicPlease login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.Please login to see this link.

  • Könnte mich Ohrfeigen dafür, will nicht näher darauf eingehen :sad:

    Kann man PABasic auch noch ohne Kassenzettel umtauschen? :D


    Ist doch kein Problem! Vor allem, wenn es wie bei dir in "Ultrageschwindigkeit" gefixt wird. :thumbup:

  • Wenn man beim Programmieren nicht ab und zu den AHA-Effekt hat, bzw. den hier, dann ist es kein richtiges Programmieren :)

    Wobei da des öfteren noch ein dritter dazu kommt: "Das hätte nie funktionieren dürfen!"

    Please login to see this attachment.

    C64Studio: Please login to see this link. - Please login to see this link. --- C64Studio WIP: Please login to see this link. - Please login to see this link. --- Please login to see this link.

  • Version 0.9.18

    Änderungen

    • RESTORE Taste springt wieder in den Editor zurück
    • NOT - Fehler in Verzweigung korrigiert
    • AND - Sprungvorhersage eingeführt. Bei einem 0=false Wert der mit AND verarbeitet werden soll wird jetzt eine Sprungvorhersage eingeführt und der AND Teil weggelassen, da 0 AND x immer 0|FALSE ergibt
    • Fehlermeldung nach Abbruch (nur im Editor Modus) durch RUN/STOP angepasst