Basic-Programme entwickeln mit Gambas

Aus LinuxUser 04/2005

Basic-Programme entwickeln mit Gambas

Grundlagenprogrammierung

Unter Windows hat die Programmiersprache Visual Basic nach wie vor viele Freunde. Umsteiger fanden unter Linux bisher nur dürftigen Ersatz. Doch mit Gambas gibt es jetzt eine entsprechende Entwicklungsumgebung.

Trotz ihrer langen Geschichte war und bleibt die Programmiersprache Basic umstritten. Immerhin hat Microsoft mit Visual Basic einen Dialekt etabliert, der sich unter Windows-Nutzern großer Beliebtheit erfreut. Unter Linux gab es bislang nur einige Nischenprojekte wie XBasic [1]. Mit einer an Visual Basic angelehnten Oberfläche möchte Gambas [2] (Abbildung 1) die Einstiegshürde zum Erlernen niedrig setzen und erhebt dabei den Anspruch, einen effizienteren Basic-Dialekt als VB zu verwenden.

Abbildung 1: Gambas erinnert nicht nur auf den ersten Blick an Visual Basic.

Abbildung 1: Gambas erinnert nicht nur auf den ersten Blick an Visual Basic.

Neben Gambas existieren für Linux die beiden freien Basic-Varianten HBasic [3], eine komplette Entwicklungsumgebung, und der Interpreter wxBasic [4]. Daneben haben die Entwickler des kommerziellen KBasic [5] seit längerem eine IDE mit vollständiger Sprachkompatibilität zu Visual Basic versprochen, bislang gibt es jedoch noch keine Vorabversion. Mit PowerBasic [6] und RealBasic [7] existieren daneben zwei weitere kommerzielle plattformübergreifende Dialekte, die für Linux jedoch noch keine Entwicklungsumgebung bieten.

Doppelte Arbeit

Da sich die Oberflächen von Gambas und Visual Basic ähneln, finden sich Umsteiger schnell zurecht. Jedoch weicht die Gambas-Syntax von Visual Basic ab, so dass sich VB-Programme nicht ohne Weiteres übernehmen lassen. Einfache Projekte ohne ActiveX-Steuerelemente lassen sich jedoch mit überschaubarem Aufwand anpassen.

Die Gambas-IDE enthält einen Debugger zur Fehlersuche, einen grafischen Formulareditor und einen Menüeditor. Durch sein modulares Konzept bindet es Entwickler nicht an ein bestimmtes Toolkit, Gambas-Programme lassen sich auf Knopfdruck mit Qt- oder Gtk-Oberflächen versehen. Das Gtk-Modul enthält jedoch ausschließlich die noch in der Entwicklung befindliche Testversion.

Auf die Platte

Auf der Heft-CD finden Sie den Gambas-Quelltext sowie RPM-Pakete der Entwicklungsumgebung für Suse und Mandrake in Version 1.0.3. Gambas ist Teil von Debian testing, Pakete der Entwicklerversion 1.9.3 finden Sie ebenfalls auf der Heft-CD. Sie enthält die erwähnte GTK-Unterstützung, eignet sich jedoch noch nicht für den produktiven Einsatz.

Die Installation der RPMs unter Mandrake Linux 10.1 und Suse 9.1 erfolgt im Unterverzeichnis suse bzw. mandrake mit rpm -Uvh *. Zum Kompilieren benötigen Sie die Qt-Entwicklungspakete ab Version 3.2, sie heißen qt3-devel oder libqt3-dev. Wollen Sie mit Gambas KDE-spezifische Anwendungen programmieren, brauchen Sie zudem die Entwicklungspakete der KDE-Bibliotheken, kdelibs3-devel oder kde-devel.

Nach deren Installation entpacken Sie den Gambas-Quelltext mit tar -xjf gambas-1.0.3.tar.bz2, wechseln ins neu entstandene Verzeichnis und erzeugen mit ./configure die Makefiles. Der Befehl make stößt den Übersetzungsvorgang an; make install installiert, mit Root-Rechten ausgestattet, das Programm. Danach starten Sie die Entwicklungsumgebung mit dem Kommando gambas.

Wählen Sie im Startbildschirm Neues Projekt, so führt ein Assistent Sie durch die einleitenden Schritte. Zunächst entscheiden Sie, ob Sie ein grafisches oder ein textbasiertes Projekt anlegen oder Code aus einem bestehenden Projekt kopieren möchten. Danach geben Sie den Namen des Projektverzeichnisses, in dem alle Quelltextdateien landen, ein. Beim Einstieg in die Gambas-Programmierung helfen mitgelieferte Beispiele, die Sie im Startdialog erreichen.

Neben dem in Arbeit befindlichen Formular zeigt Gambas ein Projektfenster, die Werkzeugleiste, das Eigenschaftsfenster und den Quelltexteditor. Im Projektfenster (Abbildung 2) bietet eine Baumansicht einen Überblick über die zum Projekt gehörenden Dateien. Die Werkzeugleiste zeigt die zur Verfügung stehenden Oberflächenelemente, im Eigenschaftsfenster legen Sie Aussehen und Verhalten der Programmoberfläche fest. Im Quelltexteditor schließlich bearbeiten Sie direkt den Basic-Code.

Abbildung 2: Das Projektfenster zeigt alle Projektdateien.

Abbildung 2: Das Projektfenster zeigt alle Projektdateien.

Da sich beim Öffnen eines Formulars stets zwei neue Fenster öffnen, wird es auf dem Bildschirm schnell unübersichtlich. Die KDE-Entwicklungsumgebung KDevelop [8] löst dieses Problem dadurch, dass sie alle Elemente innerhalb eines umgebenden Fensters öffnet. Ein solches Konzept käme auch der Übersichtlichkeit von Gambas zugute.

Formulare

Jedes grafische Programm braucht mindestens ein Fenster oder Formular, das Eingaben des Benutzers in Empfang nimmt und Ausgaben anzeigt. Ein neues Formular erzeugen Sie, indem Sie im Projekt-Fenster mit der rechten Maustaste in die Baumansicht klicken und aus dem Kontextmenü NeuFormular wählen. Im Dialogfenster geben Sie den Formularnamen ein und bestimmen, ob das Fenster als Startform beim Programmstart automatisch geöffnet wird. Um das leere Formular mit Leben zu füllen, finden Sie Steuerelemente im Fenster Werkzeugsammlung (Abbildung 3).

Abbildung 3: Gambas verfügt über einen großen Vorrat an Gestaltungselementen.

Abbildung 3: Gambas verfügt über einen großen Vorrat an Gestaltungselementen.

Um ein Element auf der Oberfläche eines Formulars zu platzieren, wählen Sie es in der Werkzeugsammlung aus und ziehen auf der Oberfläche des Formulars ein Viereck der gewünschten Größe auf. Im Fenster Eigenschaften (Abbildung 4) konfigurieren Sie das gewählte Steuerelement. Hier legen Sie unter anderem den Namen fest, unter dem Sie das Element im Programm ansprechen. Die Position stellen Sie mit den Parametern X, Y, Width und Height ein. Ebenso lassen sich Beschriftung, Schriftart und -größe sowie Vorder- und Hintergrundfarben festlegen.

Abbildung 4: Jedes Steuerelement lässt sich in Aussehen und Verhalten anpassen.

Abbildung 4: Jedes Steuerelement lässt sich in Aussehen und Verhalten anpassen.

Ein Gambas-Programm lässt sich über Komponenten einfach um vorgegebene Funktionen erweitern. Zur Basisausstattung gehören Module für Datenbankzugriff und KDE-Widgets. Um sie zu nutzen, wählen Sie im Menü des Projektfensters ProjektEigenschaften und im markieren im Dialog den Karteireiter Komponenten (Abbildung 5). In der Werkzeugsammlung finden Sie jetzt einen Abschnitt KDE, der die hinzugekommenen Elemente enthält.

Abbildung 5: Gambas erzeugt über Komponenten KDE-Applikationen.

Abbildung 5: Gambas erzeugt über Komponenten KDE-Applikationen.

Mit diesen Hilfsmitteln lässt sich beispielsweise ein kleiner HTML-Betrachter per Mausklick entwickeln. In der Werkzeugpalette wählen Sie den Abschnitt KDE und dort das Konqueror-Symbol. Auf dem Formular ziehen Sie die Konqueror-Komponente auf die gewünschte Größe und geben in den Eigenschaften unter Path eine HTML-Datei ein, die der Browser nach dem Start laden soll.

Auch der Gambas-eigene Quelltext-Editor lässt sich über die Komponente qb.qt.editor in eigene Programme einbinden. Daneben stehen einige Module zur Verfügung, die sich noch im experimentellen Status befinden. Darunter fallen das XML-Modul sowie das Qt-Erweiterungsset. Weitere Komponenten sind in Arbeit, wie die bereits erwähnte Gtk-Erweiterung.

Action, please!

Um die eingebundenen Steuerelemente mit Aufgaben zu versehen, doppelklicken Sie auf ein Element und der Quelltexteditor (Abbildung 6) öffnet sich mit dem Cursor an passender Stelle. Hier tragen Sie die auszuführenden Befehle ein: Bei einem Button beispielsweise, was bei einem Klick darauf passieren soll.

Abbildung 6: Über den Quelltexteditor bearbeiten Sie direkt den Code.

Abbildung 6: Über den Quelltexteditor bearbeiten Sie direkt den Code.

Menüs bauen Sie mit dem Menü-Editor (Abbildung 7), den Sie über den Eintrag Menüeditor im Kontextmenü eines Formulars finden. Damit stellen Sie bis zu vier Ebenen tiefe Menüs zusammen und weisen den einzelnen Punkten Tastenkürzel und Symbole zu.

Abbildung 7: Der Menüeditor stellt Menüs per Mausklick zusammen.

Abbildung 7: Der Menüeditor stellt Menüs per Mausklick zusammen.

Datenbankzugriff

Eine große Stärke von Visual Basic stellt der einfache Zugriff auf Datenbanken dar. Gambas eifert dem erfolgreich nach: Zur Zeit unterstützt es MySQL-, PostgreSQL- und Sqlite-Datenbanken. Sie finden den Datenbank-Manager im Menü des Projekt-Fensters unter WerkzeugeDatenbank-Manager… (Abbildung 8). Damit ein Programm auf Datenbanken zugreifen kann, benötigt es die Komponente qb.db.

Abbildung 8: Gambas greift auf die meisten gängigen Datenbanken zu.

Abbildung 8: Gambas greift auf die meisten gängigen Datenbanken zu.

Im Datenbankmanager finden Sie auf der linken Seite eine Liste aller eingerichteten Datenbank-Server-Dienste. Der Menüpunkt ServerDatenbank Server scannen durchsucht das System und fügt gefundene Server der Liste hinzu. Ein Rechtsklick auf einen Eintrag öffnet ein Kontextmenü, in dem Sie Datenbank erstellen auswählen, um manuell eine Datenbank hinzuzufügen.

Einer bestehenden Datenbank fügen Sie neue Tabellen über den Kontextmenüeintrag Tabelle erstellen… hinzu. Im rechten Teil des Dialogs legen Sie die einzelnen Felder der Tabelle an. Hinter dem Reiter Daten verbirgt sich eine Tabellenansicht, in der Sie Daten direkt eingeben. Der Menüpunkt Gambas-Code erstellen im Kontextmenü schließlich erzeugt für Ihr Programm Quelltext, der die Datenbank initialisiert.

Programme weiterreichen

Ist Ihr Programm fertig für die Öffentlichkeit, kompilieren Sie es oder packen es zu einem Quelltextarchiv zusammen. Der Menüpunkt ProjektAusführbare Datei übersetzt den Quelltext und legt eine ausführbare Datei im Projektverzeichnis ab.

Ein Quelltextarchiv erhalten Sie über den Menüpunkt ProjektQuellen-Archiv erstellen… Geben Sie das Zielverzeichnis an und Gambas erstellt eine komprimierte Datei mit dem Inhalt des Projektverzeichnisses. Auch beim Erstellen von Binärpaketen hilft die IDE: Über ProjektInstallations-Paket erstellen… erreichen Sie einen Assistenten, der automatisch wahlweise RPM- oder Debian-Pakete baut.

Hilfe in allen Lebenslagen

Gambas verfügt über eine umfangreiche Hilfe in englischer Sprache. Neben einer Beschreibung der Schlüsselworte findet sich eine kurze Einführung zum Programmieren sowie eine Erklärung der Unterschiede zwischen Gambas und Visual Basic. Auch bei den einzelnen Befehlen weist die Hilfe immer wieder auf Unterschiede zu VB hin. Auf der Gambas-Homepage bietet ein Wiki [9] weitere Tipps zum Programmieren und besonders zum Konvertieren vorhandener VB-Projekte.

Das noch experimentelle Perl-Skript [10] Frm2Form konvertiert VisualBasic-Formulare ins Gambas-Format. Formular-Eigenschaften, die es nicht kennt, lässt es dabei unbeachtet, so dass Sie auch damit derzeit noch nicht um das manuelle Anpassen von VB-Quelltexten herumkommen.

Fazit

Obwohl der Gambas-Basic-Dialekt sich von Visual Basic unterscheidet, werden sich Umsteiger schnell einarbeiten. Zwar lassen sich VB-Projekte nicht auf Knopfdruck konvertieren, aber mit etwas Handarbeit sind die Hürden durchaus zu nehmen. (csc)<\t>n

Glossar

ActiveX

Dieses Software-Komponenten-Modell von Microsoft macht Windows-Betriebssystemfunktionen für Web-Seiten und andere Applikationen verfügbar.

Toolkit

Eine Sammlung von Programmbibliotheken, die das Programmieren spezieller Anwendungen erleichtern. So erleichtern die Toolkits GTK und Qt die Programmierung grafischer Anwendungen.

Makefiles

Ein Makefile enthält detaillierte Übersetzungsanweisungen für Quelltext wie Compiler-Optionen und -Parameter.

Widgets

Ein einzelnes Element einer grafischen Oberfläche, beispielsweise ein Button, eine Scroll-Leiste oder ein Textfeld wird als Widget bezeichnet.

LinuxUser 04/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben