Newsgroup: it.comp.lang.c
Titolo: ho un problema con il mouse in c

ciao a tutti, a scuola mentre smanettavo con il c, mi sono ritrovato un
errore che nn capisco!!!mi dice che nn riesce a scrivere nella scrittura
della stampante...e io nn sapevo dove metterci le mani!!!!il mio
proff...lasciamo stare!!!!il mouse è insieme
all'orologio!!!!naturalmente devo vedere dove si trova il puntatore che
stampo, il tasto premuto e l'ora,tutto nello stesso momento...ora vi
lascio il listato, spero sapreste darmi una mano; cmq grazie lo stesso
per l'interessamento.
qui il listato : 
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
#include <stdlib.h>
#include <process.h>
#include <math.h>
unsigned mouse_installato(void);
int mousex (void);
int mousey (void);
int pulsante_mouse (void);
void mouseon (void);
void mouseof (void);
int in_graf();
int xbordo,ybordo;
struct REGPACK INTERRUPT;
static unsigned long int time_diff(void);
static struct time current_time;
static struct time start_time;
main (void)
{
int c, esc;
int x,y,p,g,xpre,ypre;
char pippo[30];
char ch;
clrscr();
g=in_graf();
mouse_installato();
mouseon();
xpre=-1;
ypre=-1;
do
  {
   x=mousex();
   y=mousey();
   p=pulsante_mouse();
   if (p==1)
     {
      gotoxy(10,10);					/*qui stampo il tasto!!!!*/
      printf("TASTO SINISTRO");
      gotoxy(10,11);
      printf("INDIRIZZO : %p",p);
     }
   if (p==2)
     {
      gotoxy (10,10);
      printf("TASTO DESTRO");				/*idem come sopra*/
      gotoxy(10,11);
      printf("INDIRIZZO : %p",p);
     }
   if(p==0)
     {
      gotoxy(10,10);
      printf("                  ");
      gotoxy(10,11);
      printf("                  ");
     }
   if (p==4)
     {
      gotoxy(10,10);
      printf("TASTO CENTRALE");				/*idem come sopra*/
      gotoxy(10,11);
      printf("INDIRIZZO : %p",p);
     }
   if(xpre!=x && ypre!=y)
     {
      clearviewport();
      sprintf(pippo,"%d : %d",x,y);			/*qui stampo la posizione del
mouse!!!*/
      outtextxy(100,100,pippo);
      xpre=x;
      ypre=y;
     }
   textcolor (WHITE);
   esc=0;
   gettime(&start_time);
   gotoxy(25,25);
   printf("ora : %02d:%02d:%02d", start_time.ti_hour, start_time.ti_min,
start_time.ti_sec); 	/*qui stampo l'ora*/
   }
while(!kbhit());
mouseof();
}
unsigned mouse_installato (void)		/*da qui in poi ci sono le funzioni
del mouse, e della grafica */
{
  INTERRUPT.r_ax=0;
  intr(0x33, &INTERRUPT);
  return(INTERRUPT.r_ax);
}
void mouseon (void)
  {
   INTERRUPT.r_ax=1;
   intr(0x33, &INTERRUPT);
  }
void mouseof(void)
  {
   INTERRUPT.r_ax=2;
   intr(0x33, &INTERRUPT);
  }
int mousex(void)
  {
   return(1+INTERRUPT.r_cx/3);     /*qui si decide la dimensione dello
schermo per il mouse*/
  }
int mousey(void)
  {
   return(1+INTERRUPT.r_dx/3);     /*idem come sopra*/
  }
int pulsante_mouse(void)
{
   int buffer;
   static int stat;
   INTERRUPT.r_ax=3;
   intr(0x33,&INTERRUPT);
if (INTERRUPT.r_bx==1)
  {
   buffer=stat;
   stat=INTERRUPT.r_bx;
   INTERRUPT.r_bx=buffer;
   if(~INTERRUPT.r_bx && stat) return(1);
  }
if (INTERRUPT.r_bx==2)
  {
   buffer=stat;
   stat=INTERRUPT.r_bx;
   INTERRUPT.r_bx=buffer;
   if(~INTERRUPT.r_bx && stat) return(2);
  }
 else
  {
   buffer=stat;
   stat=INTERRUPT.r_bx;
   INTERRUPT.r_bx=buffer;
  }
}
int in_graf()
{
  int gd,gm;
  detectgraph(&gd,&gm);
  initgraph(&gd,&gm,"c:\\tc\\bgi");
  if (graphresult()==0)
  {
    settextstyle(2,HORIZ_DIR,0);
    xbordo=((getmaxx()+1)/6);
    ybordo=((getmaxy()+1)/6);
    return(1);
  }
}
VI RINGRAZIO ANTICIPATAMENTE!!!!
DarkNephilim
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


qui il listato : 

   sprintf(pippo,"%d : %d",x,y); /*qui stampo la posizione del mouse!*/
      outtextxy(100,100,pippo);
      xpre=x;
      ypre=y;
     }
   textcolor (WHITE);
   esc=0;
   gettime(&start_time);
   gotoxy(25,25);
   printf("ora : %02d:%02d:%02d", start_time.ti_hour, start_time.ti_min,
start_time.ti_sec); 	/*qui stampo l'ora*/
   }
while(!kbhit());
mouseof();
}
   /*da qui in poi ci sono le funzioni del mouse, e della grafica*/
unsigned mouse_installato (void)	
