Använda en mus i QBasic program



som alla som har programmerats med QBasic vet, det är en rolig, lätt och (för det är dags) ganska kraftfulla programmeringsverktyg! Visserligen är det ganska långsamt, men med tanke på att det har aldrig kostat ett öre, jag antar att det är en godtagbar eftergift. Som jag nämnde, QBasic inkluderar ett brett utbud av enkla, kraftfulla kommandon, även om det är en uppenbar brist är det är total avsaknad av mus stöd!

Under längst tid, hade jag ville hitta ett sätt att använda musen i min egen QBasic program. Medan jag så småningom hittade flera fina exempel på kod on-line som faktiskt gränssnitt med musen, verkade de alla mycket komplicerat för mig, med flera sub rutiner, funktioner och proceduranrop. Så jag bestämde mig att "koka ner allt" till metoden enklaste, bare-minst, och jag vet vad jag kom med är fortfarande det snabbaste och enklaste sättet att införliva mus funktionerna i ett program för QBasic!

Man skulle kunna tro av min kod som ett slags "svart låda" eller "plug-in" av olika slag; du helt enkelt kopiera min "Mus" sub rutin till programmet, och det ger omedelbart rudimentär mus stöd! Gränssnitt med musen sker sedan genom tre enkla funktioner; "Mus 1" visar muspekaren, "Mouse 2" döljer det igen, och "Mouse 3" läser musens aktuella knappen status också eftersom det är läge. Denna information lämnas till användarens program genom 3 globala variabler. "B" representerar musknapparna, "H" innehåller det är horisontella koordinater och "V" returnerar det är lodräta koordinater. För en 2-knappars mus, kommer variabeln "B" returnera följande värden:

VÄRDE:-KNAPPEN (S):
0 ingen
1 vänster
2 höger
3 båda

Följande är det faktiska mus kod segment som ger mus stöd:

''''''''''''''''''''''''''''''''''''''''''''''''''' Mouse Sub-program ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Detta delprogram ger mus stöd till QBasic program.
"Det anropas med en parameter, och utför följande:
"Mus 1 (visar muspekaren)
"Mus 2 (döljer muspekaren)
"Mus 3 (läser knappen status & koordinater)
'
"Anteckningar:
'
"Detta delprogram kräver Microsofts musdrivrutin (Mouse.com)
"eller motsvarande Dos-baserade musdrivrutin, som måste läsas in och
"kör före användning.
'
"Variabler B, H & V är globala, så vissa att inte skapa någon
"andra variabler av samma namn, eller om du måste ändra namn på dessa.
'
"Se till att dölja muspekaren innan du utför någon grafik
"funktion, eller annars någon grafik under markören kommer att bli förvrängd.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
SUB mus (Funk) "definiera sub & -parametern.
DELAD B, H, V ' dela variabler med huvudsakliga sub.
STATISKA Crsr "spåra om markören ska visas.
OM Funk = 1 då Crsr = 1 ' Visa markören.
OM Funk = 2 och Crsr = 0 då EXIT SUB "Dölj inte markören mer än en gång.
OM Funk = 2 och Crsr = 1 då: Crsr = 0 ' dölja markören.
PETA 100, 184: Peta 101, Funk: peta 102, 0 ' Poke maskinkod behövs för
PETA 103, 205: Peta 104, 51: peta 105, 137 "med musen i minnet
PETA 106, 30: Peta 107, 170: peta 108, 10 "börjar på offset 100 i den
PETA 109, 137: Peta 110, 14: peta 111, 187 ' aktuella segmentet. Denna kod är
PETA 112, 11: Peta 113, 137: peta 114, 22 "körs som en enhet, via den
PETA 115, 204: Peta 116, 12: peta 117, 203 "uttalande"Kallar absoluta".
SAMTAL Absolute(100) ' kallar maskinkod.
B = PEEK (& Hellström) ' få värden för knappar.
H = (PEEK(&HBBB) + PEEK (& HBBC) * 256) ' horisontellt läge (2 byte).
V = (PEEK(&HCCC) + PEEK (& HCCD) * 256) "vertikal position (2 byte).
END SUB "slutet av delprogram.

Följande påståenden bör vara de första två kommandon i alla program som använder den här koden:

DEFINT A-Ö
DEKLARERA SUB mus (Funk) "förklarar mus delprogram.

Tillsammans med detta instructable, jag har tagit prov program ("QBMOUSE. BAS") samt en"mall"av olika slag ("mus. SUB"), som innehåller mus sub rutin och en tom huvudprogrammet, där du vill ange en egen kod. Om du har några frågor, funderingar eller bara missnöjet om denna kod, är du välkommen att kontakta mig på; flurng jag välkomnar dina synpunkter, och jag hoppas du njuta av att skapa spännande nya mus-aktiverade QBasic program med hjälp av denna sub rutin.

När du är redo att börja, Läs vidare till första steg, och framför allt... Ha kul!

Se Steg
Relaterade Ämnen

Använda allmänt tillgängliga program för att manipulera bilder

professionella grafiska designers använder dyra program som Photoshop och Illustrator för att arbeta med bildfiler. Det finns fria alternativ som Gimp och Inkscape, de är underbara, men det finns fortfarande en brant inlärningskurva och de är verklig...

Ta bort virus utan att använda någon anti-virus program

Virus är ett datorprogram som kan kopiera sig själv och infektera datorer.Termen "virus" används felaktigt att hänvisa till andra typer av malware, inklusive adware och spyware-program som inte har den reproduktiva förmågan.En sann virus kan spr...

Använda en Xbox 360-handkontrollen som en mus

jag köpte först en Xbox 360-handkontrollen till använda med emulatorer. Jag upptäckte att inte bara utför uppgiften att imitera en SNES styrenhet beundransvärt, men med ett gratis program kan du använda det i stället för en traditionell mus. Medan de...

Använda en xbox 360-handkontroll som en mus

jag kommer att visa dig hur man ställer in din 360 controller för användning som en mus och hur man använder det för pc-spel istället för att använda en mus och tangentbord.Du behöver1.) en med sladd 360 controller eller en trådlös en med en adapter2...

Använda en Xbox 360-handkontrollen på OS X (fast + trådlös)

jag plockade upp Borderlands 2 för OS X i senaste ånga försäljning eftersom vänner till mig inte skulle hålla käften om spelet. Så jag sköt upp det bara för att få reda på att jag behövde använda ett tangentbord (massor av nycklar) + en mus (karpaltu...

Digital målning lektion 1: Grunderna i att använda en ritplatta

datorer har medfört förändringar i varje hörn av det moderna samhället. En av dessa hörn är konst. Internet är fullt av begreppet konst, skrivbordsunderlägg och många andra typer av bild som har dragits av vissa användare på en dator.När jag köpte mi...

Använda LEGO Mindstorm RCX ljussensor med Arduino (Program med Visuino)

I detta Instructable kommer du lära dig att programmera Arduino kontroll, och hämta data från LEGO Mindstorm RCX ljussensor med hjälp av Visuino - en enkel att använda grafiska utvecklingsmiljön för Arduino.Observera att anteckningen på några av bild...

Använda SSH och XMing Display X program från en Linux-dator på en Windows dator

om du använder Linux och Windows hemma, eller tvärtom, kan du ibland behöva logga in på datorn på andra plats, och köra program. Tja, kan du installera en X-Server, aktivera SSH Tunneling med din SSH-klient och en upp både VNC och fjärrskrivbord för...

Gör din egen U3 program använda Freeware

i detta Instructable var ska bygga U3 program med gratisprogrammet paketet fabriken vid HeurekaSteg 1: Få filer Vad du behöver:Paketet fabrikenFil att vända U3 (jag recemend ett program från här)En U3 kompatibel enhet (Im användande en sandisk cruzer...

Använda mobilen som en trådlös mus

Hej alla. I detta enkla projekt använder vi Arduino Leonardo för att kontrollera datorns mus. Använder en bluetooth-modul, som är kopplad till Arduino, har vi möjlighet att trådlöst ansluta den till en Android mobil så att vi kan använda telefonen so...

Använda pcDuino som en mus när dess anslutna till en dator via USB OTG-

i modem liv, våra händer är låsta av datorer. Kunde vi göra datorer smartare genom att utforma en bättre människa-dator gränssnitt? I denna handledning presenterar vi en lösning med pcDuino. Samla in gest signaler av olika Arduino kompatibla sensorer...

Webcam Motion Capture / använda en ficklampa som en mus

detta Instructable visar dig hur du ställer in din webbkamera så att du kan använda en ficklampa som en mus. Detta kommer att fungera bättre på natten men du kan fortfarande göra det under dagen.Steg 1: Vad du behöver:En webbkamera, eventuella webbka...

Använda datorn utan mus eller pekplatta!!!

Använda datorn utan mus eller pekplatta! - Klicka här för veckans roligaste filmen navigera och använda datorn utan mus eller tangentbord!!!, kanske din mus eller pekplatta på din bärbara dator är obrukbart eller kanske du glömmer att ta med dig... M...

10 steg till din egen logotyp i Inkscape (gratis) och använda kreativa marknaden for dummies som mig

HejLedsen för den långa titeln. Jag har några bekännelser också. Först är min ritning och konstruktionsarbeten färdigheter inte ens detsamma av en finger målare. Det andra tjäna jag inte pengar, så jag har alltid att göra saker som kan köpas, inklusi...

Hur utforma, skriva ut och använda 3D tryckt läder stämplar!

Remläder och producerar vackra och intrikata mönster för hand kan vara mycket utmanande. Har nu gjort flera läder projekt, jag har lärt mig mycket om att arbeta med läder och som sådan jag letar alltid efter nya och bättre sätt att producera mönster...

Hur att använda wiimote som en datormus med ljus som en sensor!

Denna guide om hur du ska koppla upp din Wii Remote (Wiimote) till datorn och använda den som en mus!Steg 1: Vad du behöverDetta är ganska enkelt att slutföra och du behöver bara följande:-Wiimote-Bluetooth-adapter-Ljus (eller sensor bar om du vill a...

Använda Lora sköld och RPi för att bygga en LoRaWAN gateway

Här använder vi Lora Shileld, MEGA2560 och Raspberry Pi för att bygga en enda kanal LoRaWAN gateway.LoRa Tekniken är en trådlös modulering för long-sortiment, låg effekt, låg-data-rate program. Att uppnå ett utbud av mer än 15 kilometer i en förorts...

Använda den MaKey MaKey för att göra DIY hjälpmedel för tillgång till dator

i detta Instructable kommer vi att titta på hur man använder en innovativ produkt som kallas den MaKey MaKey för att skapa anpassade, låg kostnad, DIY dator tillgång gränssnitt för användare med funktionshinder.Vad är en dator tillgång gränssnitt?En...

Papperskorgen till Treasure, använda spraypaint för att refinish curb-hitta möbler

Jag har velat göra en instructable länge men slutligen var motiverad av Krylon Spray paint tävlingen och ett skott på en Ipad. Eftersom detta är min första instructable jag ber om ursäkt om jag ströva. Det finns mycket jag vill lägga in i detta så ja...