Programmation en Qbasic

Résolu
Bonjour,
J'aimerai savoir une programmation en Qbasic pour pourvoir affichier la souris en mode écran .
Au revoir

3 réponses

  1. Bonjour ,
    Voici la programmation :
    DEFINT A-Z
    '$INCLUDE: 'qb.bi'
    
    
    DECLARE SUB Mouse (M0%, M1%, M2%, M3%)
    DECLARE SUB MouseOn ()
    DECLARE SUB MouseOff ()
    DECLARE SUB HideMouse ()
    DECLARE SUB ShowMouse ()
    DECLARE SUB GetMXY (mx%, my%)
    DECLARE SUB SetMXY (mx%, my%)
    DECLARE SUB MBorders (x%, y%, h%, v%)
    DECLARE FUNCTION MBtn% ()
    DECLARE FUNCTION MouseActive% ()
    
    
    SUB GetMXY (x, y) STATIC
      Mouse 3, 0, x, y                      'get GRAPHIC coordinates
      x = (x / 8) + 1                       'convert to TEXT coordinates
      y = (y / 8) + 1
    END SUB
    
    SUB HideMouse STATIC
      call Mouse (2, 0, 0, 0)
    END SUB
    
    
    SUB MBorders (x, y, h, v) STATIC
      Mouse 7, 0, (x - 1) * 8, (h - 1) * 8
      Mouse 8, 9, (y - 1) * 8, (v - 1) * 8
    END SUB
    
    FUNCTION MBtn% STATIC
      Mouse 3, Buttons, 0, 0
      MBtn% = Buttons
    END FUNCTION
    
    SUB Mouse (M0%, M1%, M2%, M3%) STATIC
      DIM InRegs AS RegType, OutRegs AS RegType
      InRegs.ax = M0%
      InRegs.bx = M1%
      InRegs.cx = M2%
      InRegs.dx = M3%
      CALL INTERRUPT(51, InRegs, OutRegs)
      M0% = OutRegs.ax
      M1% = OutRegs.bx
      M2% = OutRegs.cx
      M3% = OutRegs.dx
    END SUB
    
    FUNCTION MouseActive% STATIC
      DEF SEG = 0
      mseg% = 256 * PEEK(51 * 4 + 3) + PEEK(51 * 4 + 2)
      moff% = 256 * PEEK(51 * 4 + 1) + PEEK(51 * 4)
      IF mseg% OR moff% THEN
        DEF SEG = mseg%
        IF PEEK(moff%) = 207 THEN
          MouseActive% = 0
        ELSE
          MouseActive% = -1
        END IF
      ELSE
        MouseActive% = 0
      END IF
      DEF SEG
    END FUNCTION
    
    SUB MouseOff STATIC
      Mouse 0,0,0,0
    END SUB
    
    
    SUB MouseOn STATIC
      Mouse 0, 0, 0, 0                      
      Mouse 1, 0, 0, 0                      
    END SUB
    
    SUB SetMXY (x, y) STATIC
      Mouse 4, 0, (x - 1) * 8, (y - 1) * 8
    END SUB
    
    SUB ShowMouse STATIC
      Mouse 1, 0, 0, 0
    END SUB

    Source : https://support.microsoft.com/en-us/help/37882
    1. Contributeur sécurité
      Bonjour à tous,

      c'est un post qui est beaucoup plus drôle quand on sait que l'aideur et l'aidé tapent sur le même clavier :

      http://www.commentcamarche.net/forum/affich 5160106 que ce que c est l utilisateur antonyme#4
      1. Bonjour gernal
        Merci avant tout ,
        J'ai utilisé cette programmation mais l'erreur 35 apparaît .
        Mon QB est QB 4.5 FR
        Veuillez à mon aide .
        1. Bonjour ,
          Ouvrez QB en ajoutant "/L" à la base .
          Si tu n'es pas un éxpert .
          Créez un raccourci à QB.
          Cliquez sur lui par le bouton droit de la souris.
          Dans l'onglet Cible , ajoutez "/L".
        2. @gernalBonjour ,
          Ca fonctionne . Mais , quand j'ouvre QB directement et j'écris la syntaxe l'erreur rapparaît .
          Merci d'aide .
        3. @baverstarBonjour , utilise le raccourci désormais en entrant .
        4. @gernalMerci Gernal , maintenant je mets le status "Résoulu"
          @+