AUDACIA Software

OWBasic 5.0 Beta 6


OWBasic 5.01 Beta 4 - Hauptmenu


Änderungen in OWBasic 5.00 Beta 1:

  • Die graphische Oberfläche (GUI) von OWBasic wurde erneuert; OWBasic erscheint jetzt in dem für Add-Ins üblichen Aussehen. Außerdem lädt OWBasic jetzt deutlich schneller.
  • Der Dialog zum Ändern der Optionen ist nicht mehr in OWBasic enthalten; zum Konfigurieren der Optionen ist das Programm "OWBasic Settings", das in der OWBasic Standard Library enthalten ist, nötig.
  • Das Zwischenspeichern eines kompilierten Programmes in die SHARED-Datei (Caching) ist möglich. (OPTIONS)
    ACHTUNG: Damit OWBasic bei dem Start eines Programmes nach einer zwischengespeicherten Version sucht, muß in den Optionen "Caching" aktiviert sein!
  • Wenn ein Laufzeitfehler auftritt, fragt OWBasic, ob es nach der Fehlerposition suchen soll. Wurde das Programm von IEdit gestartet, so sucht IEdit, nachdem der Fehler gefunden wurde, die Fehlerposition auf.
  • Einige Fehlermeldungen enthalten nun zusätzliche Informationen; z.B. wird bei Auftreten des Fehlers "Index out of range" auch der fehlerhafte Index angezeigt.
  • Der Compiler optimiert Variablen- und Arrayzugriffe, so daß weniger Programmcodes entstehen. Konstante Ausdrücke wie z.B. der Zugriff auf ein globales Array mit einem konstanten Index (z.B. PRINT arr[1]) werden zur Kompilierzeit ausgewertet, so daß der gleiche Code wie für den Zugriff auf eine normale Variable erzeugt wird.
  • Anwenderprozeduren sind nicht mehr auf 250 (PV-S1600: 1000) limitiert, da sie nun in die Symboltabelle eingetragen werden.
  • Die Kapazität für Symbole, Daten und Programmcode und die maximale Stringlänge wurden vergrößert (nicht auf dem PV-S1600). Für Daten und Programme stehen nun nicht 12288, sondern 16128 Words zur Verfügung; anstatt 5392 sind nun maximal 5632 Programmcodes möglich. Die maximale Stringlänge beträgt nicht mehr 150, sondern 220 Zeichen. Außerdem stieg die maximale Anzahl verschachtelter Kontrollstrukturen von 15 auf 19 und die maximale Bezeichnerlänge von 17 auf 30.
  • Die Syntax für die Deklaration von Funktionszeigern wurde geändert.
  • Das Typsystem des Compilers wurde komplett überarbeitet (VARIABLES);
    Zeiger sind jetzt typsicher, außerdem können eigene Typen mit ENUM und FPTR erstellt werden.
  • Umwandlungen zwischen Zeigern und Integern sind möglich.
  • Mit dem Operator '*' ist das explizite Dereferenzieren von Zeigern möglich.
  • Funktionen können Pointer zurückgeben.
  • Die globale Konstante #INTSIZE gibt die Größe eines Integers in Byte an (alte PVs: 2, PV-S1600: 4)
  • Der Button "Menu Bar" in der Hardicon-Leiste spricht nun nicht mehr den Abort-Dialog an, sondern kann von OWBasic-Programmen abgefragt werden.
  • Die Funktion SETJUMP% speichert den Code-Pointer des Interpreters und zusätzliche Daten in einem Array der Größe #JUMPBUFSIZE. Die darin gespeicherte Programmstelle kann später von überall aus mittels JUMP angesprungen werden (vgl. setjmp () und longjmp () in ANSI C).
  • Das globale Array ERRORHANDLER kann durch die Funktion SETJUMP% einen Code-Pointer aufnehmen, der – sofern ungleich 0 – bei Auftreten eines Laufzeitfehlers angesprungen wird.
  • Die Funktion APOTIME% fragt die Zeit bis zum automatischen Abschalten des PV in 500ms-Einheiten ab. Mit der Prozedur SETAPOTIME kann diese verändert werden.
  • Die Buttons "Light" und "Off" in der Hardicon-Leiste werden von OWBasic abgefragt. Ist dies nicht erwünscht, so kann die Funktionalität mit der Prozedur SYS abgeschaltet werden.
  • Wenn durch SYS aktiviert, schaltet sich der PV nach einer gegebenen Zeit ohne Betätigung des Touchscreens automatisch ab (AutoPowerOff).
  • Der PV kann auf Befehl ausgeschaltet werden (POWEROFF).
  • Über SYSDLG können auch Systemeinstellungsdialoge (Kontrast, Format etc.) aufgerufen werden.
  • FILEREAD nimmt als optionalen vierten Parameter die Anzahl der Blocks an, die in den Filebuffer geladen werden soll.
  • POLYGON stellt ein Polygon dar.
  • MSGBOX stellt eine Message-Box auf dem Bildschirm dar.
  • Die Funktion TOUCHED! kann auch ohne Parameter aufgerufen werden; sie bewirkt dann das gleiche wie NEWTOUCH!.
  • Über die Funktion LIGHT! kann der Status der EL-Hintergrundleuchte abgefragt werden.
  • DRAWICON kann ein Icon auch teilweise darstellen.
  • Mittels CONST können auch initialisierte Arrays von Daten- und Funktionszeigern erstellt werden.
  • Prozeduren und Funktionen können Default-Parameter besitzen.
  • Mittels ENUM können Aufzählungstypen deklariert werden.

Änderungen in OWBasic 5.00 Beta 2:

  • Korrektur aller mir zu diesem Zeitpunkt bekannten Fehler (Default-Parameter, serielle Schnittstelle/Remote Mode, INPUT, Komplikationen mit IF und NOT, FORMTOUCH-Abfragerichtung, WAITTOUCH, Overlays, Probleme mit VAR-Parametern der Typen String und Float etc.). Vielen Dank an alle, die auf Fehler aufmerksam gemacht haben.
  • Die Größe des Frage-Dialogs paßt sich nun automatisch an den Inhalt an; die Buttons sind größer
  • Der Filter im Dateimenü achtet nicht auf Groß-/ und Kleinschreibung
  • Das Verhalten von MSGBOX kann mit einem optionalen Parameter genauer spezifiziert werden
  • Die Funktion POS kann optional auch die Groß- und Kleinschreibung nicht beachten
  • Eine neue Option ermöglicht das Abschalten der Frage nach Fehlersuche

Änderungen in OWBasic 5.00 Beta 3:

  • Der Remote Mode funktioniert nun (hoffentlich) fehlerfrei
  • MSGBOX akzeptiert nun auch den vierten Parameter
  • EXP10# funktioniert nun auch auf dem PV-S1600 korrekt
  • FOR akzeptiert nun sämtliche Datentypen der Größe Integer wie z.B. Zeiger
  • In IEdit wird nun die korrekte Codeposition angesprungen
  • Caching funktioniert nun mit Overlays
  • Mittels EXITHANDLER kann die Beendigung eines Programmes abgefangen werden
  • XCHGS vertauscht zwei Strings sehr effizient

Änderungen in OWBasic 5.01 Beta 4:

  • INPUTF funktioniert auch mit periodischen Zahlen
  • Einige Probleme mit Bool-Variablen und -Arrays wurden behoben
  • Auf dem PV-S1600 funktionieren CLEAR, CLEARF und CLEARS wieder
  • Der Name des Programmes, das im Autorun-Modus gestartet wird, kann mit OWBasic Settings angepaßt werden
  • Die Optionen Autorun und Restart funktionieren wieder zusammen
  • SYSLANG%() gibt einen Wert zurück, der die Systemsprache repräsentiert

Änderungen in OWBasic 5.02 Beta 5:

  • SYSDLG enthält zwei neue Dialoge
  • Mittels MODELISTICON kann das List-Icon eines Modus ermittelt werden
  • MODEVER$() gibt die Version eines Modus zurück
  • Fehler in DUP$ beseitigt
  • Die Erstellung der Zip-Archive wurde mittels einer Batchdatei automatisiert

Änderungen in OWBasic 5.03 Beta 6:

  • Diverse Bugs beseitigt (EXEC und Caching, PARAMETER$, PIXEL%(), AutoPowerOff)
  • MODEJUMP stürzt nicht mehr ab, wenn ein ungültiger Modus angegeben wird
  • SCROLL erzeugt einen Laufzeitfehler, wenn die Differenz größer als der gegebene Bildschirmbereich ist
  • Mittels INPUTTEXT kann ein String in einem benutzerdefinierten Bereich editiert werden
  • KBDRAW stellt eine Tastatur auf dem Bildschirm dar, mit KBWAIT!() kann sie abgefragt werden


Downloads:

OWBbaseD503.zip - Programm-Binaries für die "alten" PVs

OWBbaseD503a.zip - Programm-Binaries für den PV-S1600

OWBpdfD503.zip - OWBasic-Befehlsreferenz als PDF (Druckversion)

OWBsrc503.zip - Source-Code

OWBhsrc503.zip - Source der HTML- und Pocket Referencer-Dokumentation

OWBhtmlD503.zip - HTML-Dokumentation


buildarchives.zip - Batchdateien für die Erstellung der Zip-Archive inklusive der nötigen Dateien (zur Anwendung nach OWBasic\release_archives extrahieren)

 

 

Hinweis: Damit Sie die OWBasic-Optionen ansehen und ändern können, benötigen Sie das Programm OWBasic Settings. Zur Ausführung von diesem und vieler anderer OWBasic-Programme ist zudem die OWBasic Standard Library vonnöten.