|  | | Bibliotheken in Qbasic Autor: Andre Klein
 
 
 
Eine Bibliothek ist eine Sammlung von SUB's, FUNCTION's und/oder TYPE's 
	die in einer Datei gespeichert sind. Diese Datei nennt man Bibliothek und hat in Qbasic die Datei-Endung QLB.
	Bibliotheken werden erst ab QB V4.0 unterstützt.
| Abschnitt 1 | Was ist eine Bibliothek? |  |  
 
 
Bibliotheken kann man einsetzen wenn man z.B. sehr viele SUB's geschrieben hat die man sehr oft auch in anderen 
	Programmen benötigt. Ohne Bibliothek müßtest du immer wieder alle SUB's in dein neues Programm schreiben 
	oder eine "Blanko"-Datei haben. Das kostet jede Menge Zeit und ist aufwendig!
| Abschnitt 2 | Warum sollte ich eine Bibliothek benutzen? |  |  Wenn du aber eine Bibliothek hast wo diese ganzen SUB's drin stehen, dann brauchst du diese nur 1x laden und 
	kannst dann alle SUB's benutzen die dort gespeichert sind! Und das ist doch viel bequemer oder?
 
 Ein weiterer Grund für den Einsatz von Bibliotheken wäre der, das du vieleicht deine SUB's an Freunde, 
	Bekannte und Unbekannte weitergeben möchtest. Und da ist eine Bibliothek besser als ein Quellcode-Programm
	wo derjenige sich dann die ganzen SUB's rauskopieren müßte!
 Ein weiterer Vorteil ist der, das  der Quellcode
	selber in einer Bibliothek nicht erkennbar ist! Das heißt du schreibst jetzt z.B. ein Super-SUB und möchtest anderen
	die Funkion zeigen. Da du aber willst das keiner wissen soll wie du das gemacht hast, gibst du natürlich nur die 
	Bibliothek weiter, weil dort der Quellcode ja nicht mehr erkennbar ist!
 Anwendungen für Bibliotheken sind z.B. GRAFIK-SUB's, SOUND-SUB's  etc. Also solche SUB's die man wirklich
	nur einmal schreibt und dann immer wieder benutzt.
 
 
 
Eine Bibliothek kann erst ab QB V4.0 geladen werden.
| Abschnitt 3 | Wie lade ich eine Bibliothek? |  |  Um ein Bibliothek zu laden ruft man QB einfach mit der Option /L auf  (L = Library, zu deutsch Bibliothek).
	Die ganze Befehlszeile sieht dann so aus:
 
 QB.exe /L namederbibliothek.QLB
 
 bei diesem Aufruf muß man darauf achten das sich die Bibliothek (die QLB-Datei) im aktuellem Verzeichnis
	befindet oder der Pfad zur Bibliothek angegeben wird. Ansonsten kommt die Fehlermeldung das die Bibliothek
	nicht gefunden wurde.
 Wenn man QB /L ohne den Namen einer Bibliothek eingibt dann nimmt QB automatisch die QB-QLB die sich im QB-Hauptverzeichnis befindet.
 Dort sind die SUB's CALL ABSOLUTE, CALL INTERRUPT und CALL INTERRUPTX definiert.
 
 
 
SUB's rufst du mit dem gleichen Befehl auf mit dem du auch SUB's aufrufst die direkt in deinem QB-Programm sind.
	Also mit CALL.
| Abschnitt 4 | Wie benutze ich SUB'S wenn ich die Bibliothek geladen habe? |  |  
 z.B. CALL meinsub (option1%,option2%,wert1%)
 
 WICHTIG: Wenn du NUR die QLB-Datei geladen hast, dann mußt du IMMER ein CALL für alle QLB-SUBs benutzen!!!
	Und FUNCTION's funktionieren leider auch nicht.
 Damit du kein CALL brauchst und FUNCTION's funktionieren mußt du noch eine "BI"-Datei einfügen!
 
 
 
Wenn du ein QB-Programm schreibst und SUB's anlegst dann schreibt QB automatisch an den Anfang deines Programmes
	einige DECLARE-Anweisungen. Das gleiche passiert auch bei FUNCTION's.
| Abschnitt 5 | Was ist eine BI-Datei? |  |  Und eine BI-Datei enthält nichts anderes als diese DECLARE-Anweisungen und wenn man sie braucht auch TYPE's.
	Ansonsten keinerlei Quellcode.
 
 
 
um eine BI-Datei zu laden mußt du in deinem QUELLCODE-Programm folgendes schreiben:
| Abschnitt 6 | Wie lade ich eine BI-Datei? |  |  
 REM $INCLUDE: 'namederbidatei.BI'
 
 Diese Datei muß sich im aktuellem Verzeichnis befinden oder es muß der Pfad zu der Datei mit angegeben werden.
 Wenn eine BI-Datei zusätzlich zu der dazugehörigen QLB geladen wird, brauchst du auch kein CALL mehr vor deine SUB-Aufrufe
	schreiben und FUNCTION's funktionieren dann auch problemlos.
 Ein Beispiel für eine BI-Datei ist die QB.BI im QB-Hauptverzeichnis.
 
 
 
Um eine Bibliothek erstellen zu können, brauchst du theoretisch mindestens QB V4.0.
| Abschnitt 7 | Wie erstelle ich eine Bibliothek? |  |  QB V4.0 kann zwar Bibliotheken erstellen, produziert bei mir aber immer einen Fehler.
	Deshalb benutze ich QB V4.5.
 Vorgangsweise:
 1. schreibe ein QB-Programm mit allen SUB's, FUNCTION's und TYPE's die du später in deiner Bibliothek haben möchtest.
 2. wenn du das gemacht hast und alles funtioniert dann gehe auf AUSFÜHREN und dann auf BIBLIOTHEK erstellen.
 3. Gib den Namen der Bibliothek ein. z.B. "TEST" . Die Bibliothek heißt dann TEST.QLB.
 4. Das Kreuz bei DEBUG-CODE ERSTELLEN kannst, mußt du aber nicht machen. Das dient nur zur Fehlerbehandlung in deiner Bibliothek.
 5. Wenn das erledigt ist, gehst du auf BIBLIOTHEK ERSTELLEN oder auf BIBLIOTHEK ERSTELLEN UND BEENDEN und drückst ENTER.
 6. Jetzt kommt ein schwarzer Bildschirm mit jeder Menge Informationen über das Erstellen der Bibliothek. 
	Dort zeigt er dir auch an wenn irgendwelche Fehler aufgetreten sind.
 7. Wenn er keine Fehler gefunden hat und alles geklappt hat, dann müßte sich jetzt im Verzeichnis eine TEST.QLB und eine TEST.LIB befinden.
	Die QLB-Datei ist deine fertige Bibliothek. Die LIB-Datei ist eine Art Zwischencode in der zwar alle SUBS usw. drinstehen, aber QB kann sie nicht 
	benutzen. Sie erfüllt einen anderen Zweck zu dem ich später noch kommen werde.
 Damit ist die Bibliothek fertig.
 Was wir jetzt noch brauchen ist eine BI-Datei für unsere Bibliothek.
 
 
 
um eine BI-Datei zu erstellen markierst du in deinem QB-Programm alle DECLARE- und TYPE-Anweisungen. 
	Gehst auf BEARBEITEN und KOPIEREN.
| Abschnitt 8 | Wie erstelle ich eine BI-Datei? |  |  Dann gehst du auf DATEI und NEU. 
	Dort fügst du die soeben kopierten DECLARE-Anweisungen ein.
 Dann DATEI -> SPEICHERN UNTER. Dort gibst du den Namen für deine BI-Datei ein und speicherst das ganze.
	WICHTIG: schreibe .bi unbedingt dazu sonst speichert er es als BAS-Datei.
 Das wars dann auch schon.
	Jetzt hast du eine fertige QLB-Datei mit der dazugehörigen BI-Datei. Diese kannst du jetzt wie bei "Wie lade ich eine Bibliothek?" in deinem Programm verwenden.
 
 
 
Eine LIB-Datei entsteht wenn man mit QB eine Bibliothek erstellt. In ihr sind, genauso wie in der QLB-Datei, auch alle SUB's und FUNCTION's
	gespeichert. Aber QB kann mit einer LIB nichts anfangen, da eine LIB-Datei soetwas wie einen Zwischencode enhält.
| Abschnitt 9 | Was hat es mit der LIB-Datei auf sich? |  |  aber man kann mit ihr eine schöne andere Sache machen!
 Beispiel:
 Du hast eine Bibliothek erstellt die nur Grafik-SUB's enthält und eine 2. Bibliothek die nur Sound-Subs enthält.
 Du hast jetzt folgende Dateien: grafik.QLB, grafik.LIB, sound.QLB, sound.LIB
 So, und jetzt möchtest du ein Programm schreiben das sowohl grafik als auch sound benutzt und müßtest eigentlich
	2 Bibliotheken laden.
 ABER: Das Problem ist das man immer nur 1 Bibliothek laden kann.
 Also müßte man irgendwie aus 2 Bibliotheken 1 machen.
 Und dafür sind die LIB-Dateien da. Denn man kann aus mehreren LIB-Dateien eine neue QLB-Datei machen.
 
 
 
Diesen Befehl mußt du in der Befehlszeile eingeben:
| Abschnitt 10 | Wie erstelle ich eine QLB-Datei aus mehreren LIB-Dateien? |  |  
 LINK.EXE /QU erste.LIB + zweite.LIB + ... , namederneuenqlb.QLB, NUL , BQLB45
 
 Und schon hast du eine Bibliothek die sich aus mehreren LIB's zusammensetzt.
 WICHTIG: für andere QB-Versionen darf man nicht BQLB45 nehmen sondern muß dann die dazugehörige nehmen.
 TIP: wenn du Speicher sparen möchtest kannst du deine ganzen SUB's in einzelne LIB's tun und ein Programm schreiben
	das je nach Bedarf die jeweiligen LIB's/SUB's zu einer QLB-Datei zusammenfügt.
 Das nennt man dann ein Baukastenprinzip!
 
 
 
So ich hoffe das war ausführlich und verständlich genug. Wenn du weitere Fragen hast oder ich irgend etwas falsch beschrieben habe, dann
	Mail an Webmaster.
| Abschluss | letzte Aktualisierung: 11.07.2003 |  |  
 
 
 | 
 |  |