IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

[TP] L'unité souris : comment ça marche ?


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [TP] L'unité souris : comment ça marche ?
    Bonjour
    Ces temps-ci, je suis en tarin de faire un programme de gestion (c'est pas trop important). Cependant, je voulais intégrer la souris à mon programme.

    J'ai téléchargé l'unité souris proposée par haypo (je programme sous turbo pascal). Cependant, je n'ai pas vu de fonction ou procédure me permettant de gérer un click. Je m'explique.

    En fait j'ai un menu composé, par exemple, de : historique, mouvement, quitter.
    Alors, au lieu de dire à l'utilisateur "appuyer sur telle touche pour accéder à tel menu, je voulais qu'il clique lui-même sur un menu pour que celui-ci s'ouvre...

    Dans mon programme, la souris apparaît, elle bouge mais elle ne fait rien.
    Comment puis-je faire pour que, en cliquant sur historique par exemple, il exécute toutes les instructions liées à historique ?

    J'espère avoir eté clair dans mon explication et je vous remercie d'avance.

  2. #2
    Membre éclairé Avatar de Tuxico
    Profil pro
    Étudiant
    Inscrit en
    Août 2003
    Messages
    662
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2003
    Messages : 662
    Points : 770
    Points
    770
    Par défaut
    tu dois passer par l'assembleur et l'interruption 33h si je ne me trompe Fais un tour dans la faq pascal/assembleur

    en gros

    pour récupérer les coordonées de la souris la souris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    uses 
      dos;
     
    var
      Reg: Registers;
      X, Y: Integer;
     
    begin
      Reg.ax := 3;
      Intr($33, Regs);
      X := Regs.cx;
      Y := Regs.dx;
      writeln(X);
      writeln(Y);
    end.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    et pour faire un click comment je fais ?

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 968
    Points : 59 743
    Points
    59 743
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Il faut fournir au pilote de souris l'adresse d'une routine de traitement des événement souris. Il s'agit de la fonction 000Ch ou 0018h de l'interruption 33h.

    Par exemple, une routine qui serait appelée en cas de clic : à chaque appel par le pilote de la souris, la routine pourrait mettre à jour un drapeau dans ton programme.

    Mais j'ignore tout de l'unité de Haypo donc ce qui précède n'est peut-être pas adapté.

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    un très bon livre est "PC Source book"
    on trouve quelques fonctions de l'interruption 33h sur

    http://membres.lycos.fr/comufiles/in...ga3/souris.htm

    Attention : si les fonctions sont standardisées, certaines n'existent que pour des drivers de version >= à une certaine valeur.
    Avant d'appeler une fonction, il est prudent de demander la version du driver et s'assurer qu'il gère la fonction que l'on souhaite exécuter

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 22h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 13h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 20h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 01h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo