Newsgroup: it.comp.lang.pascal
Titolo: maledetto mouse

Sto cercando di usare il mouse in un programma che sto facendo in tp7. Ho
cercato indicazioni sulle funzioni e procedure da usare sulla guida in linea
ma non ci ho capito niente.
Qualcuno potrebbe indicarmi come si fa?
mi servirebbe di:
1. capire come si attiva il mouse
2. capire come si riesce a "catturare" gli eventi generati dal mouse tipo
clic del pulsante dx     o sx
3. capire le coordinate del puntatore
Grazie per la risposta.
P.S. potete scrivermi a questo indirizzo: 
kla...@supereva.it

 wrote in message
_2bp4.119678$C3.12...@news.infostrada.it...


Sto cercando di usare il mouse in un programma che sto facendo in tp7.
Usa l'interrupt $33 e le sue funzioni.
Trovi la documentazione nella Ralph Brown Interrupt List che puoi
scaricare da internet (non conosco il sito, cercalo).
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------

 > Sto cercando di usare il mouse in un programma che sto facendo in tp7.





(soprattutto come si usano)
Questo esce al di fuori del topic di questo gruppo.


 >ho mai utilizzati! chi me li può spiegare in maniera semplice e chiara?



era un po' che ci stavo pensando, signor Andrea Laforgia, ed ora vorrei
porgerle una domanda:
quand'é che la SV deciderà di scendere da quel mondo di superiorità in cui
sembra vivere trattando tutti gli altri frequentatori del ng come merde?
Non credo che tu sia l'unica persona del ng capace di programmare... quindi
ti prego ti eliminare quelle arie da saccente e da primo della classe che ti
contraddistinguono in ogni messaggio
il fatto che tu abbia utilizzato a lungo pascal e delphi e che ne conosci
indubbiamente bene varie caratteristiche, non ti giustifica ad atteggiarti
come un "essere superiore"
Chiedo scusa agli altri per lo sfogo...
Fabio Ruini
fabi...@libero.it

Chiedo scusa agli altri per lo sfogo...
Sei OFF TOPIC.


 (soprattutto come si usano)
Ciao Claudio,
                        gli interrupts sono (e semplifico molto le cose) dei
"contenitori in cui trovi una serie di funzioni"...
è una definizione decisamente approssimativa e grossolana, ma spiegarti
tutto sarebbe controproducente per 2 motivi:
- non penso di essere in grado di spiegartelo in modo decente nè tantomeno
esaustivo...
- sarebbe decisamente lungo in termini di tempo...
Ci sono caterve di libri che possono illuminarti meglio di quanto possa fare
io...
Cmq, tornando al tuo problema, direi di cercare qualche unit che ti permetta
di farlo eseguendo delle semplici chiamate Pascal (gli interrupt vanno
richiamati in asm)...
Ce ne sono parecchie, ma mi pare che anche qui sul Ng, poco tempo fa, sia
passato un msg in cui c'era il codice necessario... se non trovi nulla
scrivi pure che dovrei avere qualcosina.
Ciao :-)
--
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)
AntiSpam: rimuovere il trattino basso dall'indirizzo per rispondere
AntiSpam: remove the underscore from the e-mail address to reply

"imparato"..)
Se ti riferisci a me, io ho sempre rispettato il manifesto del gruppo.
Reputo sbagliato trattare argomenti al di fuori del tema di
discussione e discutere di gestione della RAM o interrupt e' fuori dal
topic. Io non "devo" rispondere, sono le persone che pensano che io
potrei dar loro una mano che "possono" scrivermi in privato. Io
accolgo a braccia aperte le richieste d'aiuto per e-mail.
Soprassiedo sui giudizi di Fabio, in quanto e' evidente che frequenta
il gruppo da troppo poco tempo per rendersi conto delle sciocchezze
che ha scritto. ;)


 wrote in message
38a8368d....@diesel.cu.mi.it...


---------------------------------------------
Ciao.
Simone.

Dai! Non facciamo *troppo* i pignoli...
Niente affatto. Non cambio opinione a riguardo.


 Niente affatto. Non cambio opinione a riguardo.
Se vai avanti così, alla fine ti ritroverai a parlare da solo...


Se vai avanti cosě, alla fine ti ritroverai a parlare da solo...
Perlomeno i thread sarebbero finalmente In Topic! ;)


 Procedure Mouse ( var x ,y , tasto : word ) ;
  var evento : tevent ;
  begin 
   getmouseevent ( evento ) ;
   x := evento.where.x ;
   y := evento.where.y ;
   tasto := evento.buttons 
  end ;
Questa procedura restituisce i valori delle coordinate del cursore nella
videata a caratteri di ascissa e di ordinata: il valore di X varia da 0 a
79, Y da 0 a 24 (però partendo dall'alto). La variabile T è il valore del
tasto (1=sinistro, 2=destro). (ndr. per il doppio click non so che
dirti...). Ti avviso che nei momenti in cui il mouse è fermo tutti valori
tornano a 0, perciò io escluderei di associare eventi alle coordinate
(0,0,t=0).
Ricordati di usare USES DRIVER, devi usare il comando INITEVENTS prima di
usare il mouse e, per correttezza, usare DONEEVENTS prima di concludere
l'algoritmo.
CIAO.  Luigi.
Prova questo programma: il tasto sinistro oppure il tasto destro per
concludere
PROGRAM M;
uses crt, drivers;
var x,y,t: word;
begin
initevents;
repeat
mouse (x,y,t);
if (y>0) and (x>0) 
 then begin
  gotoxy(1,1);
  writeln (x:3, y:3, t:3)
 end;
if t=1 
 then begin
  gotoxy(x,y);
  write ('*');
  delay (500);
  clrscr;
 end
until t=2;
doneevents
end