Pendant très longtemps, je voulais trouver un moyen d’utiliser la souris dans mes propres programmes QBasic. Alors que j’ai finalement trouvé plusieurs exemples de code en ligne qui a fait en fait l’interface avec la souris, ils semblaient tous très compliqués pour moi, avec plusieurs sous-programmes, les fonctions et les appels de procédure. Alors, j’ai décidé de « faire bouillir tout en bas » à la méthode plus simple, nu-minimum, et à ma connaissance, ce que je suis venu avec demeure le moyen plus rapide, plus facile d’intégrer des fonctions de la souris dans un programme QBasic !
On pourrait penser de mon code comme une sorte de « boîte noire » ou « plug-in » de toutes sortes ; vous copiez simplement mon sous-programme « Souris » dans votre programme, et il fournit immédiatement un support souris rudimentaire ! Interfaçage avec la souris est alors accomplie par le biais de trois fonctions simples ; « Souris 1 » montre le curseur de la souris, les cuirs « 2 de la souris » à nouveau, et « La souris 3 » lit bouton d’avancement de la souris aussi bien comme c’est l’emplacement. Cette information est communiquée au programme de l’utilisateur par le biais de 3 variables globales ; « B » représente les boutons de la souris, « H » contient c' est horizontal coordonne et "V" renvoie les coordonnées verticales. Pour une souris à 2 boutons, la variable « B » retourne les valeurs suivantes :
VALEUR : APPUIE SUR LE BOUTON (S) :
0 None
1 Left
2 Right
3 Both
Ce qui suit est le segment de code réel souris qui assure le support de la souris :
''''''''''''''''''''''''''''''''''''''''''''''''''' Mouse Sub-program ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
« Ce sous-programme fournit le support de la souris aux programmes QBasic.
« Il est appelé avec un paramètre et exécute comme suit :
' 1 souris (curseur de la souris montre)
' 2 souris (curseur de la souris se cache)
« Souris 3 (état de bouton de lectures et coordonnées)
'
"Notes :
'
« Ce sous-programme requiert un pilote de souris Microsoft (gzip.exe)
« ou encore un pilote équivalent souris sous DOS, qui doit être chargé et
« en cours d’exécution avant de l’utiliser.
'
' Les variables B, H et V sont globales, donc certains à ne pas créer un
' autres variables de même nom, ou vous doivent re-nommer ces.
'
"N’oubliez pas de cacher le curseur de la souris avant d’effectuer n’importe quel graphique
' fonction, sinon tous les graphiques sous le curseur vont être brouillé.
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
VOID souris (Funk) ' Define sub & paramètre passé.
COMMUNE B, H, V ' partager des variables avec arrivent-ils.
Public STATIC RSCCR ' suivre si le curseur s’affiche.
IF Funk = 1 THEN RSCCR = 1 ' montrer le curseur.
Funk IF = 2 et RSCCR = 0 THEN EXIT SUB ' ne masquez le curseur de plus d’une fois.
IF Funk = 2 et RSCCR = 1 THEN : RSCCR = 0 ' masquer le curseur.
POKE 100, 184 : 101 POKE, Funk : 102 POKE, 0 ' Poke code machine nécessaire pour
POKE 103, 205 : POKE 104, 51 : POKE 105, 137 ' à l’aide de la souris dans la mémoire
POKE 106, 30 : POKE 107, 170 : POKE 108, 10 ' commençant à offset 100 dans le
POKE 109, 137 : POKE 110, 14 : POKE 111, 187 ' segment actuel. Ce code est
POKE 112, 11 : POKE 113, 137 : POKE 114, 22 ' puis exécuté en tant qu’unité, via le
POKE 115, 204 : POKE 116, 12 : POKE 117, 203 "instruction « Call absolue ».
APPEL Absolute(100) ' appeler du code machine.
B = PEEK (& HAAA) ' obtenir des valeurs pour les boutons.
H = (PEEK(&HBBB) + PEEK (& HBBC) * 256) ' position horizontale (2 octets).
V = (PEEK(&HCCC) + PEEK (& HCCD) * 256) ' position verticale (2 octets).
END SUB ' fin du sous-programme.
Les instructions suivantes doivent être les deux premières commandes dans n’importe quel programme qui utilise ce code :
DEFINT A-Z
DECLARE SUB souris (Funk) ' sous-programme déclarer la souris.
Parallèlement à cela instructable, j’ai inclus un exemple de programme ("QBMOUSE. BAS") ainsi que d’un"modèle"de toutes sortes"(souris. SOUS"), qui contient la routine sous la souris et un programme principal vide, où vous devez entrer votre propre code. Si vous avez des questions, préoccupations ou des saisines justes au sujet de ce code, n’hésitez pas à communiquer avec moi au ; flurng je me réjouis de tout commentaire et j’espère que vous profitez de création d’excitantes nouvelles souris QBasic aux programmes compatibles avec l’aide de ce sous-programme. Lorsque vous êtes prêt à commencer, lu à la première étape et surtout... Amusez-vous!