Neue BASIC Version

  • Hallo Leute,

    ich habe wieder eine neue Version von R-BASIC freigegeben. Inhaltlich ist sie weitgehend identisch mit der Version aus Hamburg. Allerdings sind jetzt alle Funktionen dokumentiert, es gibt ein paar wichtige interne Fixes und das Handbuch ist stark erweitert.
    Das Wichtigste: Das "Programmierhandbuch" mit der Beschreibung der BASIC-Sprache ist de facto fertig.


    Handbuch Update und Beispiele

    * Das Programmierhandbuch ist fertiggestellt. Ausnahme ist nur das Kapitel zum Thema Sound, da
    die Funktionen noch nicht vollständig implementiert sind. Damit ist die komplette R-BASIC
    Programmiersprache im Handbuch dokumentiert.

    * Die Class$ Methode ist jetzt im Objekt-Handbuch dokumentiert.

    * Zusätzliches Beispiel mit Sourceode: Wurfparabel


    Änderungen an der UI und den Tools

    * In der R-BASIC IDE wird der Zwischenablagenverlauf überwacht und gespeichert. Das heißt,
    man kann auf Inhalte der Zwischenablage zurückgreifen, die eigentlich bereits überschrieben
    wurden.

    * Diverse kleinere Änderungen an der UI.

    * Die Picture-List kann in einer Datei gespeichert werden und aus einer Datei geladen
    (hinzugefügt oder ersetzt) werden. So kann man beispielsweise die Liste sichern, von einem
    Programm in eine anderes übertragen oder eine Sammlung von Picture-Listen erstellen.

    * Mit dem neuen Tool "Basic Salvager" kann man den Code und die Picture-List von beschädigten R-
    BASIC Code-Dateien retten.

    * Das Tool "Blockgrafik Editor" hat ein umfangreiches Update erfahren. Es unterstützt
    Blockgrafiken mit 256 Farben und verfügt über neue Zeichentools, Backup-Funktion, Arbeit mit dem
    Clipboard ...


    Neue Funktionen

    * Die Funktionen JDFromDAT, DATFromJD und JDDeltaFromMinutes ermöglichen die Arbeit mit dem
    Julianischen Datum. Damit kann man Zeitdifferenzen sehr einfach berechnen, auch über Monats- und
    Jahresgrenzen hinaus.

    * Die Kommandos FormatDate$ und FormatTime$ wurden funktionell etwas erweitert.
    LocalFormatDateAndTime$ ist neu und erlaubt das Formatieren von Datums- und Zeit-Strings
    entsprechend den lokalen Einstellungen des aktuelle PC/GEOS Systems.

    * Es gibt 6 neue Grafikkommandos und einen neuen Strukturtyp um verbundene Linien, Polygoneund
    Splines zu zeichnen.

    * Vielleicht etwas esoterisch: Die neue Methode KbdEventWithScancode erlaubt die Verwendung von
    simulierten Tastaturereignissen zum Aktivieren von Menüeinträgen, die bei ihrem Tastaturkürzel das
    Bit KSM_PHYSICAL gesetzt haben.

    * Die Methode CopyBitmap für BitmapContent Objekte kopiert die Bitmap des Objekts in eine "off-
    screen" Bitmap, die mit der Routine DrawBitmap gezeichnet werden kann. Damit braucht man nicht
    mehr für jede Bitmap ein Bitmap-Objekt.

    * Der neue Hint ModifiedOnRedundantSelection für RadiobuttonGroups bewirkt, dass die
    RadiobuttonGroup ihre Apply Message aussendet, wenn der Nutzer einen bereits selektierten Eintrag
    erneut selektiert.

    * Die Stringfunktionen GetTextWidth und GetTextHeight liefern Breite und Höhe in Pixeln, die ein
    String benötigt, wenn er auf dem Bildschirm dargestellt wird.

    * Im Block-Grafik-Modus können jetzt sowohl monochrome Zeichen als auch Zeichen mit 256 Farben
    verwendet werden.

    * Um in den "klassischen" BASIC Modus zu wechseln muss die neue Anweisung "ClassicCode" verwendet
    werden.

    * Mit der Anweisung StandardSound können die GEOS Standard Sounds (z.B. für Fehler, Warnung)
    gespielt werden.


    http://www.rbettsteller.de/BASIC/BASICDLD.HTM#IDE

    Viele Grüße
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo Leute,

    Es gibt ein Update zur aktuellen R-BASIC Version. Neben ein paar internen Fixes gibt es vor allem Updates im Handling. Ich hab diesmal ein paar Sachen eingebaut die schon lange auf der Liste standen und nun einfach mal dran waren.

    Die wesentliche Neuerung:
    -------------------------
    Im Menü "Hilfe" gibt es einen neuen Punkt: "Handbücher". Von dort aus hat man Zugriff auf die Inhaltsverzeichnisse aller Handbücher und kann das entsprechende Handbuch auch gleich starten! Endlich keine langwierige Suche mehr: Wo war dieses Thema / dieses Objekt nun genau beschrieben.
    Außerdem müsst ihr unbedingt den neuen Menüpunkt "Komplexe Programm UI" im Menü "Extras"->"Neue UI-Sequenz" ausprobieren.


    Sonstiges:
    ----------
    * Beim Einfügen von Textes aus der Clipboard-History (rechts oben) kann man einstellen, ob selektierte Texte automatisch überschrieben werden sollen. Per default ist "nicht überschreiben" eingestellt.

    * INKOMPATIBLE ÄNDERUNG! (Betrifft nur Libraries!) Wegen eines erforderlichen Bugfixes musste das Handling von ActionHandlern in LIBRARIES geändert werden. Alle Libraries, die Actionhandler enthalten, sowie alle Programme, die auf DIESE Actionhandler zugreifen, müssen neu compiliert werden.

    * Neuer Befehl: CropBitmap kann Bitmaps zuschneiden und Kopien der Bitmap anlegen.

    * Die Dokumentation zum Thema Libraries ist um ein Kapitel zur Verwendung von UI-Objekten in Libraries ergänzt. Es gibt auch zwei entsprechende Beispiele. Das ist allerdings ein Thema für Fortgeschrittene.
    * Bei laufendem Programm (nach F9) können die Codewindows gescrollt und umgeschaltet werden, der Quelltext kann trotzdem nicht geändert werden.

    * R-App anlegen, Installer-Texte: Die Versionsnummer, die im Code vereinbarten Benutzernotizen und die Copyright-Note kann in die Texte übernommen werden.

    * Anlegen neuer Objekte und UI-Sequenzen: Ein "Link-Assistent" unterstützt Sie beim einbinden der neuen Objekte in den Tree.

    * Statt eines klassischen Trees kann man jetzt einen "komplexten" UI Tree anlegen wobei mehrere Standard-Objekte und Gruppierunggsvarianten zur Auswahl stehen (Menü: Extras, UI-Sequenz anlegen)

    * Das Tutorial im Programmierhandbuch ist upgedatet. Ich hab ein paar der Vorschläge von Achim berücksichtigt, den Text geändert und Bilder hinzugefügt.

    * Man kann den Codewindows eigene Namen geben, z.B. "Hauptprogramm" statt "BASIC-Code" oder "Variablen" statt "DIM & DATA" (Menü "Optionen"->"Editor Einstellungen"->"Code Windows benennen").


    http://www.rbettsteller.de/BASIC/BASICDLD.HTM#IDE

    Viele Grüße
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Es gibt einen kleinen Fix für die Oberfläche der R-BASIC IDE. Nach dem Runterladen direkt die RBASIC.GEO im Word ersetzen.

    Gruß
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo Leute,

    ich habe wieder eine neue Version von R-BASIC freigegeben. Diesmal geht es um Sound und Grafik.

    Es gibt 24 neue Musik und Sound Kommandos:
    ----------------------------------------------------------
    * Abspielen von WAV-Dateien im Vordergrund und im Hintergrund
    * Abspielen von einzelnen Noten
    * Abspielen von FM-Musik im Vordergrund und im Hintergrund
    * Sound-Effekte abspielen

    * Die Instancevariablen/Action-Handler privData, CustomHandler, CustomApply und CustomAction erlauben allen Objekten individuelle Daten zu speichern und zu verwalten.

    * Die neue Objektklasse Canvas zeichnet Grafiken auf sehr einfache Weise, ohne den Overhead eines BitmapContent Objekts und des dazugehörigen View Objekts.

    * Die neue Objektklasse Image stellt Bilder und Animationen direkt aus einer Datei (JPG, PCX, BMP, GIF, FLI, FLC und viele mehr) oder aus anderen Quellen dar.

    * Mit dem Befehl ReadGStringFormFile können Sie die Bilder aus GEOS Hintergrunddateien auslesen.

    Weniger wichtige Updates und Bugfixes:
    * Der Befehl DrawImage arbeitet jetzt auch mit GEOS Hintergrundbildern.
    * Der Pause-Befehl verarbeitet jetzt auch Dezimalzahlen
    * Für den "mode" Parameter der Routinen FileReadLine$, FileWriteLine, FileInsertLine und FileReplaceLine sind jetzt numerische Konstanten verfügbar.
    * Der Inhalt des Hilfe-Text im Wizzard kann selektiert und per Drag&Drop in das Code-Fenster gezogen werden


    http://www.rbettsteller.de/BASIC/BASICDLD.HTM#IDE

    Viele Grüße
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Cool ... jetzt mit Sound :thumbup:

    Hallo Rainer,

    ich habe die neue Version installiert und bereits ausprobiert. Ich stelle fest, dass ich so langsam mal meine alten (Mini-)Projekte auf einen aktuellen Stand bringen muss, damit sie mit der neuen R_BASIC-Version wieder laufen.

    Hmmm, Drucke ich mir jetzt 2m R-BASIC-Handbücher aus? :?:

    Viele Grüße

  • ich habe die neue Version installiert und bereits ausprobiert. Ich stelle fest, dass ich so langsam mal meine alten (Mini-)Projekte auf einen aktuellen Stand bringen muss, damit sie mit der neuen R_BASIC-Version wieder laufen.

    Das sollte ohne Änderungen im Code möglich sein! Auch R-Apps sollten problemlos weiter laufen.
    Falls nicht: bitte unbedingt melden!

    Gruß
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo Rainer,

    meine zweite Ampel-App vom November-Treffen funktioniert nicht. Hier hatte ich ja einen Timer verwendet. Das hat aber nix mit dem Timer zu tun sondern mit meiner WHILE-Scheife im Hauptprogramm /ClassicCode).

    Ich muss also selber noch aufräumen.

    Viele Grüße

    Uli

  • Hallo Leute,

    Ich habe (endlich) eine neue Version von R-BASIC (0.9.9) hochgeladen. Diese Version kommt mit eine leistungsfähigen grafischen Debugger sowie
    drei neuen Objektklassen (Display, DisplayGroup und DisplayControl). Damit kann man das typische "Fenster" Menü und die dazugehörigen Fenster implementieren.

    Außerdem habe die KC-85-Kompatibilität implementiert. Z.B. blinkende Zeichen. Natürlich nur auf BASIC Ebene, Maschinenprogramme werden nicht unterstützt.

    http://www.rbettsteller.de

    Gruß
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Süpercool Rainer. Zumal ich schon überlegt hatte, ob es wohl mit R-BASIC möglich ist, sowas für den "Crazy Projekt Editor" zu basteln. Zwei Dateien nebeneinander sichtbar zu haben, kann sooo praktisch sein... :)

  • Hallo Leute,

    endlich habe ich es geschafft. Die eigentlich schon für das Treffen in Syhra anvisierte R-BASIC Version ist fertig.

    Und das sind die Neuigkeiten:

    Es gibt zwei neue Objektklassen: Das ViewControlstellt die UI für das Ansicht-Menü bereit. Das GenContent ermöglicht es GenericClass Objekten (wie Buttons, Listen usw) innerhalb eines scroll- und skalierbaren Views dargestelt zu werden. Das kennt man z.B. vom Voreinstellungs-Modul.

    Die View Klasse wurde extensiv erweitert und ist nun fertiggestellt. Das umfasst unter anderem: Erweiterte UI Konfiguration Scrolling und Zoom über Programm-Befehle, Definieren eigener Mauszeiger und vieles mehr.

    Es gibt einen neuen System Strukturtyp RectDWord, der die Koordinaten eines Rechtecks speichert.


    Ganz wichtig: Die Funktion Convert$ kann jetzt HTML und UTF-8 kodierte Texte lesen und erzeugen. Für diesen Zweck wurde eine Anzahl neuer Konstanten definiert und es gibt eine neue Systemvariable convertError.
    Danke hierzu an Sebastian Bähr, der die Codetabellen zusammengesucht hat und Bernd Mützel, der beim Testen geholfen hat. Und beiden für ihre fruchtbringenden Beiträge in vielen Diskussionen.

    IDE Bedienung: Viele Dialoge (z.B. Wizzard oder Handbücher) lassen sich jetzt über die ESC-Taste schließen.

    Ein kleiner Fehler im Document-Interface-Code wurde beseitigt, das führt in einigen Handbuchteilen zu neuen Seitennummern.

    Diverse weitere Bugs im Zusammenhang mit einem GEOS-Neustart wurden gefixt.

    Als Dreingabe habe ich das Spiel Brick Puzzle erweitert. Es gibt jetzt 3 verschieden Hintergrund Musikstücke mit einstellbarer Lautstärke.

    Wie versprochen habe ich den Quellcode vom Programm Mouse Pointer Creator freigegeben, außerdem den Quellcode von Brickpuzzle, Orbit und Käferfang.

    Ich habe die Struktur de Webseite leicht geändert. Wenn also etwas nicht geht, bitte melden-

    http://www.rbettsteller.de
    http://www.rbettsteller.de/BASIC/
    http://www.rbettsteller.de/BASIC/BASICDLD.HTM#IDE

    Viele Grüße
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Jetzt fehlt nur noch die automatische Spracherkennung, und das Programm schreibt sich von allein. 8)

    Jetzt fehlt nur noch die automatische Spracherkennung, und das Programm schreibt sich von allein. 8)

    Na, na, ganz so einfach wird das nicht. Als BGE (Bedingungsloses Grundeinkommen) Befürworter sage ich dazu, wenn es soweit ist, ist es endgültig Zeit für dieses BGE. Teilhabe sichernd und gewinnbeteiligend.

    ABER, dann könnte ich mit meinem Geos auch dem Computer sagen, er soll ein neues Geos schreiben, das optisch genau so aussieht, dieselben Anwendungen enthält, in etwa denselben Ressourcenbedarf hat, egal ob 16- oder 32 Bittig und das wäre daann das endgültig freie Geos, das problemlos an Freedos gegeben werden könnte. Wollt Ihr das wirklich? :) :) :)