PABasic - Zeilenloses Basic
- TD1334
- Thread is Unresolved
-
-
Jetzt habe ich eine Macke, für die ich leider keinen einfachen Testfall basteln kann. Der Codeausschnitt mit dem Problem sieht so aus:
In c$ steht z.B. "x" drin. Die Ausgabe sollte also sein:...ist sie aber nicht. Gebe ich beim INPUT z.B. "4" ein, dann wird das hier ausgegeben (die einzelne 4 da ist meine Eingabe):
...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... -
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?
-
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:
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.
-
Guten Morgen ... ich schau mir das an.
Jetzt habe ich eine Macke, für die ich leider keinen einfachen Testfall basteln kann. Der Codeausschnitt mit dem Problem sieht so aus:
In c$ steht z.B. "x" drin. Die Ausgabe sollte also sein:...ist sie aber nicht. Gebe ich beim INPUT z.B. "4" ein, dann wird das hier ausgegeben (die einzelne 4 da ist meine Eingabe):
...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...Ich versuche das mal nachzustellen. Oder wenn du magst, kannst du mir das Programm oder den entscheidenden Teil per PN senden.
-
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.
-
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
-
Wo ist denn die Version?
-
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
-
Version 0.9.16
inkl. Handbuch
Änderungen
- ....
Du hast vergessen, RESTART zu erwähnen ...
-
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
Ich erwähne in in der nächsten Version
-
Version 0.9.17
Bitte Upgraden, da Version 0.9.16 komplett kaputt ist
Ä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
-
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 ...
-
Version 0.9.17
Bitte Upgraden, da Version 0.9.16 komplett kaputt ist
...Interne Buffer Verarbeitung gefixt - Könnte mich Ohrfeigen dafür, will nicht näher darauf eingehen
Nur kein Stress! Es ist Hobby und soll Spaß machen!
-
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
-
Könnte mich Ohrfeigen dafür, will nicht näher darauf eingehen
Kann man PABasic auch noch ohne Kassenzettel umtauschen?
Ist doch kein Problem! Vor allem, wenn es wie bei dir in "Ultrageschwindigkeit" gefixt wird.
-
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!"
-
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