R-BASIC - Einfach unter PC/GEOS programmieren
Download R-BASIC Dateien


 

IDE Download
Zusätzliche Libraries
Liste aller Beispiele
Liste aller verfügbaren Objekte
Tutorials, Zusätzliche
Informationen & Dateien
Weitere Beispiele
Beschreibung
aktuelle Version
Versions-History

 

English   Click here for an English version of this page.
 

 

R-BASIC Version 0.9.8

Direkt zum Download


R-BASIC ist eine neue Programmiersprache für PC/GEOS. Sie ist einfach zu lernen und einfach zu benutzen, so dass Anfänger gut mit ihr zurecht kommen. Gleichzeitig ist sie so leistungsfähig, dass auch anspruchsvolle Projekte realisierbar sind. R-BASIC erfordert mindestens eine PC/GEOS Version ab GeoWorks 2.01 (oder höher). Empfohlen wird eine der aktuellen BreadBox Ensemble Versionen.

Warum gerade ein BASIC?

  1. Einfache Syntax. Die BASIC Syntax ist leicht zu erlernen, der Funktionsumfang von R-BASIC ermöglicht trotzdem die Programmierung von umfangreichen und professionellen Projekten.
  2. Kompatibilität. Es gibt eine Menge "alter", aber trotzdem interessanter Programme, die nur darauf warten, nach R-BASIC portiert zu werden.
  3. Man kann quasi jedes beliebige BASIC Handbuch hernehmen, um die Grundlagen der (R-)BASIC Programmierung zu erlernen. Die Details mögen verschieden sein, aber die Konzepte, wie man programmiert, bleiben gleich.

Ist R-BASIC objektorientiert?

Ja, Sie haben Zugriff auf das leistungsfähige PC/GEOS Objekt-System. Die in R-BASIC verfügbaren Objektklassen finden Sie hier aufgelistet.
Auf der anderen Seite bietet R-BASIC eine "klassischen" Modus, in dem ein alter Homecomputer simuliert wird. Dieser Modus macht es einfacher alte Programme zu portieren, ist aber möglicherweise auch ein guter Ausgangspunt für Programmieranfänger.

Wie arbeitet R-BASIC?

Nachdem Sie ihren Code geschrieben haben müssen Sie ihn "compilieren". Dabei wird die Synatx geprüft und eine Sequenz von "Tokens" erzeugt, die vom Executer "interpretiert" (ausgefühhrt) werden können. Dieses Konzept wird zum Beispiel auch von der Programmiersprache Java eingesetzt. Nachdem das Compilieren erfolgreich war können Sie ihr Programm starten oder eine R-App anlegen. R-Apps sind eigenständige Programme, die aus dem compiliereten Code und einem "Launcher" bestehen. Der Laucher ruft den Executer, um das BASIC Programm auszuführen. Aus der Sicht des Nutzers unterscheiden sich R-Apps nicht von "normalen" Programmen, die mit dem PC/GEOS SDK geschrieben wurden.

Wie bekomme ich Hilfe?

 

Anmerkung zur aktuellen Version:
Alle implementierten Funktionen wurden sorgfältig geprüft und ausführlich getestet. Sollten Sie trotzdem irgendwelche Probleme haben (seltsames Verhalten, Abstürze, kryptische Fehlermeldungen), so lassen Sie es mich bitte wissen. Helfen Sie mit, das Programm besser und stabiler zu machen.

Alle BASIC-Programme, die Sie mit dieser Version erstellen, werden auch in den folgenen Versionen lauffähig sein. Sollte es im Einzelfall hierbei Probleme geben, biete ich Ihnen hiermit meine Unterstützung an.


Download
Das ZIP-Archiv enthält:
  • IDE, Beispiele
  • Dokumentation
Download R-BASIC
Version 0.9.8
(5,8 MB)
August 2017
 

Vielleicht erforderlich:
System Library Upgrade:
Sound & Wav Libraries
Version 4.1 (8 kB)
 

 

Download zusätzliche Libraries


Objekte


Beschreibung aller verfügbaren Objektklassen


Screenshots: Weitere Infos:
Die aktuelle Version von R-BASIC. Für eine vollständige Installation müssen Sie die folgenden Komponenenten herunterladen:

  1. IDE, Dokumentation, Beispiele
    Dieses ZIP-Archiv müssen Sie herunterladen wenn Sie die neueste Version von R-BASIC installieren wollen. Es enthält die folgenden Installations-Pakete:
    • IDE
      Das Paket enthält die R-BASIC Entwickungsumgebung (Editor, Compiler, Erstellen von R-Apps), die Hifedateien, einige Tools sowie weitere, für die Arbeit mit R-BASIC unverzichtbare Dateien.
      Mitgelieferte Tools, zugreifbar aus R-BASIC heraus über das Menü "Extras"-"Tools".

      Wizzard Editor

      Block Graphic Editor

      Font Explorer

      Basic Salvager
        Screenshots ansehen

      Weitere Tools herunterladen

    • Dokumentation
      Das Paket enthält die kompletten R-BASIC Handbücher sowie weitere Dokumente.
      • Benutzerhandbuch: Beschreibung der IDE und aller wichtigen Dinge, die nicht direkt mit der Programmierspache selbst zu tun haben.
      • Programmierhandbuch: Beschreibung der R-BASIC Programiersprache.
        Das Programmierhandbuch ist fast fertiggestellt. Es fehlen nur die noch nicht implementierten Sound-Funktionen.
      • Objekthandbuch: Komplette Beschreibung der BASIC Objekte, ihrer Eigenschaften und Fähigkeiten. Wird laufend erweitert.
      • Spezielle Themen: Weiterführende Themen wie Schriften, Blockgrafik, Dateisystem usw. Das Handbuch Spezielle Themen ist fertiggestellt.
        Redaktionelle Änderungen bleiben vorbehalten.
      • R-BASIC Anhänge: Übersichten, Tabellen, Fehlercodes und vieles mehr
      • Quickreferenz Objekte: Liste alle Objektklassen, ihrer Instancevariablen, Methoden und der dazugehörigen Konstanten
      • Objekt- und Kommando-Übersicht (siehe auch hier)
    • Beispiele
      Hier finden Sie eine große Anzahl an Beispielen sowohl zu den BASIC Befehlen, zu den BASIC Objekten als auch zu speziellen Themen wie der Arbeit mit Dateien oder der Block Grafik. Klicken Sie hier für eine Liste aller Beispiele.

  2. Zusätzliche Libraries
    Diese Libraries müssen Sie nur herunterladen wenn es eine neue Version dieser Libraries oder eine neue Library gibt. Sie ergänzen R-BASIC und werden in speziellen Situationen benötigt. Aktuell sind folgende Libraries verfügbar:
    • DocumentTools - Aktuelle Version 1.0 - Veröffentlicht mit R-BASIC 0.9.2
    • VMFiles - Aktuelle Version 1.01 - Veröffentlicht mit R-BASIC 0.9.2
    Programmierer, die über das PC/GEOS-SDK verfügen, finden hier das SDK-Library-Kit. Damit kann man R-BASIC um Funktionen erweitern, die im ursprünglichen Konzept von R-BASIC nicht vorgesehen sind.
  3. Sound Libraries
    Falls Sie ein älteres GEOS System (vor Version 4.1) haben, benötigen Sie vielleicht neuere Sound Libraries (sound.geo und wav.geo) damit die R-BASIC Sound Befehle besser arbeiten. Die Sound Befehle arbeiten natürlich auch mit den älteren Libraries, aber die neueren sind besser. Unglücklicher Weise sind beide Libraries in Benutztung, so dass der Uni-Installer sie nicht automatisch ersetzen kann.
    Bitte prüfen Sie die Versionsnummern der beiden Libraries in ihren System-Ordner und ersetzen Sie sie von Hand, wenn die Libraries in ihrem System eine Versionsnummer kleiner als 4.1 haben. Das Archiv enthält beide Libraries in der Version 4.1. Vergessen Sie nicht, vorher eine Sicherheitskopie der beiden Systemlibraries anzulegen.

Wesentliche Neuerungen in der aktuelle Version
  • Abspielen von WAV-Dateien und FM-Sounds
  • Neue Objektklassen: Canvas, Image
Neue Beispiele (klicken Sie hier für eine Liste aller Beispiele):
  • Sound\WAV Demo
  • Sound\Instrument Demo
  • Sound\Morse Demo
  • Sound\Key Click Demo
  • Sound\Sound Demo
  • Sound\FM Musik Demo
  • Objekte\Grafik\Canvas Normal Demo
  • Objekte\Grafik\Canvas Clipping Demo
  • Objekte\Grafik\Canvas Buffered Demo
  • Objekte\Grafik\Canvas Maus Demo
  • Objekte\Grafik\Image Object Demo
Neue Kapitel im Handbuch:
  • Neu: Benutzerhandbuch, Kapitel 1: Einführung in R-BASIC
    Was ist R-BASIC? / Womit beginnen / Wichtige Pfade und Ordner
  • Neu: Benutzerhandbuch, Kapitel 2: Die R-BASIC IDE
    Bedienung der IDE / Die Menüs
  • Erweitert: Programmierhandbuch, Kapitel 2.10: Sound
  • Updated: Programmierhandbuch, Kapitel 2.8.5: Arbeit mit Graphic Strings
  • Neu: Anhänge, Kapitel G: Konstanten für Musik und Sound
  • Neu: Spezielle Themen, Kapitel 19: Objekte individualisieren
  • Das Objekt Handbuch Vol. 8 wurde nach Vol. 9 verschoben. Vol. 8 enthält neue Kapitel.
  • Neu: Objekt Handbuch, Kapitel 4.16: Canvas
  • Neu: Objekt Handbuch, Kapitel 4.17: Image

Inkompatible Änderungen: keine

Mehr Details zur aktuellen Version ...

Zur Installation wird eine aktuelle Version des Universal-Installers benötigt. Diese kann hier heruntergeladen werden.

 

   Download Libraries

Diese Libraries werden für spezielle Aufgaben von R-BASIC benötigt. Es gibt nicht mit jeder R-BASIC Version eine neue Version dieser Libraries.

DocumentTools Libray
Version 1.0
(68 kB)

Juli 2015
Veröffentlicht mit R-BASIC 0.9.2
Die DocumentTools Library stellt eine Reihe von Funktionen bereit, die Sie bei der Arbeit mit Dokumenten unterstützen. Dazu gehörenn zum Beispiel die typischen Dialogboxen zum Öffnen oder Speichern einer Datei. Die Routinen der DocumentTools Library arbeiten eng mit einem DocumentGuardian-Objekt zusammen. Mithilfe der von der DocumentTools Library bereitgestellten Routinen ist es sehr einfach, ein Dokument-Interface mit den üblichen Funktionen zu programmieren. Wie man das macht ist ausführlich im Handbuch "Spezielle Themen", Volume 3, Kapitel 15, beschrieben.
Der gesamte Document-Interface Code kann über ein R-BASIC Menu ("Extras" -> "Code Bausteine" -> "Dokument-Interface") in ihr Programm eingebaut werden. In diesem Fall müssen Sie die DocumentTools Library herunterladen, da sie vom eingebundenen Code verwendet wird.
VMFiles Libray
Version 1.0.1
(106 kB)

Juli 2015
Veröffentlicht mit R-BASIC 0.9.2
Die VMFiles-Library erlaubt R-BASIC den Zugriff auf die GEOS-typischen VM-Dateien. Die Dokumente aller "großen" Applikationen wie GeoWrite und GeoDraw sind VM-Dateien.
VM-Dateien sind universell einsetzbar und sehr einfach zu handhaben. Wenn Sie z.B. eine Film-Datenbank programmieren wollen, sollten Sie VM-Dateien einsetzen. Die brauchen nicht vorher festzulegen, wie viele Filme Sie in die Datenbank aufnehmen wollen, da Sie mit einem einzigen Befehl einen Datensatz (Film) hinzufügen oder löschen können. Falls Sie ein Bild, z.B. ein Cover, mit in die Datenbank aufnehmen wollen ist auch das mit wenigen Befehlen erledigt, da VM-Dateien extra dafür ausgelegt sind auch Bilder zu speichern.
Die VMFiles Library ist erforderlich wenn Sie mit VM-Dateien arbeiten wollen.

SDK Library Kit (28 kB)

Version 1.0.1
August 2017
Veröffentlicht mit R-BASIC 0.9.8
Dieses Paket enthält alle notwendigen Dateien und Informationen um mit dem PC/GEOS SDK Libraries für R-BASIC zu schreiben. Damit ist es möglich, R-BASIC um Funktionen zu erweitern, die im ursprüglichen Konzept nicht vorgesehen sind. Beispiele für Libraries, die mit diesem Kit geschrieben sind, sind die VMFiles Library und die DokumentTools Library.
Das Kit ist komplett in Englisch. Es enthält eine ausführliche Anleitung und Beispiele, wie man typische Situationen zu behandlen hat.
Version 1.0.1 fügt einige Handle- und "Register" Typen zur sdklib.goh datei hinzu. Sie brauchen nur von Version 1.0 zu 1.0.1 updaten, wenn Sie in ihrer Library mit R-BASIC Sounds hantieren wollen.

 

   Tutorials, Zusätzliche Informationen und Dateien

More Tool Images (85 kB)

Dezember 2014
Dieses Paket enthält eine große Anzahl an Bildern die von den GEOS Tool-Buttons stammen und unter R-BASIC verwendet werden können um diese Buttons nachzubilden. Es gibt Bilder für Bitmap-Tools, Farben, Objekt-Tools (wie Rechteck und Linie zeichnen) Text-Tools (z.B. fetter Text, kursiver Text) und viele weitere Bilder. Zusätzlich gibt es den kompletten Satz Spielkarten einschließlich Rückseiten.
Die Dateien werden in USERDATA\R-BASIC\IMAGES installiert und können sofort mit der Anweisung CaptionImage, der Picture-List und anderen verwandten Kommandos verwendet werden.
Achtung! Aus Kompatibilitäsgründen sind die Pfade auf Englisch.
R-BASIC Translator

Version 1.1
August 2015
Übersetzer-Tool zum Übersetzen von R-BASIC Programmen und Libraries. Der Link führt auf die Downloadseite mit ausführlichen Informationen zu diesem Programm.
Erstellen von Icons

IconMake 1.1 (31 kB)
(DOS-Programm)

Icon Edit 3.1 (31,4 kB)

Token PCX Tool (8,9 kB)

März 2013

ICONMAKE ist ein DOS-Programm vom Marcus Groeber, das PCX oder ICO Dateien einliest und daraus "Token-Dummys" erstellt. Das sind Mini-"Programme", deren einzige Aufgabe darin besteht, Icons in die Token-Database zu schreiben.

Der Icon Editor ist eine GEOS Anwendung, mit der man Icons für GEOS erstellen oder ändern kann. Es ist quasi ein Mini-Malprogramm mit der Fähigkeit die Bilder als Icons in die Token-Database zu exportieren oder von dort zu importieren. Außerdem wird die Erstellung von Icon-Quellcode für SDK Programme und einiges mehr unterstützt.
Die aktuelle Version 3.1 kann zwar 256-Farb-Icons erstellen, der Export in die und der Import von der Token-Database ist jedoch noch fehlerhaft. Das Erstellen des SDK-Quellcodes ist bereits gefixt.

Token PCX Tool ist ein sehr spartanisches Tool aus dem SDK, dass 8-Bit PCX Dateien lesen und daraus 256-Farb-Icons in der Token-Database erstellen kann. Die Grafiken für das 48x30 und das 15x15 Icon-Bild werden von bestimmeten Positionen des PCX-Bildes gelesen. Details sind in der readme.txt beschrieben. Eine Beispieldatei ist beigefügt.

Weitere Tools (14,2 kB)

Okt. 2010
Weitere Tools für R-BASIC. Zugreifbar aus R-BASIC heraus über das Menü "Extras"-"Tools".
- BuilderBase (Verwaltung von Code-Schnipseln, BreadBox, deutsch)
- HDBConv (Hex-Dec-Bin-Converter, John Howard, englisch)

Mehr Beispiele

Wurfparabel Source (52 kB)

Version 1.1
September 2016
Source Code und Iconeditor-Datei des Wurfparabel Lehrprogramms. Dieses Beispiel zeigt vornehmlich die Verwendung des Grafik-Mixmodus MM_XOR. In diesem Modus wird eine Linie oder Fläche (zum Beispiel die Wurfparabel) beim ersten Zeichen dargestellt und beim zweiten Zeichnen wieder gelöscht. So kann man z.B. veränderliche Linien ohne Beeinflussung des Hintergrunds programmieren. Der Sourcecode ist so strukturiert, dass man die GEOS typischen Konzepte auch dann verstehen kann, wenn man die Physik hinter dem Programm (Berechung der Wurfparabel) nicht durchschauen will.
Level: Fortgeschrittene
Das compilierte Programm (R-App) kann man hier downloaden.
FileLister Source (31 kB)

Version 1.0
August 2014
Source Code und Iconeditor-Datei der FileLister Anwendung. Dieses Beispiel zeigt, wie man einen Verzeichnisbaum durchsucht, indem eine Routine sich selbst aufruft (rekursive Programmierung), wie man Text in eine Datei schreibt und wie man eine HTML-Datei anlegen kann.
Level: Fortgeschrittene
Das compilierte Programm (R-App) kann man hier downloaden.
2048 Game Sourcecode (82,7 kB)

Version 1.0
August 2014
Quellcode des 2048 Kult-Spiels. Demonstriert grundlegenden Arbeitstechniken wie das Arbeiten mit Strukturen, OnStartup- und OnExit-Handlern sowie das Speichern von Daten in Dateien.
Benötigt R-BASIC 0.8.9a (Hamburg-2014-Version) oder höher.
Das compilierte Programm (R-App) kann man hier downloaden.
Level: Fortgeschrittene
Cool Code (14,9 kB)
März 2013
Ein einfaches Beispiel, dass unter Verwendung der Block-Grafik ein zufälliges Labyrinth zeichnet.
Benötigt R-BASIC 0.8.7 oder höher, da sonst die Zeichengeneratordatei (ALIEN.RBF) die verwendeten Zeichen noch nicht enthält.
Level: Anfänger
Rätsel by Jörg Polzfuß (30,3 kB)
März 2012
Ein kleines Zahlenrätsel, geschrieben von Jörg Polzfuß auf dem Treffen in Syhra 2011. Dieses sehr einfache Beispiel eignet sich sehr gut als Ausganspunkt für eigene Experimente mit der UI und dem Geometrie-Manager.
Level: Anfänger
Release Saver Example (59,6 kB)
März 2012
Dieses komplexe Beispiel zeigt die Verwendung vieler Dateibefehle, einschließlich der Suche nach Dateien und der Fehlerbehandlung in verschieden Situationen. Kernpunkt ist das Kopieren von Dateien und ganzer Ordner, einschließlich Unterordner. Ich verwende dieses Programm zum Sichern meines R-BASIC Code Trees.
Level: Profi

 

Verfügbare Objektklassen

Application


Das Application-Objekt ist unsichtbar.

Dieses Objekt stellt die Verbindung zum GEOS-System her und ist das top Parent-Objekt für alle anderen generischen BASIC-Objekte ihres Programms. Jedes BASIC-Programm muss genau ein Application-Objekt haben. Direktes Child des Application-Objekts ist im allgemeinen ein Primary-Objekt.
Primary

Objekte der Klasse Primary sind die "Hauptfenster" des Programms. Primaries haben links oben ein System-Menü, rechts oben die Schalter für "Minimieren" und "Maximieren" sowie bei Bedarf einen "Hilfe" Schalter (Fragezeichen). Im Allgemeinen hat jedes BASIC Programm genau ein Primary-Objekt.
Button

  

Ein Button ist eine Schaltfläche, die mit der Maus angeklickt oder mit der Tastatur aktiviert werden kann. Buttons werden für Menü-Einträge oder als alleinstehende Schalter verwendet.
Group

Groups (Gruppen) haben einen Hauptzweck: Sie dienen dazu andere Objekte anzuordnen. Durch die geschickte Verwendung von Groups geben Sie als Programmierer ihrem Programm das Aussehen, das Sie wünschen. Die im Bild gezeigte Anwendung besteht aus einer Group (rot, oben) und einer Reply-Bar (unten, ebenfalls ein Group-Objekt), die vertikal (untereinander) angeordnet sind. Die rot markierte Gruppe besteht aus einem Text-Objekt und einer weiteren Group, hier blau markiert. Beide Objekte sind horizontal angeordnet. Die rechte (blaue) Group enthält letztlich die Action-Buttons, die untereinander angeordnet sind.
Menu

Menüs sind der übliche Weg, auf dem der Nutzer unterschiedliche Programmfunktionen anwählen kann. Die Menü-Einträge sind die Children eines Menüs. In vielen Fällen sind dies Buttons. Verschachtelte Menüs (Sub-Menüs, siehe Bild) erhalten Sie, wenn sie andere Menüs als Menü-Einträge verwenden. Verwenden Sie Dialoge als Menü-Einträge, so erzeugt das System selbständig einen Button im Menü, der den Dialog öffnet.
Dialog

Dialoge sind unabhängige Fenster, mit denen der Nutzer interagieren kann. Sie werden für die unterschiedlichsten Aufgaben eingesetzt. Die vom Dialog dargestellten UI-Objekte sind die Children des Dialog-Objekts. Dialog-Objekte sind einfach zu benutzen, verfügen aber auch über sehr viele Fähigkeiten, die sie sehr leistungsfähig machen.
Number

Objekte der Klasse Number (engl.: Zahl) dienen dazu, Zahlen darzustellen oder einzugeben. Obwohl sie sehr einfach zu verwenden sind, verfügen Sie über einen hohen Grad an "Eigenintelligenz". Zum Beispiel kann man die Anzahl der Nachkommastellen einstellen sowie Minimal- und Maximal-Werte festlegen. Je nach Konfiguration können Sie mit normalen Ziffern oder Schieberegler ("Slider") auftreten.

     
OptionGroup

Die OptionGroup verwaltet eine Liste von Option-Objekten, das jedes für sich und abhängig voneinander den Zustand "ein" oder "aus" haben kann.
RadioButtonGroup

Die RadioButtonGroup verwaltet eine Liste von RadioButton-Objekten, die einzeln oder in Gruppen ausgewählt (selektiert) werden können. Die RadioButtonGroup ist ein sehr vielseitiges Objekt das insbesondere dann zum Einsatz kommt, wenn die Anzahl der Listeneinträge von vorneherein bekannt und unveränderlich ist.
DynamicList

Die DynamicList stammt von der RadioButtonGroup ab und ist daher genauso vielseitig wie diese. Sie wird eingesetzt, wenn die Anzahl der Listeneinträge nicht von vorneherein bekannt ist und / oder sich während des Programmablaufs verändert.
View
mit einem
BitmapContent

Die View Objektklasse stellt ein "Fenster" bereit, in dem beliebige grafische Daten - einschließlich Texte - dargestellt werden können. Die Inhalte dieses Fensters, d.h. die grafischen Daten, werden vom "Content"-Objekt (content: engl. Inhalt) bereitgestellt. Dieses Objekt muss nur die Daten darstellen können. Alles andere, wie Scrolling, Zoom oder Clipping (engl. to clip: beschneiden) macht das View.
Objekte der Klasse BitmapContent werden als "content" Objekt an ein View gebunden. Sie verwalten eine editierbare Bitmap. In die Bitmaps der Klasse BitmapContent kann Text oder Grafik geschrieben werden. Das BitmapContent-Objekt legt die zugehörige Bitmap automatisch selbst an, so dass sie sofort benutzt werden kann.

BitmapContent Objekte können auf Maus- und Tastaurereignisse reagieren, indem der Programmierer entsprechnde Handler schreibt. Außerdem können sie mit der Zwischenablage arbeiten.

Canvas

Objekte der Klasse Canvas stellen eine Grafik dar, indem sie ihren OnDraw Handler aufrufen. Zusätzlich verfügen sie über einen gepufferten Modus, der sehr schnell arbeitet. Canvas Objekte können auf Mausereignisse reagieren, indem der Programmierer entsprechnde Handler schreibt. Außerdem können sie mit der Zwischenablage arbeiten.
Image

Ein Imageobjekt dient dazu, eine Grafik anzuzeigen, die als fertiges Bild in einer Datei oder in der PictureList vorliegt. Der Programmierer muss nichts weiter tun als die anzuzeigende Grafik zu spezifizieren.Das Imageobjekt kann auch Animationen ohne weiteres Zutun des Programmierers abspielen.

Unterstützte Grafik-Formate:
  • Grafik-Dateien: JPG, BMP, ICO, PCX, GIF, TGA, RLE, DIB, SCR (BreadBox SplashScreen)
  • VM-Dateien: GEOS Hintergrund Dateien, Resource-Maker Dateien (Bitmaps und GStrings)
  • Animationen: GIF, FLC, FLI, BreadBox QuickCam Format
Memo

InputLine

Die R-BASIC Textobjekte erlauben das einfache Eingeben von Text, ohne dass Sie als Programmierer sich um irgendwelche Details kümmern müssen. Die Textobjekte behandeln Tastatur- und Mausereignisse selbständig und erzeugen bei Bedarf eine vertikale Scroll-Leiste. Sie registrieren, ob der Text vom Nutzer verändert wurde und können bei Bedarf Messages aussenden, um den Rest des Programms über bestimmten Ereignissen zu informieren.

Alle Textobjekte können mit der Zwischenablage (Clipboard) kommunizieren.

In R-BASIC stehen zwei Textobjekt Klassen zur Verfügung. Die Klasse Memo stellt einen einfachen Texteditor bereit. Sie unterstützt einen automatischen Zeilenumbruch und die Entertaste beginnt einen neuen Absatz. Die Klasse InputLine dagegen ist für die Eingabe einzeiliger Texte, z.B. von Dateinamen, gedacht.

FileSelector

Ein FileSelector stellt die UI bereit, die notwendig ist, um eine Datei oder ein Verzeichnis auszuwählen. Klickt der Nutzer auf einen Eintrag sendet der FileSelector eine Notification-Message aus und der Programmierer kann entscheiden was passiert. Häufig wird die entsprechende Datei dann geöffnet. Die Navigation durch die Verzeichnisse handelt der FileSelector dabei selbständig.

Welche Dateien in der Liste angezeigt werden kann über diverse Kriterien, z.B. das Token der Datei oder eine Dateimaske eingestellt werden.

ColorSelector

Ein ColorSelector stellt die UI bereit, die notwendig ist, um eine Farbe, ein Füllmuster oder ein Füllraster auszuwählen.

Welche der Eigenschaften (Farbe, Füllmuster, Raster) dem Nutzer zur Auswahl angeboten werden kann eingestellt werden. Per default sind es nur die Indexfarben, wie im linken Bild dargestellt.

DocumentGuardian


Das DocumentGuardian-Objekt ist unsichtbar.

Viele Programme arbeiten mit Dokumenten, die der Nutzer anlegen, bearbeiten, speichern und weitergeben kann. Objekte der Klasse DocumentGuardian erleichtern Ihnen den Umgang mit solchen Dokumenten, indem Sie allgemeine Informationen, die bei der Arbeit mit Dokumenten anfallen, verwalten. Dazu zählen z.B. der Name und der Pfad zur Dokumentendatei, der Dateityp, das Token sowie das FileHandle der offenen Datei.

DocumentGuardian-Objekte sind dafür ausgelegt mit der Library "DocumentTools" zusammenzuarbeiten. Diese Library bietet z.B. die zur Dateiarbeit nötigen Dialogboxen wie "Öffnen" und "Speichern unter" an.

DocumentGuardian Objekte können auch mit der "VMFiles" Library zusammenarbeiten. Diese Library erlaubt den Zugriff auf die leistungsfähigen "Virtual Memory" (VM)-Dateien, die von allen großen GEOS Anwendungen als Dokumente genutzt werden.

PrintControl


Das PrintControl-Objekt selbst ist unsichtbar. Es stellte aber den Drucken-Dialog bereit.

PrintControl: der "Drucken"-Dialog

Wenn Sie aus einem R-BASIC-Programm heraus drucken wollen müssen Sie ein PrintControl-Objekt benutzen. Das PrintControl-Objekt stellt der "Drucken"-Dialog bereit und steuert alle für das Drucken notwendigen Vorgänge.
PageSizeControl

Wenn der Nutzer die Möglichkeit haben soll, die Seitengröße eines Dokuments einzustellen, sollten Sie ein PageSizeControl Objekt verwenden, dass die zur Einstellung der Seitengröße, des Papierformats und der Ränder notwendige UI bereitstellt.

 

Neues in der aktuellen Version

Wichtige Neuerungen:
  • 24 neue Musik und Sound Kommandos
    • PlayWav spielt eine WAV-Datei im Hintergrund, PlayWavBG, StopWavBG und GetWavBGCount spielen und verwalten mehrere WAV-Dateien im Hintergund. GetWavInfo, ConvertWav arbeiten mit WAV-Dateien.
    • GetAudioConfig und DoAudioConfig arbeiten mit der RABE-Soft Audio Library.
    • PlayNote spielt eine einzelne Note. AllocNoteHan, PlayNoteHan, StopNoteHan, FreeNoteHan spielen und verwalten eine einzelne Note, die durch ein Handle referenziert wird.
    • PlayMusic spielt FM-Musik. PlayMusicBG, StopMusicBG und GetMusicBGCount spielen und verwalten FM-Musik im Hintergrund. AllocMusicHan, PlayMusicHan, GetMusicTime, StopMusicHan, FreeMusicHan spielen und verwalten FM-Musik, die durch ein Handle referenziert wird.
    • Die Kommandos Sound und KCSound spielen Sound-Effekte.
  • 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.
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

 


 

   R-BASIC Überblick

Klicken Sie auf die Bilder für eine Großdarstellung. Diese Übersichten stammt aus dem R-BASIC\Dokumente Ordner (GeoDraw-Dokumente).

Überblick R-BASIC Kommandos

Überblick R-BASIC Objekte


 

  Zurück zum Anfang

Fragen, Anregungen, Hinweise bitte an: Rainer Bettsteller