|
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)
p> 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.
|