Mit der Maus in QBasic-Programme


da wer mit QBasic programmiert hat, weiß, es ist ein Spaß, einfach und (für die es an der Zeit) sehr mächtig Programmier-Tool!   Zugegeben, es ist eher langsam, aber angesichts der Tatsache, dass es nie einen Cent gekostet hat, ich nehme an, dass eine akzeptable Konzession.  Wie bereits erwähnt, QBasic umfasst ein breites Spektrum von einfachen, leistungsfähigen Befehlen, obwohl es ein eklatantes Manko ist ist es völlige Fehlen von Maus-Unterstützung!

Für die längste Zeit wollte ich einen Weg finden, in meiner eigenen QBasic-Programme mit der Maus.  Während ich schließlich einige schöne Beispiele der Code Online, die in der Tat mit der Maus-Schnittstelle gefunden, Schienen sie alle sehr kompliziert für mich, mit mehreren Sub-Routinen, Funktionen und Prozeduren aufgerufen.  Also, habe ich beschlossen, "es kochen alle nach unten an die einfachsten, bare-Minimum-Methode", und meines Wissens, was kam ist immer noch der schnellste und einfachste Weg, Mausfunktionen in QBasic-Programm zu integrieren!

Man denke an meinen Code als eine Art "Black Box" oder "Plug-in" Art;  Sie kopieren einfach meine "Maus" Sub-Routine in Ihr Programm, und es sofort bietet rudimentäre Mausunterstützung!  Schnittstellen mit der Maus erfolgt dann durch drei einfache Funktionen; "Maus 1" zeigt den Maus-Cursor, "Maus 2" Felle es wieder, und die "Maus 3" liest die Maus Taste Stand so gut wie es ist.  Diese Informationen werden an das Anwenderprogramm durch 3 globale Variablen mitgeteilt; "B" steht für die Maustasten, "H" enthält horizontale Koordinaten und "V" zurückgibt, ist es vertikal koordiniert.  Für eine 2-Tasten-Maus wird die Variable "B" die folgenden Werte zurück:

WERT: TASTE (S):
0                                      None
1                                       Left
2                                       Right
3                                       Both

Dies ist das eigentliche Maus Codesegment, das Mausunterstützung bietet:

''''''''''''''''''''''''''''''''''''''''''''''''''' Mouse Sub-program  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Dieses Unterprogramm Maus unterstützt QBasic-Programme.
"Es wird mit einem Parameter aufgerufen und führt wie folgt:
"Maus 1 (Mauszeiger zeigt)
"Mouse 2 (Häute Mauszeiger)
"Maus 3 (liest Schaltfläche Status & Koordinaten)
'
"Notizen:
'
' Dieser Sub-Programm erfordert Microsoft Maustreiber (Mouse.com)
"oder eine gleichwertige Dos-basierten Mouse-Treiber, die geladen werden muss und

"läuft vor dem Gebrauch.
'
"Variablen B, H & V sind global, also sicher nicht zu erstellen
"andere Variablen den gleichen Namen, oder Sie müssen diese umbenennen.
'
"Achten Sie darauf, den Mauszeiger zu verstecken, vor der Durchführung jeder Grafik
"Funktion, sonst keine Grafiken unter dem Cursor werden verstümmelt werden.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
SUB-Maus (Funk) "Sub & übergebenen Parameter zu definieren.
FREIGEGEBENE B, H, V ' Variablen mit wichtigsten Untergruppen teilen.
STATISCHE Crsr "verfolgen, ob Cursor angezeigt wird.
IF Funk = 1 dann Crsr = 1 ' Cursor zeigen.
IF-Funk = 2 und Crsr = 0 dann EXIT SUB ' Cursor nicht mehr als einmal verstecken.
IF Funk = 2 und Crsr = 1 THEN: Crsr = 0 ' Cursor ausblenden.
POKE 100, 184: POKE 101, Funk: POKE 102, 0 ' Poke Maschinencode für notwendig
POKE 103, 205: POKE 104, 51: POKE 105, 137 "mit der Maus in den Speicher
POKE 106, 30: POKE 107, 170: POKE 108, 10 ' beginnend bei offset 100 in der
POKE 109, 137: POKE 110, 14: POKE 111, 187 ' aktuelle Segment.  Dieser Code ist
POKE 112, 11: POKE 113, 137: POKE 114, 22 ' dann ausgeführt als Einheit, über die
POKE 115, 204: POKE 116, 12: POKE 117, 203 "Anweisung"Absolute nennen".
CALL Absolute(100) ' nennen Maschinencode.
B = PEEK (& HAAA) "erhalten Sie Werte für Schaltflächen.
H = (PEEK(&HBBB) + PEEK (& HBBC) * 256) "horizontale Position (2 Byte).
V = (PEEK(&HCCC) + PEEK (& HCCD) * 256) "senkrecht (2 Byte).
END SUB ' Ende Unterprogramm.

Die folgenden Anweisungen sollten die ersten beiden Befehle in einem beliebigen Programm dieser Code verwendet:

DEFINT A-Z
Deklarieren Sie SUB-Maus (Funk) "deklarieren Maus Unterprogramm.

Zusammen mit diesem instructable, ich ein Beispielprogramm ("QBMOUSE. enthalten BAS") sowie eine"Vorlage"Art ("Maus. SUB"), die enthält die Maus Sub-Routine und eine leere Hauptfenster des Programms, wo Sie Ihren eigenen Code eingeben würden.   Sollten Sie Fragen, Anliegen oder nur Beschwerden über diesen Code haben, bitte zögern Sie nicht mich zu kontaktieren; Flurng ich begrüße Feedback, und ich hoffe Sie genießen Sie spannende neue Maus-fähigen QBasic-Programme mit Hilfe dieser Sub-Routine zu schaffen.

Wenn Sie beginnen möchten, lesen Sie mit dem ersten Schritt, und vor allem... Haben Sie Spaß!

In Verbindung stehende Artikel

Ändern Sie mit der Maus LED Farbe!

Ändern Sie mit der Maus LED Farbe!

Haben Sie eine optische Maus? Müde von der eintönigen regelmäßige rote Farbe aus dem Boden? Dies ist ein super einfach Hack ändern Sie die Farbe Ihrer Maus!Schritt 1: ErsatzteileUm dieses Projekt zu beenden, müssen SieEine Maus (optisch, nicht analog
Machen Sie mit der Maus zur besseren Kontrolle schwerer

Machen Sie mit der Maus zur besseren Kontrolle schwerer

ist Ihre Maus ans Licht? Wenn Sie Videospiele spielen, fühlt es sich unnatürlich? um Ihr Spielerlebnis zu verstärken, gehen Sie folgendermaßen vor um machen es so schwer, wie Sie wollen...Schritt 1:Schritt 2: Zunächst einmal, ziehen Sie die Maus.Find
Hinzufügen von Schaltflächen auf der Maus

Hinzufügen von Schaltflächen auf der Maus

Ich Spiele seit FPS Spiele auf meinem PC für eine Weile jetzt, und ich fand mich häufig benötigen mehr Tasten auf meiner Maus. Das ist, warum ich auf einmal eine Logitech G9 gekauft, aber in einigen Spielen sogar die Knöpfe auf der extra 4, schien ei
Laserschneiden für Absolute Anfänger: Custom Lasercut-Anhänger mit der Magie des Internets (oder: eine sehr einfache Einführung in Adobe Illustrator)

Laserschneiden für Absolute Anfänger: Custom Lasercut-Anhänger mit der Magie des Internets (oder: eine sehr einfache Einführung in Adobe Illustrator)

haben Sie sich jemals gewünscht, eines dieser Laser ausgeschnitten Halsketten Lust, aber Sie besitzen ein Laser-Cutter nicht oder wissen, wie man Design-Software verwenden?  Dies ist dein Glückstag, mein Freund.  Ich werde Ihnen beibringen, alles, wa
Mit der rechten Maustaste mit einem MacBook

Mit der rechten Maustaste mit einem MacBook

The Apple MacBook ist eines der großen Wunder der Neuzeit. Sie können Bilder bearbeiten, erstellen Sie Dokumente und Vorform gut, dabei noch gut aussehen. Aber das erste Mal ich habe das MacBook, ich bemerkte eine Sache: Es gab keine Möglichkeit, ohn
Steuerung eines RepStrap mit der Verarbeitung

Steuerung eines RepStrap mit der Verarbeitung

diese instructable zeigt, wie Sie vielen frei verfügbare Projekten zusammen, um eine interessanteste und komplexe System zu bauen. Es stützt sich auf verschiedene Community-Projekte, einschließlich: RepRap, Arduino, Verarbeitung, Linux und natürlich
Eine Tischplatte, die ermöglicht die bequeme Erweiterung arbeiten mit der Computermaus

Eine Tischplatte, die ermöglicht die bequeme Erweiterung arbeiten mit der Computermaus

Dieses Projekt begann als ein Versuch zur Lösung eines Problems zu unserem Freund Omri. Omri hat ALS und er benutzt einen Rollstuhl, seine Mobilität eingeschränkt ist, weil seine Muskeln kaum funktionieren. Computer ist seine primäre Arbeitsgerät, du
Ihr Chipkit dp32 Programmierung mit der Arduino IDE

Ihr Chipkit dp32 Programmierung mit der Arduino IDE

ChipKIT Boards haben in der Regel weit mehr Speicher und Rechenleistung als viele Arduino Boards, und infolgedessen sind sie so viel besser zu manipulieren Daten.Auf der anderen Seite ist der Arduino IDE leicht zu bedienen und zu verstehen.So konnte
Programmierung mit der Arduino IDE auf deinem Board ChipKIT Dp32

Programmierung mit der Arduino IDE auf deinem Board ChipKIT Dp32

Diese Anleitung zeigt, wie der Arduino IDE einrichten, so dass es verwendet werden kann, die ChipKIT dp32 -Mikrocontroller zu programmieren.Schritt 1: Download und Installation der Arduino IDE Dieser Schritt ist für diejenigen, die der Arduino IDE in
Erste Schritte mit der ATMega328P

Erste Schritte mit der ATMega328P

Im Internet der Dinge -Satz verbinden Menschen auf der ganzen Welt ihre Sachen – Fernseher, Haustiere, auch Zimmerpflanzen - auf das Internet und alle Arten von Daten übertragen.Wenn Sie ein Teil dieser Bewegung sein, oder im kreativen Prototyping au
Proclipsing: Mit der Eclipse IDE für die Bearbeitung von Projekten

Proclipsing: Mit der Eclipse IDE für die Bearbeitung von Projekten

Verarbeitung ist ein fantastisches Werkzeug für das erhalten nicht-Programmierer mit Programmierung vertraut. Damit erstellen Sie ganz einfach interaktiven Grafikanwendungen und vieles, vieles mehr. Seine Stärke ist, dass es gebrauchte Cross-Plattfor
Erste Schritte mit der ESP8266 ESP-01

Erste Schritte mit der ESP8266 ESP-01

Die ESP8266 ESP-01 ist ein WLAN-Modul, Mikrocontroller Zugriff auf ein Wi-Fi-Netzwerkermöglicht. Dieses Modul ist eine eigenständige SOC (System On ein Chip), das muss nicht unbedingt einen Mikrocontroller zu manipulieren, Eingänge und Ausgänge wie g
Machen super Ausschneiden Papierkarten und Geschenke mit der Silhouette Portrait Schneidemaschine

Machen super Ausschneiden Papierkarten und Geschenke mit der Silhouette Portrait Schneidemaschine

Wir haben kürzlich eine Silhouette Portrait Schneidemaschine im Rahmen des Programms Instructables bauen Nacht. Es ist ein Handwerk Wunder! Ich finden immer neue Einsatzmöglichkeiten für sie. Hier werde ich zeigen, wie coole Bilder aus geschnittenen
Aufkleber mit der GraphTec Schneideplotter

Aufkleber mit der GraphTec Schneideplotter

Eine Vektor- oder Bitmap-Bild nehmen und daraus eine Vinyl-Sticker mit der GraphTec Schneideplotter. In diesem Fall verwenden wir einige Herzen Labyrinth stock Bild, was ich aus dem Internet gestohlen. Holen Sie sich Ihr eigenes Bild (schwarz / weiß