Logo: Geos Online Print Archiv
G.O.P.A. - Geos Online Print Archiv
26.04.2024 Archiv  #  Recherche  #  Links  #  Kontakt  #  Gästebuch  #  Impressum

Index
Register
Login

Die Anzeige des Archivs erfolgt grafisch. Ändern

NewBasic Beta 3 - (Teil 3)

Autor: Dirk Haase

Im letzten Teil wurde eine kleine Einführung in NewBASIC geboten, ohne viel Theorie zu machen. In diesem Teil geht es nun systematisch voran.

NewBASIC ist eine Programmiersprache, die sehr nah am visuellen Teil orientiert ist (nach dem Motto: WYSIWYG - What you see is what you get). Das bedeutet, man sieht bei der Entwicklung zum größten Teil, wie das Programm später aussieht. Da NewDeal Programme meistens aus Fenstern, Knöpfen, Listen, Menüs und einigem mehr bestehen, bietet NewBASIC einen "Builder", der fest in die Entwicklungsumgebung eingebaut ist. Wie bei einem Baukasten kann unter NewBASIC ein Fenster gestaltet werden. Man wählt einfach ein Element aus der Toolbox und setzt es auf das leere Fenster (Form).

Wie sicher noch aus dem vorherigen Teil bekannt, nennt man solche Elemente in NewBASIC Objekte. Selbst das leere Fenster ist ein Objekt. Diese Form der Objektorientierung erleichtert das Entwickeln von NewDeal Anwendungen enorm. Sogar Aufgaben, die mit der Zwischenablage zu tun haben, lassen sich so sehr einfach und schnell lösen.

Allein eine Einteilung in verschiedene Objekte bringt noch keinen Vorteil. Aber zusätzlich verfügt jedes Objekt über bestimmte Eigenschaften und Ereignisse.

Die Eigenschaften eines Objekts bestimmen zum Beispiel die Größe und die Position, die Beschriftung, den Namen des Objekts usw. Die Eigenschaften können auch geändert werden: man braucht nur auf ein Objekt zu klicken, und in der Eigenschaftsbox den entsprechenden Wert eingeben oder ändern.

Des weiteren verfügt jedes Objekt über bestimmte Ereignisse (oder besser gesagt: fast jedes Objekt). Ein Ereignis tritt zum Beispiel ein, wenn man in einem Programm später auf einen Knopf klickt, eine Taste drückt, mit der Maus auf das Fenster klickt, usw. Tritt nun ein solches Ereignis ein, sucht NewBASIC nach einer entsprechenden Ereignisprozedur. Der Name der Prozedur, nach der gesucht wird, besteht aus dem Namen des Objekts gefolgt von einem tiefgestellten Bindestrich und anschließend dem Ereignis selbst. Heißt das Objekt zum Beispiel "button1" und klickt der Benutzer mit der Maus auf dieses Objekt, so sucht NewBASIC nach der Prozedur "button1_pressed".

Außer den Objekten und Ereignisprozeduren kann das Programm natürlich noch andere Prozeduren und Funktionen aufnehmen, die vom Programmierer selbst geschrieben worden sind. Hierbei gelten die gleichen "Spielregeln" wie bei QBASIC. Auch unter NewBASIC heißen die Unterprogramme 'sub' und die Funktionen 'function'.

Nachdem in den vorherigen Teilen bereits auf die Anordnung der einzelnen Teile des NewBASIC Builders eingegangen wurde, sollen im folgenden die einzelnen Menüs genauer erklärt werden.

File:

New Module           - legt ein neues, leeres Programm an
Open                 - öffnet ein gespeichertes Programm
Open D:\BEISPIEL.BAS - öffnet ein spezielles Programm - das zuletzt
                       geladene
Save                 - speichert das aktuelle Programm
Save As...           - speichert das aktuelle Programm unter einem
                       neuen Namen
Build for NewDOS     - compiliert das Programm für die direkte
                       Nutzung in NewDOS (es wird nicht der
                       komplette Builder benötigt, sondern nur
                       ein Launcher-Programm)
Exit                 - beendet den NewBASIC Builder

Edit:

Cut                  - scheidet den markierten Text aus und kopiert
                       ihn in die Zwischenablage
Copy                 - kopiert den markierten Text in die
                       Zwischenablage
Paste                - fügt den Inhalt aus der Zwischenablage ein
Delete               - löscht den markierten Text
Select All           - markiert den gesamten Text im Codefenster


Hinweis: die einzelnen Menüpunkte des Edit-Menüs sind nur wirksam, wenn das Menü neben das Editor-Fenster "gepinnt" wird und wirken nur auf Text in diesem Fenster.

Debug:

Global Variables...  - zeigt alle globalen Variablen und deren
                       Werte an
Local Variables...   - zeigt alle lokalen Variablen und deren
                       Werte an
Call Sack...         - zeigt Funktionsaufrufe an, wenn diese
                       durchgeführt werden

Hinweis: diese drei Punkte sind nur aktiv, wenn ein Programm ausgeführt wird und die Programmausführung unterbrochen wurde, zum Beispiel durch einen Klick auf [Pause].

Window:

Toolbox...              - öffnet die Toolbox mit den Objekten
Component Properties... - öffnet die Eigenschaftsbox
Editor...               - öffnet den Editor (dieser kann auch per
                          Doppelklick auf ein Objekt geöffnet werden.

Unter der Menüzeile befinden sich einige Knöpfe mit wichtigen Funktionen während der Programmausführung:

[Run]                - startet das Programm
[Pause]              - unterbricht die Ausführung des Programmes
[Stop]               - beendet das Programm
[Continue]           - setzt die Programmausführung fort
[Single Step]        - führt die nächste Zeile des Basic-Codes aus
                       und pausiert dann erneut
[Routine Step]       - selbe Funktion wie [Single Step], nur das hier
                       komplette Routinen bearbeitet werden
[Finish]             - beendet die Ausführung der aktuellen Routine

Die Toolbox enthält die meisten Objekte. Ihre Anzahl wird sich bis zur veröffentlichten Version 1.0 von NewBASIC sicher noch ändern. Einige Objekte sind derzeit noch nicht über die Toolbox erreichbar, sondern nur durch erzeugen per Code, zum Beispiel: das File-Objekt, der Print-Objekt oder der FileSelector.

In der Grundstellung sind die [Basic-UI] Objekte (Grundelemente) zu sehen:

button (Taste)
Die Taste ist ein einfacher Knopf, über den Aktionen ausgelöst werden können.

choice (Optionsfeld)
Das Optionsfeld, wie auch das toggle (Kontrollkästchen), dient dem Einstellen von Optionen. Es kann in einem Container (z.B. Form, Group) jedoch nur ein Optionsfeld markiert sein. Dies ist sinnvoll, wenn nur eine von mehreren möglichen Einstellungen auf einmal aktiviert werden soll. Durch diese Eigenschaft spart man sich eine Menge Programmierarbeit zur Auswertung der Choices.

entry (Eingabefeld)
Ein einzeiliges Text-Eingabefeld. Auch geeignet, um Zahlen mit Nachkommastellen einzugeben (mit anschließenden Konvertierung in den float-Typ).

group (Rahmen)
Der Rahmen kann genau wie eine Form andere Objekte aufnehmen.

label (Bezeichnung)
Das Label ist eine einfache Beschriftung. Damit kann Text in einer Zeile ausgegeben werden.

list (Listenfeld)
Ein Listenfeld ist eine einfache Liste. Man kann das Objekt so einstellen, daß der Benutzer entweder nur ein oder mehrere Elemente auswählen kann.

number (Zahlenfeld)
Hier können Zahlen eingegeben werden. Achtung: in den Einstellungen kann man zwar als Typ Dezimal einstellen, dies funktioniert allerdings (noch) nicht. Ebenfalls ist nur eine Schrittweite in ganzen Zahlen möglich. Um Zahlen mit Nachkommastellen einzugeben, empfiehlt sich das entry-Objekt.

menu (Menü)
Mit diesem Objekt lassen sich Menüs zusammensetzen. Das erste menu-Objekt wird direkt auf der Form abgelegt und ordnet sich automatisch in der Menüzeile an. Werden weitere Menüs auf der Form abgelegt, so ordnen sie sich rechts davon an. Öffnet man das Menü und pinnt es auf den Bildschirm, können auch Untermenüs erstellt werden.

scrollbar (Rollbalken)
Die Rollbalken haben einen Schieber den der Benutzer bewegen kann. Je nach Position hat die value-Eigenschaft einen anderen Wert. Verwendung finden sie zum Beispiel bei Text- oder Bildfeldern, wenn der Text bzw. das Bild nicht komplett dargestellt werden kann. Mit der Look-Eigenschaft kann die Ausrichtung festgelegt werden: horizontal oder vertikal.

spacer (Platzhalter)
Er dient nur dazu, Platz zu halten - damit die Objekte z.B. nicht eng aneinander angeordnet werden. Er kann sowohl sichtbar als auch unsichtbar sein. Meistens ist es günstiger, statt eines Spacers die AutoLayout-Eigenschaft einer Form oder Group zu nutzen. Dadurch ordnen sich die Objekte innerhalb dieser automatisch entsprechend den Einstellungen an.

toggle (Kontrollfeld)
Diese Kästchen können beliebig per Mausklick ein- bzw. ausgeschaltet werden. Jede Änderung dieser wird dem Programm durch ein Ereignis signalisiert. Im Gegensatz zum Choice-Objekt können beliebig viele Toggles aktiviert werden. Anwendung zum Beispiel in einem Textprogramm für die Schriftstile: die Schrift kann fett UND kursiv sein. Bei einem Choice wäre nur fett ODER kursiv möglich.

Bereich Deluxe:

gadget (Grafikfeld)
In diesem Feld kann sowohl mit den Objekt-eigenen Methoden (zum Beispiel: DrawLine()) gezeichnet, als auch komplette Bilder abgelegt werden.

table (Tabelle)
Hier können Daten in Tabellenform eingegeben werden.

*picture (Bildfeld)
Das Bildfeld kann Bilder aufnehmen, zum Beispiel als Zwischenspeicher: man kann die Bilder hier unterbringen und diese später per Programmcode an anderer Stelle darstellen.

*text (Textfeld)
Erlaubt das Eingeben und Editieren eines mehrzeiligen Textes. Funktionen wie Kopieren, Löschen usw. sind möglich (Clipboard-Objekt muß im Programm enthalten sein). Beeinflussen lassen sich zum Beispiel die Textgröße, -farbe und -stil.
* ist in der aktuellen Beta nicht zu sehen, ist aber im Normalfall da untergebracht.

Bereich Service:
Die folgenden Objekte sind nicht als solche sichtbar, sie tauchen nur in der Objekt-Liste des Editors auf und können per Programmcode angesprochen werden. Mit ihnen ist es möglich, auf mehrere Systemeigenschaften zuzugreifen und diese zu nutzen.

timedate (Zeit / Datum)
Erlaubt den Zugriff auf die Systemzeit und das Systemdatum. Es kann sowohl ausgelesen als auch gesetzt werden.

alarm (Alarm)
Mit diesem Objekt ist es möglich, eine Alarmzeit zu setzten. Ist die eingestellte Zeit erreicht, kann eine Aktion ausgelöst werden.

timer (Zeitgeber)
Er ruft in einstellbaren Intervallen ein Ereignis hervor. Dadurch lassen Zeit-abhängige Aufgaben realisieren.

clipboard (Zwischenablage)
Über dieses Objekt erfolgt der Zugriff auf die Zwischenablage. Einfügen, Kopieren, Ausschneiden wird dadurch möglich. Auch kann über die Clipboard-Eigenschaften ermittelt werden, welcher Variablentyp aktuell in der Zwischenablage enthalten ist (String, Zahl, Grafik).

database (Datenbank)
Erlaubt das Erstellen eigener Datenbanken. Die eingegebenen Daten werden in einem eigenen Format gespeichert, können aber auch durch eigene Routinen in anderen Formaten ausgegeben werden.

display (Bildschirm)
Liefert unter anderem die verwendete Auflösung und Anzahl der Farben für den Bildschirm.

busy ("Besetztzeichen")
Über dieses Objekt ist es möglich, den normalen Mauszeiger in eine Sanduhr zu verwandeln und dem Anwender auf diese Weise mitzuteilen, das das System nicht abgestürzt sondern beschäftigt ist.

sound (Sound)
Liefert sechs verschiedene Sounds, die zur Unterstützung von Programmmeldungen eingesetzt werden können: Fehler, Warnung, Hinweis ...

Bereich Window:
clipper

Ein einfaches Fenster, welches andere Objekte in sich aufnehmen kann. Hier kann die Hintergrundfarbe individuell eingestellt werden.

floater
Ein Rechteck, ohne Rahmen und ohne Titelzeile. Kann andere Objekte aufnehmen.

dialog
Normales Fenster, ohne Expressknopf, ohne Knöpfe zur Maxi- und Minimierung der Fenstergröße. Dafür werden einige besondere Typen angeboten (im Abschnitt [Specific]).

form
Die allgemeine Fensterform mit Schließknopf, Expressmenü und den Knöpfen zur Maxi- und Minimierung der Fenstergröße.

Und zur Vervollständigung noch einige wichtige Eigenschaften, welche bei fast jedem Objekt zu finden sind:

caption              - die Textbeschriftung für ein Objekt
enabled              - legt fest, ob das Objekt benutzbar ist oder
                       nicht
graphic              - der grafische Teil einer Objektbeschriftung

height               - die Höhe eines Objektes
left                 - gibt die Position des linken Objektrandes vom
                       linken Bildschirmrand an
look                 - legt das Aussehen eines Objektes fest

top                  - gibt die Position des oberen Objektrandes vom
                       oberen Bildschirmrand an
version              - gibt die Version eines Objektes an
visible              - legt fest, ob das Objekt sichtbar ist oder
                       nicht
width                - gibt die Breite des Objektes an

Hinweis: gegenüber der Endversion von NewBASIC können Abweichungen zum hier beschriebenen Eigenschaften / Objekten auftreten.

Für den nächsten Teil bleibt zu hoffen, das bis dahin New Deal Office 3.0 erschienen ist, da dies die Voraussetzung für die Nutzung von NewBASIC ist und Beispiele besser zu verstehen sind, wenn man sie selbst nachvollziehen kann.

Icon: NewBasic Builder    Desktop Symbole aus der aktuellen NDO beta 3   Icon: Computer

Dirk Haase
(09/98)


Anmerkung:
Bildschirm-Fotos von NewBasic sind leider nur in Farbe möglich. Icons für die mono-Darstellung sind nicht enthalten. Da farbige Dumps nur mit erheblichen Darstellungsproblemen hier wiedergegeben werden können, habe ich -leider- drauf verzichten müssen.
Zum Vergleichen sollte man den Artikel am Rechner lesen, bei gestartetem NewBasic am Bildschirm.

 

(th)

 

 

 




Dieser Artikel ist Bestandteil von:

Ausgabe 60

! - - - - - M I C R O F I L M - - - - - ! | Editorial | News Regio Baden | GUC Jahreshaupttreffen ´98 | Test: SuperCPU 128 von CMD | Übersicht über Geos 64 / 128-Themen in der GUP (Teil 1) | PC: Probleme zwischen Alt und Neu | Aktuelles ... im September | NDO 3.0 Antworten | NewMail: Der Umgang mit dem Dateianhang | Leserbrief: GWE und Qemm | NewBasic Beta 3 - (Teil 3) | Connect mit 115.200 Baud | NewComm mit 115.200 Baud | Leserbrief: Per Launcher & Skipper mit NDO ins Internet | Erfahrungsbericht: Olivetti Quaderno | Werbung für ND Office | Spielen in NewDOS


Kurzlink hierhin: http://geos-printarchiv.de/2829


Letzte Änderung am 01.11.2019