Position de la souris en C

Position de la souris en C - Programmation

Marsh Posté le 12-04-2001 à 05:36:07    

void aff_pos_souris(void)
{
   int mouse_x;
   int mouse_x1;
   int mouse_y;
   int mouse_y1;
   union REGS reg;
   reg.x.ax = 0x03;
   int86(0x33, ®, ®);
 mouse_x = (reg.x.cx / 16) + 48;
   mouse_x1 = (reg.x.cx / 64) + 48;
   mouse_y = (reg.x.dx / 16) + 48;
   mouse_y1 = (reg.x.dx / 8) + 48;
   affiche_car(3, 69, bleu, green, mouse_x);
   affiche_car(3, 70, bleu, green, mouse_x1);
   affiche_car(3, 75, bleu, green, mouse_y);
   affiche_car(3, 76, bleu, green, mouse_y1);
}
 
J'essaye de faire afficher les coordonnées de la souris en MS-DOS. Quand la coordonné serait 1, je reçois le CARACTÈRE ascii 1 ( le petit :) ) ... pouvez-vous m'aidez ?

Reply

Marsh Posté le 12-04-2001 à 05:36:07   

Reply

Marsh Posté le 12-04-2001 à 06:31:17    

et tu veux afficher le chiffre 1?
Un sprintf(buffer, "%i", mouse_x) serait le bienvenu.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-04-2001 à 06:34:14    

Non ... dsl je me suis mal expliqué. Je veux pouvoir afficher les coordonnées de la souris à l'écran d'après le code que j'ai.

Reply

Marsh Posté le 12-04-2001 à 13:51:58    

Allez un ptit effort !

Reply

Marsh Posté le 12-04-2001 à 13:59:03    

allez poussez les gars sa va sortir !!!
 
que veux tu de plus Un4GivN ?

Reply

Marsh Posté le 12-04-2001 à 14:05:35    

Je veux une procédure qui affiche les coordonnées de la souris en C en se basant principalement sur les interruptions et de préférence n'utiliser que <dos.h>.
Ce que je ne comprend pas c'est quand j'appelle l'interruption, je reçois les caractères ascii au lieu des nombres et je ne sais pas comment les convertir.

Reply

Marsh Posté le 12-04-2001 à 15:36:55    

Si vous plait !!! Aidez mwa..

Reply

Marsh Posté le 12-04-2001 à 16:32:59    

LAISSEZ FAIRE ! J'ai trouvé...
void aff_pos_souris(void)
{
   int mouse_x;
   int mouse_x1;
   int mouse_y;
   int mouse_y1;
   union REGS reg;
   reg.x.ax = 0x03;
   int86(0x33, ®, ®);
   reg.x.cx = reg.x.cx / 8;
   reg.x.dx = reg.x.dx / 8;
 mouse_x = (reg.x.cx / 10) + 48;
   mouse_x1 = (reg.x.cx %10) + 48;
   mouse_y = (reg.x.dx / 10) + 48;
   mouse_y1 = (reg.x.dx %10) + 48;
   affiche_car(3, 69, bleu, green, mouse_x);
   affiche_car(3, 70, bleu, green, mouse_x1);
   affiche_car(3, 75, bleu, green, mouse_y);
   affiche_car(3, 76, bleu, green, mouse_y1);
}
Ca marche super bien :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed