Umgang mit dem Gambas-IDE
Eines vorweg ...
Willkommen zu GAMBAS!
Das folgende Gambas-Tutorial "lebt" in folgender Umwelt:
- SuSE-Linux 11.1
- KDE Version 3.5.10
- mySQL Version 5.1.35
- PHP Version 5.2.14
Darüber hinaus arbeite ich mit folgenden Tools:
- Browser: Firefox 3.6.13 und ggf. Konqueror
- Editor: Kate Version 2.5.10
Ich setzen voraus, daß alle Zutaten (GAMBAS selbst und alle ggf. benötigten weiteren Produkte) installiert sind.
In der Regel wird nach einer Linux-Neuinstallation alles Nötige bereits vorhanden sein. Falls nicht, muß hier erst
noch Hand angelegt werden. Wie man das macht, wird im Anhang beschrieben.
Der erste Start
Du startest nun also GAMBAS und siehst das links abgebildete Fenster:
Rechts werden die zuletzt bearbeiteten Projekte angezeigt, das zuallerletzt bearbeitete zuerst. Willst du an einem davon
weiterarbeiten, kannst du es hier gezielt öffnen und sofort loslegen. Links stehen die steuernden „Menü-Punkte“ (nur eben
nicht als Menü, sondern als Buttons).
- Neues Projekt
- Ein neues Projekt anlegen
- Projekt öffnen
- Öffne ein vorhandenes Projekt, das nicht in der rechts angezeigten Liste rechts enthalten ist
- Zuletzt geöffnet
- entspricht der Liste rechts … eigentlich ist dieser Button nutzlos
- Beispiele
- Bietet die Projekte aus der mitgelieferten Beispiel-Projekt-Sammlung zur Auswahl an. Diese steht irgendwo unter
/usr/share/...
Aber Achtung:
Diese Projekt-Dateien sind schreibgeschützt. Willst du mit diesen Projekten experimentieren, mußt du sie entweder
zum Schreiben öffnen (was in /usr/share/... nicht zu empfehlen ist), oder aber eine beschreibbare Kopie in einem eigenen
Verzeichnis anlegen (das ist besser, u.a., weil die Originale so unverändert bleiben)
- Beenden
- Na, was wohl … :-)
Bis auf Neues Projekt und Beenden wählen alle Menü-Punkte ein bestehendes Projekt aus. Erklärungsbedürftig ist
daher eigentlich nur der Punkt Neues Projekt.
Projekt-Typ festlegen
Wählst du also Neues Projekt, so öffnet sich das folgende Fenster:
Hier mußt du einen Projekt-Typ auswählen. Was aber bedeuten die einzelnen Projekt-Typen? Wann wählt du was, und was
bewirkt die Auswahl?
Dazu mußt du wissen, daß Gambas aus sog. Komponenten besteht. Da ist einmal die Grundkomponente gb. Die ist
absolut erforderlich. Sie allein reicht für Commandline-Applikationen. Darüber hinaus gibt es aber noch eine Vielzahl
von Zusatz-Komponenten, um grafische Oberflächen zu realisieren, Datenbankzugriffe zu erlauben, Web-Applikationen zu schreiben
etc.
Die im obigen Fenster (links) angebotenen Auswahlmöglichkeiten bezeichnen Standard-Pakete, bestehend aus der Basis-Komponente
gb und bestimmten weiteren, häufig gebrauchten Komponenten, quasi vordefinierte Komponenten-Zusammenstellungen.
Im einzelnen handelt es sich um folgende Zusammenstellungen:
Applikationstyp |
Komponenten |
Commandline Application |
gb |
. |
. |
. |
Graphical Application |
gb |
gb.form |
gb.gui |
. |
QT Graphical Application |
gb |
gb.form |
gb.qt |
gb.qt.ext |
GTK+ Graphical Application |
gb |
gb.form |
gb.gtk |
gb.gtk.ext |
SDL-Application |
gb |
gb.sdl |
gb.sdl.sound |
. |
CGI-Web-Application |
gb |
gb.web |
. |
. |
Wählt man nach dem Start der Gambas-IDE Neues Projekt, so werden - wie eben beschrieben - die verschiedene Projekt-Typen
angeboten. Je nach Auswahl werden im Dateibaum des Projekts automatisch verschiedene Dateitypen angeboten:
Applikationstyp |
Dateitypen |
Module |
Klassen |
Forms |
Daten |
Generierte Dateien / Start-Klasse / -Modul |
Commandline Application |
x |
x |
- |
x |
MMain.module (Startmodul) |
Graphical Application |
x |
x |
x |
x |
FMain.class (Startklasse), FMain.form |
QT Graphical Application |
x |
x |
x |
x |
FMain.class (Startklasse), FMain.form |
GTK+ Graphical Application |
x |
x |
x |
x |
FMain.class (Startklasse), FMain.form |
SDL-Application |
x |
x |
- |
x |
MMain.module (Startmodul) |
CGI-Web-App |
x |
x |
- |
x |
MMain.module (Startmodul) |
Die Projekt-Typen im Detail
Klassen
Klassen sind im Prinzip Templates, aus denen zur Laufzeit Objekte erzeugt werden können. Sie enthalten den Code, um
Eigenschaften (Properties), Methoden und Event-Handler für jedes kreierte Objekt zu definieren.
Forms
Forms beschreiben die Fenster, mit denen der Anwender interagiert (technisch gesehen sind das reine ASCII-Files mit einer
SGML-artigen Struktur).
Module
Module sind einfach Sets von Subroutinen und Functions, die von überall im Programm aus verwendet werden können. Im
Gegensatz zu Klassen können aus Modulen keine Objekte generiert werden, und sie besitzen keine Event-Handler.
Daten
Unter Daten verstehen wir alle sonstigen Dateien, die für das Projekt benötigt werden. Das können Grafik-Files, Icons,
Bitmaps, Text- oder HTML-Files, ja sogar Medien-Files sein.
Die Auswahlmöglichkeiten in der rechten Spalte
Die Auswahl-Möglichkeiten rechts im Fenster dienen dem Fein-Tuning der Auswahl, die du auf der linken Seite getroffen hat.
Wählst du z.B. eine Grafische Applikation, die aber zusätzlich Datenbank-Zugriffe ermöglichen soll, so kannst du dies auf
der rechten Seite angeben. Das führt dazu, daß die Komponenten-Auswahl entsprechend erweitert wird. Bei all dem ist es aber
gut zu wissen, daß du zu einem späteren Zeitpunkt die Komponentenauswahl jederzeit nochmal völlig individuell anpassen
kannst!
Projekt-Directory
Klickst du jetzt auf den NEXT-Button, so erscheint nebenstehendes Fenster.
Wichtig zu wissen: Anders als die Überschrift suggeriert, wird hier nicht das Projekt-Verzeichnis definiert,
sondern lediglich festgelegt, wo das noch zu definierende Projektverzeichnis liegen soll! Sobald einem das klar ist, ist das
Fenster wohl selbsterklärend.
Wähle das Verzeichnis, unter dem dein Projektverzeichnis stehen soll, und klicke auf NEXT.
Das neue Projekt ist gestartet
In dem nun folgenden Fenster gib
unter „Name“ den Verzeichnisnamen an, den das Projekt erhalten soll, und unter „Titel“ dessen Titel. Dieser erscheint dann
irgendwo (wo ???)
Nach einem beherzten „OK“ erscheint schließlich das Fenster
welches du mit „OK“ schließt. Daraufhin öffnet sich die Gambas-IDE-Oberfläche; dein erstes Projekt ist erzeugt, und du kannst loslegen.