()
Newbie
Messaggi:
Iscritto:
|
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.
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
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.
|
|
()
Newbie
Messaggi:
Iscritto:
|
Grazie mille, provo a vedere se funziona sul mio iMac
|
|
()
Newbie
Messaggi:
Iscritto:
|
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 |
program programma_prova_mouse_in_graph; uses mouse,crt; var x,y:integer;{variabili per memorizzare la posizione del mouse} begin {ciclo di controllo per verificare che sia collegato il mouse} if not mouseinstalled then begin writeln('Errore: Mouse non collegato!'); readln; halt; end; {resettiamo il mouse} resetmouse; {impostiamo i limiti del mouse} setmousewindow(5,5,GetMaxX-5,GetMaxY-5); {ciclo per l'aggiornamento della posizione del puntatore} repeat textcolor(white); writeln(205,125,'Clicca qui!'); {otteniamo la posizione x e y del mouse} x:=getmousex; y:=getmousey; {disegnamo il puntatore: una "o"} gotoXY(x, y); write('o'); {aspettiamo 10 ms} delay(10); {cancelliamo il cerchio di prima} gotoXY(x-1, y); textcolor(black); {usciamo dal ciclo se viene premuto uno dei tasti del mouse} until rightpressed or leftpressed; textcolor(7); {se il mouse era sopra il 'bottone' quando l'utente ha cliccato, scriviamo una frase sullo schermo.} if ((x>=200) and (x<=300) and (y>=120) and (y<=140)) then writeln('Hello World!'); readkey; {IMPORTANTE: resettate sempre il mouse alla fine!} resetmouse; writeln; writeln; readkey; clrscr; end.
|
.
Cosa può essere?
|
|
pbe (Normal User)
Pro
Messaggi: 131
Iscritto: 24/05/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.
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
il file non va nel desktop, ma nella cartella con le altre librerie............
|
|
()
Newbie
Messaggi:
Iscritto:
|
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.
|
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
è 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
|
|
Poggi Marco (Member)
Guru
Messaggi: 969
Iscritto: 05/01/2010
|
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
|
|