|
AK-LIB
Hilfe
Vorwort
|
| |
Diese Seite soll eine Hilfe sein für alle die gerade mit der AK-LIB anfangen und nicht wissen wie man sie benutzt.
Es gibt aber auch Tipps für Fortgeschrittene. Wenn ihr spezielle Fragen habt dann könnt ihr sie mir per Mail schicken und ich werde sie hier mit reinstellen.
|
Wie kann ich die AK-LIB in QB benutzen?
| |
Damit man die AK-LIB in QB benutzen kann, benötigt man mindestens QB4.0/4.5 oder QB7.1/PDS/QBX.
In den Downloaddateien gibt es immer jeweils eine Version für die entsprechende QB-Version. Sie sind entsprechend gekennzeichnet.
Um die LIB in QB zu benutzen, gibt man anstatt "qb.exe" z.B. einfach "qb.exe /L ak14b.qlb" ein. Es öffnet sich nun QB mit einem leeren Fenster.
Nun kannst du alle Befehle die die LIB enthält so aufrufen als ob sie ein SUB wären. Also mit CALL. Eine Befehlsliste liegt jedem ZIP-Archiv bei.
Für weitergehende Informationen zu Bibliotheken siehe: Bibliotheken in QB
|
Das erste Programm mit der AK14b
| |
Hier ist ein Beispielprogramm welches verdeutlichen soll, auf welche Art und Weise Programme mit der AK-LIB programmiert werden. Hier beziehe ich mich auf die AK14b-Mischversion.
Befehl | Erklärung |
CALL XSCREEN (&H101) | Hiermit setzen wir einen Bildschirmmodus. In diesem Fall den Modus &H101. Dieser steht für eine Auflösung von 640x480 Pixeln mit 256 Farben. |
CALL XPSET (320,240,10) | Mit dem Befehl XPSET setzen wir einen Pixel an die Position 320,240 mit der Farbe 10 (Hellgrün bei Standardpalette) |
CALL XPOINT (320,240,f%) | Mit dem Befehl XPOINT fragen wir die Farbe des Pixels an der Position 320,240 ab. Da wir vorher einen Pixel mit der Farbe 10 an diese Stelle gesetzt haben, wird die 10 auch als Ergebnis in der Variable f% zurückgegeben |
CALL XCOLOR (14,1,0) | Mit dem Befehl XCOLOR setzen wir die Schriftfarbe. Der erste Wert ist die Textfarbe(hier 14, gelb), der zweite Wert ist die Hintergrundfarbe des Textes( hier 1, blau), der letzte Wert gibt an ob der Hintergrund des Textes übermalt werden soll oder ob der Text "transparent" sein soll. (hier 0 = Hintergrund übermalen, 1 = transparent) |
CALL XPRINT (0,0, STR(f%) ) | Mit dem Befehl XPRINT kann man pixelgenau einen Textstring auf den Bildschirm schreiben. Hier an Position 0,0. Dadurch das wir vorher die Farben mit XCOLOR festgelegt haben erscheint der Text nun Gelb auf Blau. |
Damit haben wir jetzt ein kleines Beispielprogramm welches erklärt wie programmiert wird.
Anmerkung: Alle Werte die an die SUB's übergeben werden und Zahlen sind, werden als Integer-Wert übergeben! Dies macht man dem Sub entweder mit einem "%" an der Variable klar oder man definiert die Variablen vorher so:
DIM variable AS INTEGER. Oder man schreibt an den Anfang seines Programmes ein DEFINT A-Z. Dann sind alle Variablen, wenn nicht anders definiert, Integer-Variablen.
|
Welche Nummer hat welcher Bildschirmmodus?
| |
Hier eine kleine Liste mit den Nummern der Bildschirmmodis.
Nummer | Auflösung | Bemerkung |
&H8 | 640x200 mit 16 Farben | benutzt eine Palette, QB-Mal-Befehle und LIB-Mal-Befehle können gemeinsam verwendet werden. |
&H9 | 640x350 mit 16 Farben | benutzt eine Palette, QB-Mal-Befehle und LIB-Mal-Befehle können gemeinsam verwendet werden. |
&H12 | 640x480 mit 16 Farben | benutzt eine Palette, QB-Mal-Befehle und LIB-Mal-Befehle können gemeinsam verwendet werden. |
&H13 | 320x200 mit 256 Farben | benutzt eine Palette, QB-Mal-Befehle und LIB-Mal-Befehle können gemeinsam verwendet werden. |
Nummer | Auflösung | Bemerkung |
&H12E | 320x200 mit 256 Farben | benutzt eine Palette |
&H131 | 320x240 mit 256 Farben | benutzt eine Palette |
&H100 | 640x400 mit 256 Farben | benutzt eine Palette |
&H101 | 640x480 mit 256 Farben | benutzt eine Palette |
&H103 | 800x600 mit 256 Farben | benutzt eine Palette |
&H105 | 1024x768 mit 256 Farben | benutzt eine Palette |
&H107 | 1280x1024 mit 256 Farben | benutzt eine Palette |
&H120 | 1600x1200 mit 256 Farben | benutzt eine Palette |
Nummer | Auflösung | Bemerkung |
&H10D | 320x200 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H132 | 320x240 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H110 | 640x480 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H113 | 800x600 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H116 | 1024x768 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H119 | 1280x1024 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H121 | 1600x1200 mit 32768 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
Nummer | Auflösung | Bemerkung |
&H10E | 320x200 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H133 | 320x240 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H11D | 640x400 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H111 | 640x480 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H114 | 800x600 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H117 | 1024x768 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H11A | 1280x1024 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
&H122 | 1600x1200 mit 65536 Farben | benutzt KEINE Palette, wird als HI-Color oder Pseudo-TrueColor bezeichnet |
Nummer | Auflösung | Bemerkung |
&H10F | 320x200 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H134 | 320x240 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H11E | 640x400 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H112 | 640x480 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H115 | 800x600 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H118 | 1024x768 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H11B | 1280x1024 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
&H124 | 1600x1200 mit 16,7M Farben | benutzt KEINE Palette, wird als TrueColor bezeichnet, verfügbar erst ab der AK16 |
Anmerkung: Es werden nicht alle Bildschirmmodis von allen Grafikkarten unterstützt!!! Das hängt mit der Größe des Grafikkartenspeichers, mit dem verwendeten VESA-Treiber und den Fähigkeiten des Monitors zusammen.
|
Wie kann ich ein Bild in mein Programm einbauen?
| |
Die AK-LIB unterstützt viele Bildformate. Welche dies sind steht in der jeweiligen Beschreibung der LIB-Version.
Hier der Code um eine BMP-Datei anzuzeigen:
CALL XSCREEN (&H101) '640x480x256c setzen
CALL SET.PICTURE (0,0,"bild.bmp") 'Bild anzeigen, 0,0 steht für die Koordiante des Bildanfangs in Pixeln
|
Wie kann ich die Maus benutzen?
| |
Folgendes Programm soll zeigen wie man die Maus verwendet. Dafür muß ein Maustreiber installiert sein.
CALL XSCREEN (&H101) '640x480x256c setzen
CALL XMOUSE ("ON",0,0,0) 'Mauszeiger einschalten
DO
CALL XMOUSE ("CTRL",t%,x%,y%)
'Mauszeiger kontrollieren lassen.
'Der Wert einer gedrückten Taste wird in t% zurückgegeben.
'Die Mauskoordianten in x% und y%.
LOOP UNTIL INKEY$=CHR$(27)
|
Kann ich mit der AK-LIB auch mehrere Schriftarten auf einmal verwenden?
| |
Um eine Schriftart zu laden benutzt man folgenden Befehl:
CALL LOAD.ARL ("font.arl")
Alle folgenden XPRINT-Anweisungen verwenden dann die zuletzt geladene Schrift.
Man kann dann zwischendurch natürlich eine andere Schrift laden. Alles was dann schon auf den Bildschirm geschrieben wurde, bleibt erhalten.
Die nach dem LOAD.ARL-Befehl kommenden XPRINT's benutzen dann die neue Schrift.
Wenn ihr, wie schon gesagt, noch Einsteiger und Fortgeschrittenen-Fragen habt, dann könnt ihr mir gerne eine Mail schreiben und ich füge die Antwort hier mit zu!
Bei Fragen, Wünschen oder Kritik:
Mail an Webmaster
|
|
|