Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Libreria per gestire input da mouse
Forum - Pascal - Libreria per gestire input da mouse

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Salve, ho da poco iniziato a programmare in Pascal e, andando avanti, mi sono chiesto se esiste una libreria per gestire un input da mouse. Sono arrivato a questo tutorial (http://www.pierotofy.it/pages/guide_tutorials/Pascal/Pasca ..., ma il link indicato per il download della libreria mouse non porta da nessuna parte. Qualcuno saprebbe indicarmi dove trovare questa Unit o qualcosa di equivalente?

Grazie in anticipo.

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 22:29
Martedì, 24/06/2014
Ciao!

Non ho trovato nessun link alla libreria per la gestione del mouse, quindi la aggiungo nel file allegato.

Questa unit funziona solo con li vecchio compilatore turbo pascal  della borland. In alternativa, puoi utilizzare li free pasca.


Poggi Marco ha allegato un file: Mouse.zip (1797 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 23:03
Martedì, 24/06/2014
Grazie mille, provo a vedere se funziona sul mio iMac

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 23:31
Martedì, 24/06/2014
Purtroppo non va. Anche se metto la libreria sul desktop, dove ho salvato il sorgente, mi dà errore. Il terminale mi scrive:

Free Pascal Compiler version 2.6.4 [2014/02/26] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Darwin for i386
Compiling prova mouse.pas
prova mouse.pas(8,23) Error: Identifier not found "mouseinstalled"
prova mouse.pas(16,11) Error: Identifier not found "resetmouse"
prova mouse.pas(19,15) Error: Identifier not found "setmousewindow"
prova mouse.pas(19,27) Error: Identifier not found "GetMaxX"
prova mouse.pas(19,37) Error: Identifier not found "GetMaxY"
prova mouse.pas(45,20) Error: Identifier not found "rightpressed"
prova mouse.pas(45,34) Error: Identifier not found "leftpressed"
prova mouse.pas(57,11) Error: Identifier not found "resetmouse".

Il codice è la copia di quello presente nel tutorial, ma ho tolto le funzioni di graph perchè non funzionano su Mac OS. Eccolo:

Codice sorgente - presumibilmente Delphi

  1. program programma_prova_mouse_in_graph;
  2. uses mouse,crt;
  3. var x,y:integer;{variabili per memorizzare la posizione del mouse}
  4.  
  5. begin
  6.  
  7. {ciclo di controllo per verificare che sia collegato il mouse}
  8. if not mouseinstalled then
  9. begin
  10.      writeln('Errore: Mouse non collegato!');
  11.      readln;
  12.      halt;
  13. end;
  14.  
  15. {resettiamo il mouse}
  16. resetmouse;
  17.  
  18. {impostiamo i limiti del mouse}
  19. setmousewindow(5,5,GetMaxX-5,GetMaxY-5);
  20.  
  21. {ciclo per l'aggiornamento della posizione del puntatore}
  22. repeat
  23.       textcolor(white);
  24.      
  25.       writeln(205,125,'Clicca qui!');
  26.      
  27.       {otteniamo la posizione x e y del mouse}
  28.       x:=getmousex;
  29.       y:=getmousey;
  30.      
  31.       {disegnamo il puntatore: una "o"}
  32.      
  33.       gotoXY(x, y);
  34.       write('o');
  35.      
  36.       {aspettiamo 10 ms}
  37.       delay(10);
  38.      
  39.       {cancelliamo il cerchio di prima}
  40.       gotoXY(x-1, y);
  41.       textcolor(black);
  42.       {usciamo dal ciclo se viene premuto uno dei tasti del mouse}
  43. until rightpressed or leftpressed;
  44.  
  45. textcolor(7);
  46.  
  47. {se il mouse era sopra il 'bottone' quando l'utente ha cliccato,
  48. scriviamo una frase sullo schermo.}
  49.  
  50. if ((x>=200) and (x<=300) and (y>=120) and (y<=140)) then
  51. writeln('Hello World!');
  52. readkey;
  53.  
  54. {IMPORTANTE: resettate sempre il mouse alla fine!}
  55. resetmouse;
  56.  
  57. writeln;
  58. writeln;
  59. readkey;
  60. clrscr;
  61. end.

.

Cosa può essere?

PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 13:38
Mercoledì, 25/06/2014
Mi chiedo cosa usi a fare il Pascal per fare programmi con la gestione degli eventi per mouse...
Secondo me ti complichi solo la vita.
:k:

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:53
Mercoledì, 25/06/2014
il file non va nel desktop, ma nella cartella con le altre librerie............

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 14:14
Mercoledì, 25/06/2014
Io ho provato a vedere dove poteva essere quella cartella cercando la crt, ma non sono riuscito a trovarla da nessuna parte. E nel tutorial c'è scritto di metterlo nella stessa directory del sorgente.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 21:25
Mercoledì, 25/06/2014
è sicuramente dentro una sub-directory della directory del compilatore. Io quando ho dovuto usare una libreria scaricata da internet con pascal ho fatto così, non so se il compilatore era turbo pascal o quello incluso in dev-pas, comunque ha funzionato.

Se mi dici che compilatore usi magari ti posso dare una mano

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 21:28
Mercoledì, 25/06/2014
La libreria funziona solo con i vecchi compilatori della borland. ( tieni li file del programma e dell' unit Mouse nella stessa cartella ) .
Se utilizzi il Free Pascal, l' unit Mouse è già definita. Vedi qui per maggiori informazioni.
http://www.freepascal.org/docs-html/rtl/mouse/index-5.html

PM Quote