Oppure

Loading
24/06/14 13:57
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 (pierotofy.it/pages/guide_tutorials/Pascal/Pascal_Ricevere_input_dal_Mouse/), 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.
24/06/14 20:29
Poggi Marco
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.
aaa
24/06/14 21:03
Grazie mille, provo a vedere se funziona sul mio iMac
24/06/14 21:31
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:


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?
25/06/14 11:38
pbe
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:
aaa
25/06/14 11:53
TheDarkJuster
il file non va nel desktop, ma nella cartella con le altre librerie............
aaa
25/06/14 12:14
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.
25/06/14 19:25
TheDarkJuster
è 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
aaa