In diesem Kapitel soll der Frage nachgegangen werden: Welche Dateien benötigt man notwendigerweise für ein Gambas-Projekt? Zugegeben, die Antwort ist vor allem für Puristen interessant, die ihre Gambas-Projekte ohne die grafische Benutzer-Oberfläche von Gambas (IDE) entwickeln und testen wollen. Andererseits vermittelt die Beschäftigung mit dem Thema „Ein Gambas-Projekt intern“ Einblicke in die komplexe Arbeitsweise von Gambas.
Für ein Gambas-Projekt benötigen Sie vor dem ersten Kompilieren mindestens drei Dateien im Projektordner, wobei die Klassen- und Form-Dateien in einem versteckten Ordner .src liegen. Die Projekt-Datei .project liegt im Projekt-Ordner und ist ebenfalls versteckt. Diese drei Dateien können durch weitere Ordner und Dateien ergänzt werden. So liegen Modul-Dateien ebenfalls im Ordner .src, während Dateien mit Hilfetexten oder Bildern im Projektordner liegen. Da der Inhalt und die Diktion einer Form-Datei nicht zu den alltäglichen Aufgaben beim Programmieren mit Gambas gehört, wurde das vorgestellte Projekt zuerst in der IDE von Gambas entwickelt und getestet. Außerdem sollte das zu untersuchende Projekt ein Modul enthalten sowie einen Ordner mit unterschiedlichen Bildern als Icon für das Projekt. Anschließend wurden alle in der IDE generierten und nicht benötigten Dateien im Projekt-Ordner gelöscht. Das Projekt wurde ohne IDE weiterentwickelt und mit den Programmen Compiler, Archiver und Interpreter in einer Konsole getestet.
Nur die folgenden Ordner und Dateien verblieben im Projekt-Ordner 'dwconvert':
hans@linux:~$ tree -a $HOME/dwconvert /home/hans/dwconvert ├── .project ├── .src │ ├── FMain.class │ ├── FMain.form │ └── MS.module └── symbols ├── form_icon.png └── project_icon.png 2 directories, 6 files hans@linux:~$
Das ist der Inhalt der Minimal-Version der Projekt-Datei .project, mit der das Kompilieren erfolgreich war:
Startup=FMain Component=gb.qt4 Component=gb.settings
Fehlt zum Beispiel die Komponente gb.settings, dann gibt es beim Kompilieren diese Fehlermeldung:
hans@linux:~$ gbc3 --all $HOME/dwconvert MS.module:4: error: Unknown identifier: Settings hans@linux:~$
Diese Version der Projekt-Datei .project enthält ergänzende Einträge, wobei die ersten beiden Zeilen nur Kommentare sind und deshalb auch weggelassen werden können:
# Gambas Project File 3.0 # Compiled with Gambas 3.3.4 Title=Tabellen-Konvertierung OL2DW Startup=FMain Icon=symbols/project_icon.png Version=0.0.13 Component=gb.qt4 Component=gb.form Component=gb.form.dialog Component=gb.settings Description="Konvertierung einer Tabelle aus OpenLibre in das DokuWiki-Format" Authors="Hans Lehmann * Osterburg * 2013"
Nach geringen Änderungen am Quelltext wurde das Projekt kompiliert sowie eine ausführbare Datei erzeugt und das Programm in einer Konsole gestartet.
Beim Einsatz des Programms gba3 (Archiver) mit der Option -v lässt sich gut erkennen, welche Ordner und Dateien zur Laufzeit von gba3 angelegt worden sind:
hans@linux:~$ gbc3 --all $HOME/dwconvert OK hans@linux:~$ gba3 -v $HOME/dwconvert Format version: 2 .startup -> .startup Adding file .startup (109 bytes) -> 0 .project -> .project Adding file .project (347 bytes) -> 1 symbols -> symbols Adding directory symbols -> 2 .action -> .action Adding directory .action -> 3 .gambas -> .gambas Adding directory .gambas -> 4 symbols/form_icon.png -> /2:form_icon.png Adding file /2:form_icon.png (2232 bytes) -> 5 symbols/project_icon.png -> /2:project_icon.png Adding file /2:project_icon.png (337 bytes) -> 6 .gambas/MS -> /4:MS Adding file /4:MS (1436 bytes) -> 7 .gambas/FMAIN -> /4:FMAIN Adding file /4:FMAIN (5488 bytes) -> 8 hans@linux:~$ gbx3 $HOME/dwconvert hans@linux:~$
Das Programm wird mit der letzten o.a. Anweisung in einer Konsole gestartet:
Abbildung 5.1.2.1: Konvertierungsprogramm → OpenLibre2DokuWiki
Abbildung 5.1.2.2: Inhalt des Projekt-Ordners nach dem ersten Programmstart
Beim ersten Programmstart wird der Ordner lastfile angelegt und enthält eine Liste der zuletzt bearbeiteten Dateien. Die Anzahl der Einträge ist maximal 5. Der älteste Eintrag wird gelöscht, wenn die maximale Anzahl erreicht worden ist. In Abhängigkeit von der Struktur des Gambas-Projekts können automatisch weitere Ordner wie zum Beispiel .hidden oder weitere Dateien wie .settings angelegt werden.
Artikel