Microsoft QBasic är ett programmeringsspråk medföljer alla DOS -datorer och tillgängliga för nyare operativsystem på nätet . Liksom de flesta klassiska Basutförande , är språket inte avsedd för användning med moderna grafiska gränssnitt eller metoder för indata . Detta innebär att det inte finns några interna kommandon för att använda datormusen . QBasic kan använda assemblerkod för att komma runt denna begränsning , men så att du kan använda musen i dina egna program . Instruktioner
1
Skriv en subrutin för att styra muspekaren synlighet och läsa dess koordinater . Det ska ta en parameter som påverkar funktionen av subrutinen beroende på dess värde : 1 visar markören , 2 döljer och 3 uppdaterar de globala variablerna B , H och V. Dessa variabler lagra knappen staten , horisontell position och vertikala position markören . Definiera variabler och kontrollera om markören redan är dold , avstå från att gömma det igen om så är fallet . Denna första del av subrutinen bör se ut ungefär så här :
SUB Mouse (Par ) katalog
DELAD B , H , V
STATIC Markör
IF param = 1 THEN Markör = 1
IF Parameter = 2 och markör = 0 EXIT så SUB
p Om Parameter = 2 och markör = 1 THEN : Markör = 0
2
Ange assemblerkoden skyldiga att samverka med musen och spara knappen och ställning värden . Den andra delen av subrutin måste se exakt likadana ut följande till jobbet :
POKE 100 , 184 : POKE 101 , Parameter : POKE 102 , 0
POKE 103 , 205 : POKE 104 , 51 : POKE 105 , 137
POKE 106 , 30 : POKE 107 , 170 : POKE 108 , 10
POKE 109 , 137 : POKE 110 , 14 : POKE 111 , 187
POKE 112 , 11 : POKE 113 , 137 : POKE 114 , 22
POKE 115 , 204 : POKE 116 , 12 : POKE 117 , 203
CALL Absolute ( 100 ) katalog
B = PEEK ( & HAAA ) katalog
H = PEEK ( & HBBB ) + PEEK ( & HBBC ) * 256
V = PEEK ( & HCCC ) + PEEK ( & HCCD ) * 256
END SUB
3
Ring din subrutin i huvuddelen av din kod att använda musen . För att visa eller dölja markören anger antingen " Mouse 1 " eller " Mus 2 . " Ange " Mouse 3 " innan du gör något med variablerna B , H och V. Värdet av B varierar beroende på läget av musknapparna . Om B = 0 ingen knapp trycks ned , medan 1 innebär den vänstra knappen , betyder 2 rätt och 3 betyder båda .