A voir également:
- [Turbo Pascal 7.0 ] utilisation de la souris?
- Turbo pascal download - Télécharger - Édition & Programmation
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- My pascal - Télécharger - Édition & Programmation
- Comment activer le pavé tactile sans souris - Guide
5 réponses
pour afficher la souris sur tp7 sur un programme plein écran il faut utilisé l'assembleur :
program souris;
uses crt;
begin
writeln('pas de souris');
readln;
asm
mov ax, 1h; {mettre la fonction 1h dans ax}
int 33h; {interruption qui gère la souris}
end;
writeln('avec la souris');
readln;
end.
program souris;
uses crt;
begin
writeln('pas de souris');
readln;
asm
mov ax, 1h; {mettre la fonction 1h dans ax}
int 33h; {interruption qui gère la souris}
end;
writeln('avec la souris');
readln;
end.
watou
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013
28
25 août 2008 à 00:34
25 août 2008 à 00:34
salut kx !!
je veux savoir si tu as essayé de travailler avec ça parceque moi ça n'a pas marché !!
merci de me repondre !
je veux savoir si tu as essayé de travailler avec ça parceque moi ça n'a pas marché !!
merci de me repondre !
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
27 août 2008 à 13:03
27 août 2008 à 13:03
Non effectivement je n'ai pas essayé de l'utiliser, je l'avais juste débuger pour qu'elle compile, mais j'avoue être incapable de faire mieux en ce qui concerne une unité "souris"...
byakhlefncr
Messages postés
260
Date d'inscription
vendredi 1 juillet 2005
Statut
Membre
Dernière intervention
11 septembre 2008
63
11 sept. 2008 à 00:09
11 sept. 2008 à 00:09
Excusez-moi je ne me suis pas aperçu des demandes.
1. l'unité utilisé est Drivers et je l'ai en format précompilé (Drivers.tpu) et j'ai oublié si elle était avec turbo pascal ou si je l'avait ajouté.
////////////////////////////////////////////////////////////////////////////////
Pour l'utilisation de la souris sous pascal.
initevents; // initialisation du gestionnaire des évenement de la souris.
doneevents; // Arrête le gestionnaire des évennements.
hidemouse; // cacher le pointeur de la souris.
showmouse; // Afficher le poiteur de la souris.
getmouseevent(even); // pour récupere dans 'even' de type 'TEvent' les evenements de la souris.
if (even.buttons=mbleftbutton) then // Test du click gauche.
even.where.x; // Position curseur souris sur X
even.where.y; // Position curseur souris sur Y
//////////////////////////////////////////////////////////////////////////////////
2. j'ai utilisé ces fonctions dans des programmes et elles fonctionnaient à merveille, mais malheureusement avec les système d'exploitation actuels les programmes Buggent lors de l'utilisation des fonctions de graphisme.
3. Ces fonctions sont incorporées dans l'aide de turbo pascal.
1. l'unité utilisé est Drivers et je l'ai en format précompilé (Drivers.tpu) et j'ai oublié si elle était avec turbo pascal ou si je l'avait ajouté.
////////////////////////////////////////////////////////////////////////////////
Pour l'utilisation de la souris sous pascal.
initevents; // initialisation du gestionnaire des évenement de la souris.
doneevents; // Arrête le gestionnaire des évennements.
hidemouse; // cacher le pointeur de la souris.
showmouse; // Afficher le poiteur de la souris.
getmouseevent(even); // pour récupere dans 'even' de type 'TEvent' les evenements de la souris.
if (even.buttons=mbleftbutton) then // Test du click gauche.
even.where.x; // Position curseur souris sur X
even.where.y; // Position curseur souris sur Y
//////////////////////////////////////////////////////////////////////////////////
2. j'ai utilisé ces fonctions dans des programmes et elles fonctionnaient à merveille, mais malheureusement avec les système d'exploitation actuels les programmes Buggent lors de l'utilisation des fonctions de graphisme.
3. Ces fonctions sont incorporées dans l'aide de turbo pascal.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
byakhlefncr
Messages postés
260
Date d'inscription
vendredi 1 juillet 2005
Statut
Membre
Dernière intervention
11 septembre 2008
63
9 mai 2008 à 18:51
9 mai 2008 à 18:51
Bonjour,
Pour l'utilisation de la souris sous pascal.
initevents; // initialisation du gestionnaire des évenement de la souris.
doneevents; // Arrête le gestionnaire des évennements.
hidemouse; // cacher le pointeur de la souris.
showmouse; // Afficher le poiteur de la souris.
getmouseevent(even); // pour récupere dans 'even' de type 'TEvent' les evenements de la souris.
if (even.buttons=mbleftbutton) then // Test du click gauche.
even.where.x; // Position curseur souris sur X
even.where.y; // Position curseur souris sur Y
Bonne chance
Pour l'utilisation de la souris sous pascal.
initevents; // initialisation du gestionnaire des évenement de la souris.
doneevents; // Arrête le gestionnaire des évennements.
hidemouse; // cacher le pointeur de la souris.
showmouse; // Afficher le poiteur de la souris.
getmouseevent(even); // pour récupere dans 'even' de type 'TEvent' les evenements de la souris.
if (even.buttons=mbleftbutton) then // Test du click gauche.
even.where.x; // Position curseur souris sur X
even.where.y; // Position curseur souris sur Y
Bonne chance
watou
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013
28
28 juin 2008 à 11:15
28 juin 2008 à 11:15
salut !
je veux savoir le nom de l'unité qui contient ces fonctions et procedures!
et est ce que ça marche avec dev-pascal ?
et le type TEvent, c'est quoi?
je veux savoir le nom de l'unité qui contient ces fonctions et procedures!
et est ce que ça marche avec dev-pascal ?
et le type TEvent, c'est quoi?
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
>
watou
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013
28 juin 2008 à 13:15
28 juin 2008 à 13:15
Dev-Pascal, Turbo-Pascal... c'est le même langage tout ça...
Je n'ai pas trouvé le nom de l'unité dont parle byakhlefncr toutefois selon tes besoins tu peux aller faire tes courses sur internet et trouver des unités créées par d'autres programmeurs (ici par exemple), malheureusement certaines de celles-ci sont très anciennes et ne sont plus compatibles avec le matériel que l'on utilise actuellement...
J'espère trouvé mieux rapidement...
Je n'ai pas trouvé le nom de l'unité dont parle byakhlefncr toutefois selon tes besoins tu peux aller faire tes courses sur internet et trouver des unités créées par d'autres programmeurs (ici par exemple), malheureusement certaines de celles-ci sont très anciennes et ne sont plus compatibles avec le matériel que l'on utilise actuellement...
J'espère trouvé mieux rapidement...
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
>
watou
Messages postés
199
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
19 avril 2013
29 juin 2008 à 13:15
29 juin 2008 à 13:15
Voici une unité que j'ai trouvé sur internet (ici) initialement créée pour Turbo Pascal 5.5 je l'ai adaptée pour qu'elle compile sous Dev-Pascal 1.9.2 (je n'ai pas vérifié son bon fonctionnement)
Pour le mode d'emploi de cette unité il faudra télécharger le zip fourni par le programmeur (en anglais).
Pour le mode d'emploi de cette unité il faudra télécharger le zip fourni par le programmeur (en anglais).
unit mouse; interface uses dos; type array32word = array[0..31] of word; const hand : array32word =($ffff,$ffff,$ffff,$ffff,$ffff,$ffff,$ffff,$ffff, $ffff,$ffff,$ffff,$ffff,$ffff,$ffff,$ffff,$ffff, $0000,$0000,$0700,$0500,$0500,$05FC,$0554,$0D54, $1554,$1004,$0804,$0404,$0208,$0208,$0208,$0208); var mouse_clicked_x, mouse_clicked_y : word; function mouse_area(var xma):word; function mouse_clicked(button:word):boolean; function mousex:word; function mousey:word; function mousebutton:word; function mouse_swreset:boolean; procedure get_sensitivity(var x,y,speed:word); procedure set_sensitivity(x,y,speed:word); procedure physical_movement(var x,y:integer); procedure set_ratio(x,y:word); procedure cond_off(ux,uy,lx,ly:word); procedure set_speed2(threshold:word); procedure mouse_cursor(onoff:boolean); procedure mouse_position(var button_stat,x,y:word); procedure set_mouse_position(x,y:word); procedure set_mouse_x_bounds(xl,xu:word); procedure set_mouse_y_bounds(yl,yu:word); procedure set_mouse_cursor(x,y:word;var point:array32word); procedure set_text_cursor(aorh,startof,endof:word); function mouseparams(var num_buttons:word):boolean; function button_pressed(button:word;var count,x,y:word):boolean; function button_released(button:word;var count,x,y:word):boolean; implementation function mouse_area(var xma):word; var x:integer; mx,my,button : word; ma : array[1..100,1..4] of word absolute xma; begin x:=1; mouse_position(button,mx,my); while ma[x,1]<>0 do begin if (mx>=ma[x,1]) and (mx<=ma[x,2]) and (my>=ma[x,3]) and (my<=ma[x,4]) then begin mouse_area:=x; exit end; x:=x+1 end; mouse_area:=0 end; function mouse_swreset:boolean; var regs:registers; begin regs.ax:=$21; intr($33,regs); mouse_swreset:=regs.ax=$ffff end; procedure get_sensitivity(var x,y,speed:word); var regs:registers; begin regs.ax:=$1b; intr($33,regs); x:=regs.bx; y:=regs.cx; speed:=regs.dx end; procedure set_sensitivity(x,y,speed:word); var regs:registers; begin regs.ax:=$1a; regs.bx:=x; regs.cx:=y; regs.dx:=speed; intr($33,regs) end; procedure physical_movement(var x,y:integer); var regs:registers; begin regs.ax:=$b; intr($33,regs); x:=regs.cx; y:=regs.dx end; procedure set_ratio(x,y:word); var regs:registers; begin regs.ax:=$0f; x:=x and $7fff; y:=y and $7fff; regs.cx:=x; regs.dx:=y; intr($33,regs) end; procedure cond_off(ux,uy,lx,ly:word); var regs:registers; begin regs.ax:=$10; regs.cx:=ux; regs.dx:=uy; regs.si:=lx; regs.di:=ly; intr($33,regs) end; procedure set_speed2(threshold:word); var regs: registers; begin regs.ax:=$13; regs.dx:=threshold; intr($33,regs) end; function mouseparams(var num_buttons:word):boolean; var regs: registers; begin regs.ax:=$0; intr($33,regs); mouseparams:=regs.ax=$ffff; num_buttons:=regs.bx end; procedure mouse_cursor(onoff:boolean); var regs: registers; begin if onoff then regs.ax:=$1 else regs.ax:=$2; intr($33,regs) end; procedure mouse_position(var button_stat,x,y:word); var regs: registers; begin regs.ax:=$3; intr($33,regs); button_stat:=regs.bx; x:=regs.cx; y:=regs.dx end; function mousex:word; var b,x,y : word; begin mouse_position(b,x,y); mousex:=x end; function mousey:word; var b,x,y : word; begin mouse_position(b,x,y); mousey:=y end; function mousebutton:word; var b,x,y : word; begin mouse_position(b,x,y); mousebutton:=b end; procedure set_mouse_position(x,y:word); var regs: registers; begin regs.ax:=$4; regs.cx:=x; regs.dx:=y; intr($33,regs) end; procedure set_mouse_x_bounds(xl,xu:word); var regs: registers; begin regs.ax:=$7; regs.cx:=xl; regs.dx:=xu; intr($33,regs) end; procedure set_mouse_y_bounds(yl,yu:word); var regs: registers; begin regs.ax:=$8; regs.cx:=yl; regs.dx:=yu; intr($33,regs) end; function button_pressed(button:word;var count,x,y:word):boolean; var regs:registers; begin regs.ax:=$5; regs.bx:=button; intr($33,regs); count:=regs.bx; x:=regs.cx; y:=regs.dx; button_pressed:=(regs.ax=1) end; function mouse_clicked(button:word):boolean; var trash1 : boolean; count : word; begin trash1:=button_pressed(button,count,mouse_clicked_x,mouse_clicked_y); mouse_clicked:=count>0 end; function button_released(button:word;var count,x,y:word):boolean; var regs:registers; begin regs.ax:=$5; regs.bx:=button; intr($33,regs); count:=regs.bx; x:=regs.cx; y:=regs.dx; button_released:=(regs.ax=0) end; procedure set_mouse_cursor(x,y:word;var point:array32word ); var regs : registers; begin regs.ax:=$9; regs.bx:=x; regs.cx:=y; regs.es:=seg(point[0]); regs.dx:=ofs(point[0]); intr($33,regs) end; procedure set_text_cursor(aorh,startof,endof:word); var regs:registers; begin regs.ax:=$0a; regs.bx:=aorh; if aorh=0 then begin startof:=startof or $00ff; endof:=endof and $ff00 end; regs.cx:=startof; regs.dx:=endof; intr($33,regs) end; end.