QuickBASIC
| |
---|---|
Microsoft QuickBASIC 4.5 | |
Basisdaten
| |
Entwickler | Microsoft Corporation |
Erscheinungsjahr | 1985 |
Aktuelle Version | 7.1 PDS (MS-DOS) / 1.0 (Macintosh) |
Betriebssystem | MS-DOS, Mac OS, OS/2 |
Kategorie | BASIC-Compiler, BASIC-Interpreter und Entwicklungsumgebung |
Lizenz | MS-EULA |
deutschsprachig | ja |
www.microsoft.de |
Microsoft QuickBASIC ist eine BASIC-Entwicklungsumgebung für MS-DOS, Mac OS und OS/2.
QuickBASIC ermöglicht das Kompilieren von Basic-Code in ausführbare Dateien sowie in Module und Bibliotheken. Die letzte erschienene Version ist QuickBASIC Extended 7.1 PDS (Professional Development System), die unter anderem mit Unterstützung für das ISAM-Dateiformat und einer verbesserten Speicherverwaltung ausgeliefert wird. QBasic, welches mit MS-DOS ab Version 5 mitgeliefert war, basierte auf QuickBASIC 4.5.
Des Weiteren erschien 1988 mit Microsoft QuickBASIC 1.00 auch eine Version für den Apple Macintosh.
Die 1985 erschienene erste Version des QuickBASIC-Compilers enthielt noch keine integrierte Entwicklungsumgebung, diese wurde mit der Version 2 mitgeliefert. Es unterstützte EGA-Grafikkarten. Die Version 3 kam mit zwei EXE-Dateien, QB.EXE
und QB87.EXE
. Letztere unterstütze den mathematischen Coprozessor. Mit QuickBASIC 3 wurden neue Kontrollstrukturen eingeführt, SELECT CASE
, DO … LOOP
, dazu wurden Konstanten (CONST
) unterstützt. Die IDE wurde um einen Debugger erweitert, mit der das Setzen von Breakpoints und eine Variablen-Inspektion möglich war. Die IDE der 1987 ausgelieferten Version 4 konnte Syntaxfehler während des Bearbeitens erkennen und enthielt einen ausgebauten Debugger und eine neue Onlinehilfe. Der Compiler ermöglicht via CALL
- bzw. CALLS
-Anweisung den Aufruf von Funktionen aus statischen Bibliotheken, sofern diese zuvor mit DECLARE
und der korrekten Aufrufkonvention deklariert wurden. Diese können auch in einer anderen Hochsprache (z. B. C++) entwickelt sein. Die letzte Version, 4.5 enthielt eine komplette Befehlsreferenz, die mit der kontextsensitiven Hilfe aufgerufen werden konnte.
QuickBASIC wurde durch BASIC PDS 7 und 7.1 ergänzt, welches parallel zu QuickBASIC 4.5 vermarktet wurde. Die IDE aus QuickBASIC wurde bei 7.1 weiterverwendet. Die darauffolgende und letzte für DOS erschienene Basic-Version seitens Microsoft war Visual Basic für DOS 1.0, welches beide Produktlinien ablöste. QuickBASIC-Programme laufen auf diesen neueren Versionen.
QuickBASIC für den Apple Macintosh bündelte den Basic-3.0-Interpreter und den Basic-1.0-Compiler, welche vorher separat verkauft worden waren. Unterstützt wurden die Betriebssystemversion von System 4.1 bis System 6, mit dem Update auf 1.00e dann auch System 7. Allerdings war es nur auf Macintoshs mit den Motorola-Prozessoren 68000 und 68020 lauffähig.[1] Hierbei musste die 32-Bit-Adressierung deaktiviert werden, was auf Maschinen mit dem 68040 nicht mehr möglich war.
Einige weitere Funktionalitäten heben QuickBASIC von anderen Basic-Distributionen ab:
DO
und SELECT
machen Sprunganweisungen mit GOTO
weitgehend überflüssig.GOSUB
-Anweisungen zu arbeiten.QuickBASIC war bis von einigen Ausnahmen abgesehen weitgehend kompatibel zu GW-BASIC. QBasic-Programme laufen auch auf QuickBASIC 4.5. QuickBASIC-Programme laufen grundsätzlich auch unter Visual Basic für MS-DOS 1.00.[2]
Für die Unterstützung von Hercules-Grafikkarten musste unter QuickBASIC 4.5 das TSR-Programm msherc.com im Voraus gestartet sein.[3]
Die letzte Version von Microsoft QuickBASIC wurde 1990 unter dem Namen Microsoft BASIC Professional Development System (PDS) 7.1 veröffentlicht. Die folgenden Funktionen wurden neu hinzugefügt oder gegenüber früheren Versionen verbessert:[4]
REDIM PRESERVE
können Arrays neu dimensioniert werden, ohne das bestehende Einträge verloren gehen.BYVAL
als Wertparameter (Call By Value) übergeben werden. Zuvor wurden sie stets als Referenzparameter (Call By Reference) übergeben.DIR$
, CURDIR$
und CHDRIVE
.ON LOCAL ERROR
. Früher fand sie stets auf Modul-Ebene statt. Eine lokale Fehlerbehandlung überschreibt die Fehlerbehandlung auf Modul-Ebene.[7]ERDEV
und ERDEV$
.Nach der Einführung von Visual Basic wurde QuickBASIC nicht mehr weiterentwickelt. QuickBASIC fehlt die Unterstützung für viele Möglichkeiten moderner Betriebssysteme, wie zum Beispiel nebenläufige Prozesse, hohe Bildschirmauflösungen im Grafikmodus oder das automatische Erstellen von Dialogfenstern. Letzteres wurde für den Textmodus von MS-DOS mit Visual Basic für MS-DOS eingeführt.
Trotzdem wurde QuickBASIC wie auch QBasic noch lange Zeit verwendet, und zahlreiche private Webseiten beschäftigten sich mit dem Thema. Dies war vor allem auf die leichte Erlernbarkeit und die große Verbreitung in der Vergangenheit zurückzuführen. Mittlerweile gibt es eine Menge BASIC-Dialekte, auf die viele der ehemaligen QuickBASIC-Programmierer umgestiegen sind. Durch die fehlende Unterstützung MS-DOS-basierter Programme unter 64-Bit-Betriebssystemen entfiel auch die Möglichkeit, QuickBASIC-Programme unter diesen Betriebssystemen ohne Emulator auszuführen, und das Interesse an QuickBASIC nahm ab.
QuickBASIC sowie QBasic konnten in der Virtual DOS Machine, die in 32-Bit-Betriebssystemen der Windows-NT-Familie enthalten war, sowie heute noch in dem freien DOS-Emulator DOSBox und in virtuellen Maschinen, in denen auch MS-DOS ausgeführt werden kann, ausgeführt werden.
Darüber hinaus gibt es einen quelloffenen 32-Bit-Compiler namens FreeBASIC, der auf QuickBASIC aufbaut, und insbesondere mit der Compileroption ("-lang qb") auch die meisten QuickBASIC oder QBasic Programme kompiliert.
2007 erschien die freie Software QB64 von Rob Galleon,[8] das eine Portierung von QuickBASIC für 64-Bit-Betriebssysteme darstellt. QB64 übersetzt die in QuickBASIC verfassten Quelltexte nach C++ und erstellt daraus ausführbare Programme, die auf 32- und 64-Bit-Betriebssystemen lauffähig sind. Im Gegensatz zu anderen freien BASIC-Versionen führt QB64 fast alle Programme, die für QuickBASIC 4.5, QBasic oder GW-BASIC geschrieben wurden, ohne weitere Anpassungen aus. QBX-Dateien von Basic PDS werden nicht unterstützt. Hinzu kommen umfangreiche Erweiterungen der ursprünglichen Sprache, um moderne Betriebssystemfunktionen zu unterstützen, beispielsweise ein Netzwerk-Stack, Grafikfunktionen bis 32-Bit-Farbtiefe und Unterstützung der Zwischenablage, sowie Unterstützung für OpenGL. QB64 wird auch in Versionen für Linux und Mac OS X veröffentlicht. Da das Programm quelloffen ist, kann der Quelltext von QB64 auch für andere Betriebssysteme kompiliert werden.