begin process at 2012 05 28 21:54:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Comment utiliser la souris avec torbo c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment utiliser la souris avec torbo c

dimanche 1 juin 2008 à 16:32:20 | Comment utiliser la souris avec torbo c

ElSultan

salut!
je veux utiliser la souris dans un programme avec turbo C.
le principe que j'utilise est de subtituer le gestionnaire originale
de l'interruption 1C par mon gestionnaire de souris avec la syntaxe 
_dos_setvect(0x1C,gestionnaire);
Ainsi l'interruption 1C qui est génerer automatiquement chaque tick (1/18.2 secondes)
d'hologe exécutera ma fonction getionnaire dont le role est de verifier
 si on a appuyer sur un bouton de la souris.
Mais le programme se plante chaque fois au moment de changer
l'addresse qui se trouve dans le vecteur de l'interruption 1C ;
c'est à dire au niveau de l'instruction _dos_setvect(0x1C,gestionnaire);

Si quelqun voit quel est mon problème q'il m'aide.
Oubien si il y'a une autre solution pour integrer la souris à une application
avec turbo C je suis preneur.
dimanche 1 juin 2008 à 20:23:23 | Re : Comment utiliser la souris avec torbo c

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Autant commencer par le début : je n'ai jamais utilisé Turbo C.

Supposons que ce soit l'appel _dos_setvect(0x1C,gestionnaire) qui plante...

D'une manière générale, une fonction plante quand on lui passe des arguments incorrects, ou lorsque l' "environement" n'est pas près pour l'exécution de cette fonction.

Globalement, ce que doit faire ta fonction, c'est mettre en place Gestionnaire, autrement dit une adresse, à un endroit qui dépend du premier argument, qui est très certainement valide dans ton cas.

Il y a de bonne chance pour que le fait de mettre 12 ou gestionnaire en deuxième argument ne soit pas plus suceptible qu'autre chose de faire planter ton programme. Tout ce que peut faire la fonction pour s'assurer de la validité du deuxième argument, c'est lire quelques octets à cette adresse, ce qui serait mal élevé. Pour que le deuxième argument passe si c'est lui qui pose problème, il faut s'assurer qu'il a le bon prototype comme définit un peu plus bas.

Donc je ne pense pas une seconde que ce soit _dos_setvect qui plante.

Je soupçonne par contre fortement que le problème se situe 1/18.2 secondes plus tard...

Le code ci-dessous, inspiré de ça, devrait passer sans problème, et te permettra de t'assurer que la fonction marche très bien.

#include "dos.h"

void _interrupt _far Gestionnaire(void)
{

}

void (_interrupt _far *old_isr)();   // Sauvegarde de l'ancien ISR

void main(void)
{
  // Sauvegarde du isr courant
  old_isr = _dos_getvect(0x1C);        

  // Mise en place de notre handler 
  _dos_setvect(0x1C, Gestionnaire);     

  // Remise en place du vieux isr
  _dos_setvect(0x1C, old_isr);

  exit(0);
}



Cette discussion est classée dans : utiliser, gestionnaire, souris, interruption, 1c


Répondre à ce message

Sujets en rapport avec ce message

Probleme de souris en 1024*768 [ par desteny ] Bonjour !Je suis en train de develloper un modeleur 3D et je dois le faire en 1024*768 et 256 couleur le tout sous borland 5.02 en C (pas de C++), mon Déplacement d'un perso(allegro) ac la souris [ par MRick571 ] Salut, j'aurai b'soin d'aide : à la souris sur allegro je sais pas comment faire pour déplacer le personnage, je m'explique :J'ai coder mon prog pour utiliser le double clic de la souris pour afficher une dialogbox [ par izle ] IzLe,Bonjour, je voudrais utiliser le double clic de la souris pour ouvrir une boite de dialog, je voudrais également conserver la position du cursor Comment utiliser le clic gauche de la souris dans son application? en C++, console Win32 [ par ndubien ] Bonjour, Je cherche à savoir comment utiliser le clic gauche de la souris lors de l'execution de mon programme.Je m'explique : je dispose d'un utiliser la souris en mode console [ par chezeu ] Bonjour je travaille sur dev c++ g voudré savoir cmt utiliser la souris sur l'ecran d'éxécution en mode console click souris [ par c2millet ] Bonjours a tous,Je voudrais positionner mon curseur au milieu de ma fenetre et générer un click .je c qu'il faut utiliser la fonction SetCursorPos pou Utiliser la souris avec VC++ [ par LordX1 ] Bonsoir,Je suis entrain de créer une calculatrice qui vérifie surtout les expréssions si elles sont bien ecrite déjà et j'aimerai pouvoir utiliser la Utiliser fonction PtInRegion en C [ par mimile87 ] Bonjour à tous.Je voudrais savoir s'il était possible d'utiliser la fonction PtInRegion en C et comment (lib, includes...)... Pour l'instant je l'ai v sdl_showcursor [ par Shirubaino ] Bonjour, Travaillant actuellement sur un projet de groupe en C++, nous avons décider d'utiliser SDL pour le graphique (on fait un bomberman). Cependa Mode texte plein écran & Utilisation Souris [ par boudla ] Bonjour,Je suis débutant en ce qui concerne la programmation C, et ma question se décompose en 2 parties;1 : J'aimerais savoir comment faire pour lanc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales