PureBasic - das rasend schnelle BASIC für Windows und Linux

© Jan Beuck (Autor) und Thomas Antoni (Redaktionelle Bearbeitung), 12.2001 - 10.2004

 


Inhalt



Vorwort von Thomas Antoni

Mit PureBasic gibt es jetzt eine ideale BASIC-Sprache für Windows und Linux, die schnell zu erlernen, einfach anzuwenden und trotzdem extrem leistungsfähig und schnell ist. PureBasic ist auch bestens geeignet für Q(uick)Basic-Programmierer, die zu einer Windows-Programmiersprache aufsteigen wollen. Im Gegensatz zu Blitz Basic / Blitz3D, das für die Programmierung von 3D-Spielen ideal ist, kann man mit PureBasic neben Spielen auch ganz "normale" Anwendungen und Tools mit Windows-Oberfläche programmieren. Für des Erstellen von 2D-Spielen ist PureBasic aufgrund seiner DirectX-Schnittstelle gut geeignet.

Für mich ist PureBasic wegen der folgenden Eigenschaften eine Super-Sprache:
  • PureBasic setzt aberwitzig schnell ablaufenden Code ab. Kein Wunder, da der Compiler zu 100% in Assemblersprache geschrieben ist.
  • Die erzeugten Programme sind extrem kompakt. Es werden keinerlei Runtime-Module benötigt! Eigenständige EXE-Programme ab 6,5 kB Größe sind möglich.
  • PureBasic enthält viele zusätzliche Elemente moderner Programmiersprachen, etwa die indirekte Adressierung von Variablen und Feldern über Pointer, den integrierten Inline-Assembler und den vollen Zugriff auf die Windows-API.
  • Ein Wahnsinnsknüller von PureBasic ist die Multi-Plattform-Fähigkeit: Sie können damit nicht nur Applikationen für Windows 9x/NT/ XP, sondern aus ein und derselben Quelle auch für Linux und sogar AmigaOS erzeugen. Letztgenannte Programme können auf Computern mit 68000 und PowerPC-Prozessoren ablaufen.
  • PureBasic verfolgt nicht den objektorientierten, sondern den herkömmlichen "prozeduralen" Sprachansatz, mit dem viele Einsteiger, aber auch erfahrene Programmierer besser zurechtkommen. Trotzdem stammen viele Sprachelemente wie Dynamically Linked Lists aus der objektorientierten Programmierung (OOP).
  • Die PureBasic Entwicklungsumgebung (API) ist extrem genügsam, was die Computerausstattung betrifft. Sie läuft sogar auf alten Computern ab 486ern problemlos ab.
Ich freue mich, Ihnen diesen Artikel des wohl besten deutschen PureBasic Kenners Jan Beuck ("Merlin") von der erfolgreichen Spieleschmiede master creating (R) präsentieren zu können. Master creating ist autorisierter deutscher Vertriebspartner von PureBasic und organisiert seit kurzem den weltweiten Ladenvertrieb von PureBasic.

Wer mehr über Jan selbst wissen möchte, der lese mein Interview mit Jan auf www.antonis.de

Sehr interessant zu lesen ist auch folgender Testbericht eines PureBasic-Users.

Ganz unten finden Sie noch eine Aktualisierung von Franz Mertens, die die Fortschritte von PureBasic in den Jahren von der Ersterscheinung dieses Artikels bis 2004 darlegt.

zurück zum Inhalt  


PureBasic - Was ist das überhaupt genau?

PureBasic - der Rivale!
Genau wie das Auto, das mit diesem Slogan wirbt, kommt auch PureBasic aus Frankreich. Entwickelt wird es seit ungefähr zwei Jahren von dem französischen Entwicklerteam Fantaisie Software - mit dem Ziel, den besten Compiler überhaupt zu schreiben! Das Ihnen das durchaus gelungen sein könnte, werde Sie im folgenden erfahren...

Generell sei gesagt, dass es sich bei PureBasic um einen echten 32 Bit Maschinencodecompiler handelt, der eine mit QuickBasic und Blitz Basic verwandte Syntax hat und daher für Umsteiger sehr gut geeignet ist.

PureBasic hat einen äußerst geringen Resourcenverbrauch und läuft auch problemlos auf älteren Rechnern ab 486ern.

Die Programme können nicht nur für Windows (alle Versionen von 95 über NT bis XP) und Linux, sondern sogar für das Amiga OS kompiliert werden. Dabei wird für jedes System der Code in handoptimierte Assemblerroutinen übersetzt und direkt durch einen Assembler geschickt - unter Windows zum Beispiel durch den mitgelieferten NASM. Das macht PureBasic zur effizientesten Sprache die uns bekannt ist - in vielen Fällen sogar noch etwas schneller als Blitz Basic (3443 Frames bei meinem von www.blitzbasic.de bekannten Grafikbenchmark SPEED). Und nach Angabe der Programmierer in den meisten Fällen auch schneller als C++!

Erstaunlich fällt dabei die Programmgröße aus: Ein Movieplayer, der alle Filmformate wie MPEG und AVI über DirectX DirectShow abspielen kann (wie der MS Mediaplayer) und regelbare Größe und Lautstärke hat, ist inklusive eingelinktem Icon 39,5 KB groß. Der Umfang des Quellcodes beträgt 6,1 KB. Und das ist keineswegs optimiert, er wurde in weniger als einer Stunde programmiert! Ein "Hallo Welt" Programm ist als EXE-Datei etwa 6,5 KB KB groß. Megabyte-große Runtime Dateien, wie z.B. bei Visual Basic, werden nicht benötigt.

in PureBasic geschriebenen Musik-Player

Screenshot eines in PureBasic geschriebenen einfachen Musik-Players


Vielleicht haben Sie´s schon bemerkt: Im Gegensatz zu QuickBasic, Darkbasic und Blitzbasic kann PureBasic Windows Applikationen aller Art erstellen! Und zwar vom TCP/IP FTP Programm über Tabellenkalkulationen und ODBC- Datenbankanwendungen bis zum DirectX Vollbildspiel! Apropos DirectX: Viele Funktionen benötigen unter Windows natürlich DirectX, zum Beispiel Sound, Videos sowie Grafik, etwa in den Formaten BMP und JPG. Aber PureBasic selbst braucht DirectX nicht zwingend: Applikationen wie ein Editor, eine Office-Anwendung oder ein FTP Programm lassen sich auch ohne DirectX schreiben. Der PureBasic-Editor wurde übrigens selbst in PureBasic geschrieben!

PureBasic bietet Zugriff auf das gesamte API des jeweiligen Betriebssystems (also unter Windows alle Arten von Schaltern, Fenstern, Pull-Down Menüs, Statusbalken etc.), einen intergrierten Editor mit Syntax Coloring, einen intergrierten Debugger (mit dem man als einzigem nicht - LISP Debugger den Code zur Laufzeit ändern kann!) und einen einen Inline - Assembler (den auch weder Blitz Basic noch DarkBasic noch QuickBasic haben).

Es gibt alle üblichen Datentypen, Arrays, Strings und benutzerdefinierte Strukturen. Desweiteren werden die in BASIC von vielen Profis zumeist vermissten Features geboten: Dynamically Linked Lists und Pointer!

Eine ausführliche Online - Hilfe in mehreren Sprachen, z.B. Englisch und Deutsch ist verfügbar. Updates aller Art sind in der Regel umsonst. Alle mit der Vollversion erstellten Programme dürfen ohne Lizenzgebüren uneingeschränkt verkauft werden.

Da der Text sonst zu lang wird, werde ich jetzt noch ein paar Stichworte in den Raum werfen: Memory Banks um den Arbeitsspeicher selbst zu verwalten, Keyboard + Maus + Joystick, Fonts (z.B. Truetype), Dateizugriff, wählbare Farbtiefe von 8 bis 32 bit, Sortierfunktionen, Funktionen zum Verwenden der Taskleiste, PAK- Files um Daten komprimiert und geschützt zu speichern, Netzwerkroutinenen (z.B. für Server/Client Spiele) und Support für Third-Party-Libraries (Bibliotheken von Drittherstellern) in Assembler und C!

Für wen ist PureBasic zu empfehlen?
PureBasic bietet sich vor allem für professionelle und semiprofessionelle Entwickler an, deren Projekten zeitliche Grenzen gesetzt sind, und die große und kleine Projekte schnell verwirklichen wollen, aber keinen vorgefertigten 'Game Creator' oder ein 'Authoring Tool' verwenden wollen, welche immer die Funktionalität und die Vielfalt einschränken. PureBasic ist extrem preiswert, also auch für Schüler und Studenten mit schmalem Geldbeutel geeignet.

Wer sich bereits mit Basic auskennt wird schon beim Lesen der Anleitung (liegt der Demoversion bei) bemerken, dass PureBasic keine relevanten Grenzen hat. Diese Flexibilität hat aber auch eine etwas längere Einarbeitungszeit zur Folge als zum Beispiel Blitz Basic, daher raten wir Programmieranfängern, die schnelle Erfolge erzielen wollen, zu Blitz Basic und jenen, die sich speziell für 3D Programmierung interessieren, zu dem darauf spezialisierten Blitz Basic / Blitz3D. Blitz Basic wird in Deutschland ebenfalls von uns vertrieben. Informationen zu Blitz Basic und Blitz 3D gibt es unter www.blitzbasic.de. Für alle Anwendungsentwickler und erfahrene 2D Spiele/Multimediaprogrammierer ist PureBasic die beste Wahl, da es plattformunabhängig ist und überall die maximale Leistung bietet.

Fazit
PureBasic ist ein Hammer! Die Assembler-Experten von Fantaisie Software haben ganze Arbeit geleistet und sich auch für die Zukunft noch einiges vorgenommen. Lob verdienen der Compiler und das Sprachdesign, beides gehört zum Besten was ich je gesehen habe. Die Einfachheit von Basic - nicht nur für Spiele, sondern auch für Anwendung mit windowsgemäßer Bedienoberfläche. Linked Lists, ODBC, Pointer... und ein LISP-ähnlichen Debugger - perfekt. Lediglich an der Benutzerseite kann noch gearbeitet werden - auf falsche Befehle reagiert PureBasic gelegentlich sensibel und frustriert damit vor allem Einsteiger. Der Editor bekommt mit der nächsten Version einen Function Bar (ähnlich dem von Blitz Basic), der für große Projekte auch dringend nötig ist. Alles in allem empfehle ich PureBasic Fortgeschrittenen und Profis, Anfänger sollten lieber Blitz Basic benutzen.

PureBasic in Internet
Weitere Informationen gibt es auf unserer Webseite unter www.purebasic.de und - auch in deutsch - auf der Homepage des Herstellers, www.purebasic.com

Ich hoffe, dass mein Artikel dabei hilft, den Wert von PureBasic einzuschätzen. Viel Spass beim programmieren (mit was auch immer ;-)) wünscht Ihnen Jan Beuck

zurück zum Inhalt  


Die PureBasic Freeware-Version

Sie können die PureBasic Freeware-Version mitsamt der deutschen Hilfe von unserer Seite www.purebasic.de herunterladen. Die englische Version gibt es bei www.purebasic.com dort ist auch die deutsche Hilfe als eigene Datei verfügbar.

Die Freeware-Version ist ist nach dem Entpacken des nur ca. 2 MB großen Download-Archivs in einen beliebigen Ordner sofort lauffähig. Die Registry wird nicht verunreinigt und eine rückstandsfreie Deinstallation ist jederzeit durch einfaches Löschen des Programmverzeichnisses möglich.

Die Einschränkungen der Freeware-Version gegenüber der Vollversion sind:
  • Eingeschränkter Win32 API Support
  • Maximal ca. 200 Zeilen Programmcode
  • Der Debugger ist immer aktiv und lässt sich nicht abschalten. Durch den in die EXE-Programme eingebauten zusätzlichen Debug-Code werden die Programme etwas langsamer und größer.
Ansonsten kann die Demo aber alles, was die Vollversion auch kann - sogar .EXE Dateien erstellen.

zurück zum Inhalt  


Wie schnell und schlank ist PureBasic?

Die von PureBasic erzeugten EXE-Programme sind generell schneller als die aller Windows-"Einsteigersprachen" wie Profan², Delphi, VisualBasic und Envelop. Ein EXE-Programm, das "Hello World" auf dem Bildschirm anzeigt, ist nur 6,53 KB groß und benötigt keinerlei Runtime-Bibliotheken!!! Die Vergleichsgrößen sind 1,5 MB bei VisualBasic 6 (inklusive Runtime-Files) und ca. 400 KB bei Delphi.

PureBasic ist obendrein universeller einsetzbar als die genannten Sprachen, da sowohl DirectX Spiele als auch alle Arten von Anwendungen programmiert werden können. Die .EXE Dateien sind kleiner, und es werden keinerlei Runtime Dateien benötigt.

Die erstellten EXE-Programme sind ohne besondere Installation und Registry- Einträge sofort auf jedem Computer lauffähig und lassen sich bei Bedarf durch einfaches Löschen der Programmdateien rückstandsfrei wieder deinstallieren.

Der Compiler selbst arbeitet ebenfalls rasend schnell und kann bereits auf einem Petium / 200 MHz 300 000 Quellsprachezeilen pro Minute kompilieren !! Sogar auf einem uralten 486er-Computer kann man mit PureBasic noch zügig arbeiten.

zurück zum Inhalt  


Programme für Windows und Linux - aus einer Quelle

Solange man keine speziellen Windows API- und DirectX-Aufrufe verwendet, ist es möglich, ein Programm so zu schreiben, dass es ohne Änderungen für Windows, für Linux und für AmigaOS kompiliert werden kann. In der Vollversion von PureBasic sind alle 3 Compiler für Windows, Linux und AmigaOS komplett im Preis inbegriffen.

Es gibt nur wenige Sprachen, die eine derartige Plattformunabhängigkeit bieten. Die einzigen mir bekannten Alternativen sind C++, Delphi/Kylix und Java.

Bei PureBasic erkauft man die Plattformunabhängigkeit keinesfalls durch irgendwelche Nachteile aufgrund von langsamen Codegeneratoren oder Virtual Machines. PureBasic erzeugt für jedes Betriebssystem rasend schnellen nativen Ablaufcode.

zurück zum Inhalt  


Befehlsumfang

PureBasic hat einen mächtigen Befehlsumfang und bietet unter anderem
  • Alle wichtigen mathematischen Funktionen wie Sin(), Cos() usw.
  • Viele Funktionen zur Bearbeitung von Datenfeldern (Arrays). Es gibt z.B. SortArray; damit kann man Arrays nach bestimmten Kriterien sortieren. Die Felder können jeden Variablentyp haben. Auch anwenderdefinierte Felder bzw. Strukturen gemischten Datentyps sind möglich. Und es gibt die flexiblen Dynamically Linked Lists als Alternative zu Arrays.
  • Arrays lassen sich jederzeit dynamisch umdimensionieren. Ein mit Dim MyArray(10000) dimensioniertes Feld kann beispielsweise mit Dim MyArray(0) aus dem Speicher entfernt werden. Stringvariable lassen sich durch ein einfaches a$ = "" komplett aus dem Speicher löschen.
  • Variable und Felder können lokal oder global deklariert werden.
  • Alle wichtigen Funktionen zur Dateibearbeitung sind vorhanden. Natürlich gibt es auch Befehle wie EOF.
  • Als Befehl zum Erzeugen kleiner Wartezeiten ab 1 ms, die von der CPU- Geschwindigkeit unabhängig sind, steht die Funktion GetTickCount zur Verfügung.
  • Vielfältige Kontrollstrukturen, etwa FOR...NEXT (auch mit STEP), GOSUB...RETURN, GOTO, IF...ELSE...ENDIF, REPEAT...UNTIL, SELECT...ENDSELECT (auch mit DEFAULT case), WHILE..WEND.
  • Es ist ein kompletter Satz von 2D-Zeichenbefehlen vorhanden, wie Box, Circle, DrawText, DrawFont, Ellipse, Line, Plot, Point. Ausserdem gibt es einen Befehl DrawingMode, mit dem man z.B. einstellen kann, dass nur der Umriss gezeichnet wird.
  • Wie bei QBasic müssen die Variablen nicht am Programmanfang deklariert werden, sondern sind "on-the-fly" verwendbar.
  • Mit Hilfe des Include-Befehls kann man beliebige in externen Dateien hinterlegte "Versatzstücke" in sein Programm einfügen. Dabei gibt es u.a. die folgenden Möglichkeiten:
    • IncludeFile
    • IncludeBinary
    • IncludeDirectory
    • XIncludeFile
  • Mit RunProgramm lässt sich ein externes Programm starten.
  • Mit Peek und Poke kann man direkt auf den Speicher zugreifen.

zurück zum Inhalt  


Multimedia-Funktionen

PureBasic enthält hochoptimierte Bibliotheken zur Manipulation von Bitmap-Grafiken und zum Zugriff auf die von OpenGL und DirectX zur Verfügung gestellten Multimediafunktionen für Grafik, Sound und Video. Im Lieferumfang von PureBasic sind ein Bildbetrachter und ein Movieplayer als Beispielprogramme enthalten, die deutlich zeigen, wie einfach und bequem sich die Multimedia-Programmierung mit PureBasic gestaltet.

Außerdem gibt es eine komplette Bibliothek mit 2D-Zeichenfunktionen

zurück zum Inhalt  


Spieleprogrammierung in PureBasic

Da PureBasic erst seit kurzem auf dem Markt ist, gibt zwar momentan (noch) keine irgendwo downloadbare professionellen in PureBasic programmierte Spiele, aber trotzdem ist PureBasic aufgrund seiner DirectX-Schnittstelle und der enormen Ablaufgeschwindigkeit sehr gut für die (2D-) Spieleprogrammierung geeignet. Genau wie Blitz Basic unterstützt es DirectDraw.

Wir sind dermaßen von PureBasic überzeugt, dass wir beschlossen haben, unser nächstes Spiel in PureBasic statt in Blitz Basic zu programmieren. Sie können auf unser Urteil vertrauen. Schließlich sind wir kommerzielle Spiele-Entwickler: 'Krakout Unlimited' steht ja bereits im Laden und für 'The Tale of Imerion' haben wir schon einen Publisher.

zurück zum Inhalt  


Eingabegeräte

Eingabegeräte wie Maus, Joystick und Keyboard werden von PureBasic direkt unterstützt. Hierfür muss man also keine "Handarbeit" anlegen.

zurück zum Inhalt  


Weitere Features

PureBasic bietet die folgenden weiteren Features:
  • Datentypen - PureBasic unterstützt alle üblichen Datentypen wie Byte (8 bits), Word (16 bits), Long (32 bits), Floating Point (32 bits), Strings und mehrdimensionale anwenderdefinierte Felder gemischten Typs (Strukturen). Die Floating-Point Formate entsprechen dem IEEE-Standard, so dass ein Datenaustausch über externe Programme oder Bibliotheken leicht möglich ist.
  • Zugriffe auf Variablen und Felder - Im Gegensatz zu den meisten anderen BASIC Sprachen unterstützt PureBasic den Zugriff auf Variable und Felder über indirekte Adressierung, d.h. über Pointer, sowie Dynamically Linked Lists .
  • Bibliotheken - Man kann in Assembler und C/C++ geschrieben Bibliotheken in PureBasic-Programme einbinden. Vier Bibliotheken sind im Lieferumfang von PureBasic bereits enthalten, darunter eine für den DirectX-Zugriff, eine für INI Files und eine für Registry Zugriffe. Die mitgelieferten externen Bibliotheken sind zu 100% in hochoptimiertem Assemblercode geschrieben und führen zu einem Ablaufcode, der oftmals schneller ist als bei äquivalenten, in C/C++ geschriebenen Programmen.
  • Subroutinen und Funktionen - In PureBasic ist eine strukturierte Programmierung mit Prozeduren und Funktionen möglich, wobei Variable lokal oder global deklariert werden können.
  • API-Schnittstelle - Wem die von PureBasic direkt unterstützten Systemfunktionen und Dialogelemente nicht ausreichen, der hat Zugriff auf nahezu alle Aufrufe des Windows-API (Application Program Interface), momentan gibt es davon ca. 8400 Stück!!! Ein API-Aufruf kann ganz einfach wie ein PureBasic Befehl in den Quellcode eingefügt werden.
  • Inline-Assembler - PureBasic besitzt einen integrierten Inline-Assembler. Sie können also beliebige Assembler-Befehlssequenzen mitten in ihren PureBasic-Quellcode hineinschreiben.
  • Befehlsformat - PureBasic-Befehle können sich über beliebig viele Zeilen erstrecken. Es ist - wie in QBasic - auch möglich, mehrere Befehle in eine Zeile zu schreiben - durch ein ":" voneinder getrennt.
  • Grafikfunktionen - PureBasic hat viele innovative Grafikfunktionen bereits eingebaut, die z.B. für die Spieleentwicklung hochinteressant sind. So ist die von der Grafikhardware zur Verfügung gestellte Gammakorrektur für Fading und Farbeffekte in 2D Spielen direkt aus PureBasic heraus ansprechbar.

zurück zum Inhalt  


Die Entwicklungsumgebung von PureBasic

PureBasic-IDE

Die PureBasic-Entwicklungsumgebung (IDE)


Die Entwicklungsumgebung von PureBasic ist einfach bedienbar und übersichtlich gestaltet. Sie zeichnet sich durch folgende Features aus:
  • Syntax-Coloring - PureBasic Schlüsselwerter werden beim Eintippen automatisch farbig herausgehoben.
  • Command Line Compiler - Der PureBasic-Compiler ist ein eigenständiges Programm, das entweder bequem direkt aus der IDE oder auf Wunsch auch mit vielfältigen Optionen von der Kommandozeile aus aufgerufen werden kann.
  • Mehrfenster-Funktion - Die IDE unterstützt "Multiple Document", d.h. es lassen sich mehrere Quellsprachedateien gleichzeitig öffnen, die bequem durchblätterbar sind. Da der eigentliche Compiler ist ein eigenständiges, über die Kommandozeile steuerbares Programm ist, kann bei Bedarf auch ein anderer Editor wie jaPBe ("Just another PureBasic Editor") oder Ultraedit (www.ultraedit.com) verwendet werden. jaPBe ist ein spezieller PureBasic- Editor mit vielen interressanten Fähigkeiten. Er schlägt den Originaleditor um Längen und steht auf www.PureBasic.de zum Herunterladen bereit.
  • C++ Konverter - Bei PureBasic wird ein kleiner, sehr nützlicher Konverter mitgeliefert, mit dessen Hilfe man in C++ geschriebene Include-Dateien bequem konvertieren kann.
  • Assemblercode-Ausgabe - Auf Wunsch erzeugt der PureBasic Compiler ein Listing des abgesetzten Codes in einem gut lesbaren, kommentierten Assemblerformat, das mit dem mitgelieferten NAsm in ausführbaren Code assemblierbar ist. So hat man immer die volle Kontrolle darüber, was der Compiler absetzt und kann einzelne Programmsequenzen anhand dessen "handoptimieren".
  • Weitere Funktionen - Ab Version 2.70 gibt es unter anderem eine Thread Library, eine 100-stufiges Undo/Redo und erweiterte Systray Funktionen!

zurück zum Inhalt  


Der Debugger

PureBasic hat einen komfortablen Debugger. Zusätzlich zu den üblichen Funktionen gibt es eine Watchtable für Variablen, Assembler Ports und Register sowie Single Step. Der PureBasic Debugger hat als einziger mir bekannter Nicht-LISP Debugger die Möglichkeit, den Code zur Laufzeit zu ändern!

zurück zum Inhalt  


System-Anforderungen von PureBasic

PuteBasic ist bezüglich der Hardware-Anforderungen sehr genügsam. Ein ausreichendes Minimum ist:
  • Für die Windows-Version: 486er-Computer oder besser, Windows 95, 98, 2000, ME, NT oder XP,DirectX 7.0 oder neuer. DirectX wird nur für die Multimedia-Programmierung benötigt.
  • Für die Linux-Version: 486er-Computer oder besser, Linux mit XFree, NAsm und SDL (ist bei den Distributionen normalerweise dabei)
  • Für die Amiga-Version: Computer mit 68000 oder PowerPC CPU und AmigaOS V3.0+
  • Internet Browser für die Online-Hilfe
  • Ca. 10 MB Platz auf der Festplatte, davon ca. 1,2 MB für die mitgelieferten Beispielprogramme


zurück zum Inhalt  


Die Grenzen von PureBasic

Kommen wir zu einem für mich denkbar unangenehmen Kapitel - aber keine Angst, so schlimm ist es nicht ;)):

Hier die einzigen Dinge, die man an PureBasic bemängeln kann:
  • Es gibt (noch) keine über den Handel vertriebene "boxed" Version mit gedrucktem Handbuch, nur eine online vertriebene Version.
  • 3D wird (noch) nicht direkt unterstützt, es wäre zur Zeit extrem umständlich, damit ein 3D Spiel zu programmieren. Für 3D Spiele ist PureBasic nicht viel komfortabler als C++, für mich ist das eine Grenze :)
  • Die "Fehlertoleranz" ist weit niedriger als bei Blitz Basic - falsche Befehle führen gelegentlich zum Abbruch des Programms, da die Sprache extrem hardwarenah ist, um maximale Effizienz zu bieten.
  • Momentan gibt es (noch) keine Befehle wie bei QBasic und VB, um Kontrollstrukturen vorzeitig abzubrechen, etwa wie EXIT FOR und EXIT LOOP. Solche Befehle unterstützen das wohlstrukturierte Programmieren und helfen, den GOTO-Befehl zu vermeiden. Diese Funktion ist aufgrund von Thomas Antonis Anregung erst in neueren Versionen von PureBasic über den Befehl BREAK möglich. SUBs und FUNCTIONs lassen sich schon jetzt bei PureBasic jederzeit mit dem RETURN-Befehl vorzeitig verlassen.
  • Es gibt keine hochgenauen ("double precision") Datenformate wie etwa 64 Bit Integer und 80 Bit Float. Wer also die Anzahl der Sandkörner der Sahara berechnen oder eine Marslandefähre von der Erde aus zentimetergenau navigieren will, muss zu externen Bibliotheken greifen. Für "normale" Anwendungen reichen die vorhandenen Datenformate aber voll aus.
  • Die IDE hat keine Fenster, in denen die SUBs und FUNCTIONs bequem durchgeblättert werden können - wie bei QB. Diese Funktion ist jedoch für die nächsten PureBasic Versionen fest eingeplant.

zurück zum Inhalt  


Support

Sie erhalten deutschsprachigen Support auf zwei offiziellen PureBasic Webseiten:

PureBasic.de
Auf unserer Webseite www.PureBasic.de erhalten Sie kompetenten E-Mail-Support über die E-Mailadresse support@purebasic.de . Dort gibt es auch ein gut besuchtes deutschsprachiges PureBasic Diskussionsforum und die Möglichkeit, einen deutschen Basic-Newsletter zu bestellen. Dann gehören Sie immer zu den Ersten, die sich neue Updates runterladen und News über Basic Programmiersprachen erfahren.

Außerdem gibt es auf unserer Seite eine Programm-Galerie mit vielen lehrreichen PureBasic Beispielprogrammen zum Herunterladen.

PureBasic.com
www.PureBasic.com ist die offizielle Webseite des PureBasic-Herstellers Fantaisie Software. Dort gibt es auch einen deutschsprachigen Webmaster, und die ganze Seite ist auch in einer deutschen Version vorhanden. Außerdem finden Sie dort ein englisches PureBasic Diskussionsforum, und man kann sich in eine Mailingliste eintragen, um sich per E-Mail über die Neuigkeiten zu PureBasic auf dem Laufenden zu halten.

zurück zum Inhalt  


Online-Hilfe und Dokumentation

Es gibt eine deutsche, nach Themen geordnete Online-Hilfe, die auch kontextsensitiv verwendet werden kann: Betätigt man die F1-Taste, so wird sofort die Hilfe zu demjenigen Schlüsselwort angezeigt, auf dem der Cursor steht.

Wer sich vorab über PureBasic informieren will, kann sich die aktuelle Deutsche Online-Hilfe auf www.purebasic.de herunterladen.

zurück zum Inhalt  


Wer hat PureBasic gemacht?

PureBasic ist ein Produkt der Firma Fantaisie Software und das Werk eines kleinen französischen Entwicklerteams um Frédéric Laboureur, Richard Anderson und André Beer. Letzterer spricht fließend deutsch und ist für die deutsche Dokumentation und Hilfe zuständig.

Die PureBasic-Entwickler sind sehr offen für alle Verbesserungsvorschläge und sind über die PureBasic Webseite www.purebasic.com erreichbar.

zurück zum Inhalt  


QuickBasic im Vergleich zu PureBasic

Viele Q(uick)Basic Befehle findet man auch in PureBasic wieder. Trotzdem kann man ein QBasic-Programm nicht einfach durch den PureBasic-Compiler jagen und erwarten, das daraus ein lauffähiges Windows-Programm entsteht. Dazu sind die Befehls-Vorräte zu unterschiedlich. PureBasic kennt im Gegensatz zu Blitz Basic den von MS-DOS her gewohnten Textbildschirm nur im speziellen "Consolen-Modus", der mit dem Befehl OpenConsole() gestartet wird. Nur dort stehen Funktionen wie INPUT und PRINT zur Verfügung. Statt des in QBasic hinreichenden

PRINT "Hello World"

muss man in PureBasic im Normalfall regelrecht ein Fenster anlegen und dort einen Text ausgeben. Die dafür erforderliche Befehlssequenz sieht ungefähr so aus:

MessageRequester("","Hello World",0)

Kompiliert man dies Programm, so erhält man eine EXE-Datei, die nur 6,53 KB groß ist !!! Darüberhinaus gibt es viele kleine Unterschiede. Kommentare weden z.B. nicht mit einem Hochkomma, sondern mit einem Semikolon eingeleitet.

PureBasic setzt generell wesentlich schnelleren Code ab als QuickBasic. Selbst im Vergleich zu QuickBasic mit der besten Assembler Lib (Future Lib 3.5) ist PureBasic in Sachen 2D Grafik zirka 50 mal schneller !!!

Und - fast hätte ich es vergessen - PureBasic ist im Gegensatz zu dem rein DOS-basierten QuickBasic, das seit 10 Jahren nicht mehr weiterentwickelt wird, eine echte, moderne 32-bit Programmiersprache für Windows und Linux und wird laufend weiterentwickelt.

zurück zum Inhalt  


Blitz Basic / Blitz3D im Vergleich zu PureBasic

PureBasic ist im Gegensatz zu Blitz Basic nicht nur für die Programmierung von Spielen und Multimedia-Programmen, sondern auch für die Erstellung "normaler" Anwendungen mit Windows-gemäßen Menüs und Dialogboxen geeignet. Für die Entwicklung von 2D-Spielen ist PureBasic ebenso prädestiniert wie Blitz Basic, während Blitz Basic / Blitz3D bei 3D-Spielen seine Stärken ausspielt.

Tendenziell ist der von PureBasic erzeugte Code sogar noch etwas schneller als der von Blitz Basic, besonders bei Programmschleifen.

PureBasic ist flexibler und komfortabler als Blitz Basic: Das Abspielen von Videos wird direkt unterstützt, und PureBasic kann die Dateien nach dem Abschluss der Entwicklungs-Session alle in ein Archiv packen und bei Aufruf des EXE-Programms von dort wieder entpacken. Die Komprimierungsrate ist dabei noch etwas besser als bei ZIP! Dies Verfahren führt erstens natürlich zu extrem kleinen ausführbaren Dateien, zweitens spart man Zeit beim Laden des Programmms von der Festplatte. Denn schon ab 486er CPUs kostet das Entpacken wesentlich weniger Zeit als das Lesen der größeren - weil ungepackten - Dateien von der Festplatte. Das Packen der ausführbaren Dateien stellt auch einen gewissen Schutz gegen "Ausspähen" des Programms durch Konkurrenten dar.

zurück zum Inhalt  


VisualBasic im Vergleich zu PureBasic

PureBasic hat die folgenden Vorteile gegenüber VisualBasic:
  • Die mit PureBasic erzeugten Programme sind sehr viel kleiner als bei VB und benötigen keine Runtime Dateien. Die Runtime-Dateien blähen bei VB 6 z.B. die Größe eines winzigen "Hello World" Programms bereits auf 1,6 MB auf, während ein entsprechendes EXE-Programm bei PureBasic nur ca, 6,5 KB groß ist !
  • Im Gegensatz zu VB sind PureBasic Programme ohne jegliche "Verunreinigungen" der Registry und der Systemverzeichnisse lauffähig und lassen sich durch einfaches Löschen rückstandsfrei deinstallieren.
  • PureBasic erzeugt wesentlich schnelleren Code als VB. Der Geschwindigkeitsvorteil beträgt bis zu 77 %, obwohl VB 6 angeblich nativen (nicht interpretierten) Code erzeugen kann.
  • PureBasic funktioniert für verschiedene Betriebssysteme.
  • Gerade bei Visual Basic kann man so eine Liste endlos fortsetzen ;-)
Als Nachteil gegenüber VisualBasic kann man anführen, dass PureBasic keinen visuellen Editor hat, der z.B. ein bequemes Erstellen von Dialogboxen ermöglicht. Es ist allerdings mittelfristig einer geplant.

zurück zum Inhalt  


C++ im Vergleich zu PureBasic

Thomas Antoni, der Webmaster der mit uns befreundeten Webseite www.QBasic.de hat mich einmal provozierend gefragt:

"Du behauptest, PureBasic sei mehr etwas für Fortgeschrittene und Profis. Sollten solche Programmierer nicht lieber zu professionellen Mainstream-Sprachen wie C++ oder Java aufsteigen, die ihnen im späteren Berufsleben (und schon beim Einstellungsgespräch) mehr nützen?".

Meine Antwort darauf lautet: Selbst kommerzielle Unternehmen wie Multimedia-Agenturen und Banken(!) haben PureBasic und Blitz Basic gekauft - und unsere Spiele sind auch nicht in C geschrieben und werden trotzdem veröffentlicht. Java ist meiner Ansicht nach für jeden Einsatz auf Computern ungeeignet. Es eignet sich vielleicht für kleine Elektroniksachen wie Fernbedienungen (für die es ja mal entwickelt wurde). C++ ist zwar der Standard, aber deshalb nicht für alle Anwendungsgebiete die beste Sprache. Ein Beispiel:

Blizzard´s Diablo 2, das momentan meistverkaufte PC Spiel der Welt:
... wäre nicht 2 1/2 Jahre verspätet fertig geworden!
... würde nicht ein Jahr nach dem Release immernoch von Fehlern wimmeln!
... hätte nur einen Programmierer benötigt
... hätte eine höhere Auflösung, eine höhere Farbtiefe und würde nicht ruckeln!
wenn es mit PureBasic oder Blitz Basic programmiert worden wäre. Soviel dazu.

zurück zum Inhalt  


Welche Neuerungen sind künftig zu erwarten?

Was bei PureBasic angenehm auffällt, ist, dass das Autorenteam ungemein innovativ ist und die Programmiersprache in schneller Folge um neue, sinnvolle Dinge erweitert. Auch Anregungen von den Usern werden, wenn sie sinnvoll sind, meist prompt in eine der nächsten Programmversionen eingebaut. Plötzlich gibt es zum Beispiel einen ganzen Satz Kompressionsbefehle - und das Beste daran ist, sie enthalten genau das, von dem man den Programmierern geschrieben hatte, dass es einem fehlt!

Bei PureBasic hat man nach dem Updaten oft fast das Gefühl, eine ganz neue Programmiersprache vor sich zu haben! Aber keine Angst: Sie müssen den Compiler nicht jedes mal neu kaufen: Updates aller Art und jeden Umfangs sind in der Regel kostenlos.

zurück zum Inhalt  


Abschließende Worte

Sie werden sich vielleicht wundern, warum PureBasic bisher so unbekannt geblieben ist. Der Grund dafür ist zum Einen, dass wenig Werbung dafür gemacht wurde, was wir von master creating aber wenigstens in Deutschland demnächst gewaltig ändern werden.

Zum Anderen wollen die Programmierer einen Compiler weltweit im Laden sehen. Auch hier sind wir dabei, einiges in Richtung "Boxed Version" zu organisieren. Denn beim Onlineverkauf stößt man schnell an die Grenzen: Es ist leichter 1000 Boxes mit gedruckten Handbüchern an kommerzielle Firmenkunden oder eine Kette wie die Metro AG zu verkaufen als online an einzelne Privatkunden.

zurück zum Inhalt  


PureBasic bestellen

Master creating ist der autorisierte deutsche Vertriebspartner von Fantaisie Software, dem Hersteller von PureBasic. Sie können die PureBasic Vollversion für nur 59 EUR direkt auf unserer Webseite www.purebasic.de online bestellen. Nachdem Sie uns das Geld überwiesen haben, erhalten Sie umgehend einen Downloadlink - und zwar sowohl für die Windows- als auch für die Linux- und die Amigaversion!

Im Lieferumfang ist Folgendes enthalten:
  • Die Onlineversion von PureBasic und das Recht auf kostenlose Updates
  • Sowohl die Windows- als auch die Linux- und die Amigaversion des PureBasic Compilers
  • Das PureBasic German Package mit deutscher Anleitung (in digitaler Form) und viele Beispiele
  • Darüber hinaus bekommt jeder unser Kunden bis auf Weiteres kostenlosen e-mail Support mit sehr kurzen Antwortzeiten!
Wenn Sie Fragen zum Bestellvorgang haben, wenden Sie sich einfach direkt an support@purebasic.de.!

zurück zum Inhalt  


Unsere Firma und unsere Webseiten

Die Webseite www.purebasic.de ist Teil des master creating & consulting networks und wird vom Webmaster sowie dem deutschen PureBasic Support-Team betreut. PureBasic ist kein Produkt von master creating, wir treten lediglich als autorisierter deutscher Vertriebspartner auf. master creating selbst entwickelt Computerspiele und Websites. Wenn Sie weitere Informationen über master creating wünschen, besuchen Sie unsere Website www.master-creating.com oder schreiben Sie uns einfach eine E-Mail an mail@master-creating.com.

Besuchen Sie auch unsere Blitz Basic Seite www.blitzbasic.de.


zurück zum Inhalt  


Aktualisierung 2004 von Frank Mertens

Am 16.9.2004 erhielt der Herausgeber dieses Artikels die folgende Mail von dem erfahren PureBasic-Programmierer Frank Mertens. Hierin sind die wichtigsten Fortschritte aufgelistet, die PureBasic seit dem ersten Erscheinen des Artikels im Jahre 2001 gemacht hat. Ich halte die Mail für sehr informativ und gebe sie daher ohne Änderungen wider.

Hallo Thomas!

Ich bin Frank Mertens und habe lange Zeit (ca. 1998-2002) in der QB-Community mitgewirkt. Unter anderem habe ich den QB-Wettbewerb mit Storm-Master ersonnen, musste mich aber aus Zeitgründen zurückziehen. Später habe ich dann PureBasic gekauft, weil es, wie auf www.qbasic.de beschrieben, viele Neuerungen bringt und wesentlich moderner ist.

Soviel dazu.

Nun, jedenfalls habe ich deine Seite wieder besucht und habe mir den PureBasic-Artikel durchgelesen. Mir fiel auf, dass die Informationen teilweise sehr veraltet sind. Da habe ich mir gedacht, man könnte das aktualisieren. Und, tja, hier sind die Änderungen und Ergänzungen:



Zum Abschnitt: "Wie schnell und schlank ist PureBasic?"
Das minimale PureBasic-EXE-Programm mit dem Quellcode "MessageRequester("","Hello World",0)" ist nicht mehr 6,53 kb groß, sondern nur noch genau 3 kb.

Zum Abschnitt: "Vorwort von Thomas Antoni"
Man sollte erwähnen, dass die Programme nun CPU-optimiert compiliert werden können. Es ist über ein einfaches Pull-Down-Menü möglich, Programme genau für folgende CPUs kompilieren zu lassen:
  • CPU mit MMX (Intel Pentium 2 und höher, AMD K6 und höher)
  • CPU mit 3DNow! (AMD K6 und höher)
  • CPU mit SSE (Intel Pentium 3 und höher)
  • CPU mit SSE2 (Intel Pentium 4 und höher)
  • Alle unterstützten CPUs (es wird ohne Optimierung compiliert)
  • Dynamische CPUs (die CPU wird automatisch erkannt und der entsprechend optimierte Code ausgeführt) Zum Abschnitt: "Vorwort von Thomas Antoni"
    Man kann seinen Quellcode nicht nur zu EXE-Dateien compilieren, sondern auch zu DLL-Dateien und reinen 32-Bit-Konsolenprogrammen (ähnlich der DOS-Box).

    Zum Abschnitt: "Vorwort von Thomas Antoni"
    Es ist nun eine 3D-Engine eingebaut worden. Diese nennt sich Ogre (www.ogre3d.org), ist OpenSource und auch unter Linux lauffähig. Der 3D-Befehlssatz ist zwar noch eingeschränkt, aber das soll sich in der PureBasic-Version 4 ändern (aktuelle Version ist 3.91.) .

    Zum Abschnitt: "PureBasic - Was ist das überhaupt?"
    Als Assembler wird nicht mehr NAsm sonder der FLAT-Assembler benutzt.

    Zum Abschnitt: "PureBasic - Was ist das überhaupt?"
    PureBasic ist nicht mehr nur auf DirectX beschränkt. Es gibt einige erfolgreiche Versuche, 3D-Grafik unter OpenGL laufen zu lassen. Allerdings muss man die Grafikengine selber schreiben.

    Zum Abschnitt: "PureBasic - Was ist das überhaupt?"
    Die Entwicklungsumgebung wurde stark erweitert. Es gibt nun seitlich eine Leiste oder ein Pull-Down-Menü, in dem alle Prozeduren eingetragen sind. Mit einem Klick springt man sofort zu der Prozedure im Sourcecode. Es gibt die Möglichkeit eigene Hilfe-Dateien (*.chm und *.hlp) in das Hilfemenü einzubinden. Man braucht nur die Dateien in ein bestimmtes Verzeichnis zu kopieren und sofort wird die Hilfe entsprechend erweitert. Auch kann man Zusatzprogramme einbinden, die z. B. den Quelltext aufräumen oder anderes tun. Diese Programme sind fast alle von Hobby-Programmierern geschrieben.

    Zum Abschnitt: "Die PureBasic Freeware-Version"
    Die Win32-Api ist nicht eingeschränkt, sondern komplett deaktiviert. D. h. man kann in der Freeware keine Win32-API verwenden. Die Freeware gibt es jetzt übrigends in einer neuen Version (3.90).

    Zum Abschnitt: "Multimedia-Funktionen"
    Interessanterweise wird hier OpenGL erwähnt. Es gibt jetzt eine 3D-Engine (siehe oben). Diese unterstützt unter anderem: Laden von BSP-Dateien (Quake3-Levelformat), 3D-Partikeleffekte und Enities (agierende, animierte Objekte).

    Zum Abschnitt: "Spieleprogrammierung in PureBasic"
    Mittlerweile gibt es einige (auch kommerzielle) Spiele, die in PureBasic geschrieben wurden. Beispiele sind Krakout Unlimited 1+2 und Restricted Area. Letzteres hat eine eigene in PureBasic geschriebene Grafikengine und wurde von PC Games mit guten 82% bewertet (Quelle: Die Zeitschrift "PC Games").

    Zum Abschnitt: "Eingabegeräte"
    Es gibt ein Projekt, bei dem versucht wird, mit dem Computer durch Zeichensprache zu kommunizieren. Zu finden unter www.purearea.net unter "deutsch" -> Projekte -> ICamPlay

    Zum Abschnitt: "Weitere Features"
    Es gibt nicht mehr nur 4 Bibliotheken, es sind mittlerweile über 50! Es werden auch nicht mehr nur 8.400 Win32-API-Aufrufe unterstützt , sondern 44.000!

    Zum Abschnitt: "Die Entwicklungsumgebung von PureBasic"
    Es ist nun möglich sich in einer extra Spalte alle Prozeduren auflisten zu lassen. Über einen Klick springt man dann direkt zu ihnen im Quellcode. Neue ist auch die automatische Zeilennummerierung, die die Fehlersuche im Quelltext vereinfacht. (Der Debugger gibt ja immer die Zeilennummer des Fehlers aus.)

    Zum Abschnitt: "Die Grenzen von PureBasic"
    Es gibt nun Möglichkeiten beliebig viele verschachtelte Schleifen mit einem Befehl zu verlassen. Beispiel:
    REPEAT
      FOR (...)
        WHILE (...)
          BREAK 2
        WEND
      NEXT
    FOREVER
    Durch das BREAK werden 2 Schleifen werden verlassen. Die Programmausführung geht direkt nach dem NEXT weiter.

    Zum Abschnitt: "VisualBasic im Vergleich zu PureBasic"
    PureBasic hat einen eigenen visuellen Formular-Editor. Dialogfenster sind in Sekunden erstellt.

    Zum Abschnitt: "Welche Neuerungen sind künftig zu erwarten?"
    PureBasic-Updates erscheinen alle 2-4 Monate. Diese beinhalten immer viele Verbesserungen und neue Befehle.

    Allgemeines
    Ansonsten ist noch zu sagen, dass sich die PureBasic-Community stark erweitert hat. Die englische und deutsche Community arbeiten dazu noch sehr stark zusammen. Es sind außerdem zig neue Fanseiten zu der Programmiersprache entstanden. Die Wichtigste, www.purearea.net, betreut von André Beer, gibt einen guten Überblick über die Szene. Sie ist vergleichbar zu www.qbasic.de.

    Zum Abschnitt: "Befehlsumfang"
    Nun, der Abschnitt ist sehr kurz geraten. PureBasic bietet eine Unmenge äußerst mächtiger Befehle für spezielle Anwendungen. Dazu noch eine Vormerkung. Jeder Befehl ist wie bei QuickBasic in Bibliotheken gespeichert. In QBasic 4.5 gibt es 6 Standardbibliotheken (*.lib) in PureBasic sind es mittlerweile (ich habe nachgezählt) 54! Diese sind in die drei Bereiche Allgemein, 2D-Spiele und 3D-Spiele unterteilt.

    Beispiele aus dem Bereich "Allgemein" (35 Bibliotheken gesamt):

    Bibliothek "Cipher" (Verschlüsselung):
    Es werden verschiedene wichtige Verschlüsselungsalgorithmen unterstützt: BASE64, CRC32, MD5 und DES.

    Bibliothek "Gadget":
    Gadgets sind die Elemente eines Fensters, z. B. Buttons, Karteireiter usw. Diese werden zusammen mit der Bibliothek "Window" verwendet, die sich nur um Fenster und Dialogboxen kümmert. Wahrscheinlich sind das die beiden am meisten genutzen Bibliotheken in PureBasic überhaupt.

    Bibliothek "Network":
    Diese Bibliothek beinhaltet alles, was für ein Netzwerkprogramm nötig ist. Das verwendete Protokoll ist TCP/IP. Dabei wird das Client-Server-Modell verwendet. Mit der Bibliothek lassen sich sowohl Multiplayerspiele als auch FTP-Programme und mehr schreiben.

    Bibliothek "Thread":
    Threads sind Unterprogramme, die asynchron zum Hauptprogramm laufen. Während ein Thread z. B. gerade eine langwierige Operation durchführt, wird keinesfalls das Hauptprogramm beeinträchtigt oder angehalten (Multi-Tasking). Man kann normal weiterarbeiten.

    Bibliothek "Library":
    Mit der "Library" Bibliothek lädt man nicht PureBasic-eigene Bibliotheken. Nein, man lädt DLL-Dateien und kann anschließend deren zur Verfügung gestellten Funktionen nutzen.

    Beispiele aus aus dem Bereich "2D-Spiele" (9 Bibliotheken insgesamt):

    Bibliotheken Sprite & Sprite3D:
    Sprites sind 2D-Bilder (z. B. die Spielfigur bei Jump'n'Run-Spielen), die dank dieser zwei Bibliotheken vielfach manipuliert werden können. Z. B. können Sprites transparent (nur eine Farbe ist durchsichtig), transluzent (das ganze Sprite ist durchscheinend) dargestellt werden und vieles mehr. Die Grafik kann als Vollbildschirm oder in einem normalen Fenster angezeigt werden, natürlich flackerfrei durch Double-Buffering.

    Bibliothek "Sound" und "SoundPlugin":
    Damit können die weit verbreiteten Musikformate wie Mp3 und Wave abgespielt werden. Durch "SoundPlugin" kann zusätzlich auch OGG wiedergegeben werden.

    Beispiele aus aus dem Bereich "3D-Spiele" (10 Bibliotheken insgesamt):

    Bibliothek "Particle":
    Diese Bibliothek erzeugt regelrechte Partikelfontänen. Sehr gut geeignet um Feuerwerke oder einfach nur Funken zu erzeugen.

    Bibliothek "Terrain":
    Die letzte Bibliothek, die ich hier vostellen möchte, erzeugt aus einer Höhenkarte (Alpha-Map) und einer Landschaftstextur eine komplette 3D-Landschaft.

    Ich habe nicht konkret Befehle angegeben (Pro Bibliothek sind es im Schnitt 15 Befehle, bei 50 Bibliotheken wären das 750(!) Befehle). Meine Kurzbeschreibung der Bibliotheken bringt auch so gut 'rüber, was für Möglichkeiten PureBasic hat.

    Puh! Die eMail ist doch länger geworden als erwartet. Ich weiß ja nun nicht, was Du mit den Informationen hier machst, aber ich hoffe, Du berücksichtigst sie.

    Für Rückfragen stehe ich gerne zur Verfügung.

            MfG Frank Mertens (eLaurin@gmx.net)

    zurück zum Inhalt  





  • [zur Startseite http://www.antonis.de]       [zur framelosen Startseite]