|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Appel d'une procédure [ Système / Autre ] (vieuxpere)
Informations & options pour cette discussion
|
mercredi 18 juin 2008 à 19:58:28 |
Appel d'une procédure

vieuxpere
|
Bonjour, J'ai créé une procédure avec à l'interieur un code qui fonctionne bien, le probleme c'est que je n'arrive appeller cette procédure Voici sa déclaration : Type procedure BoussoleHoraire(Sender: TObject; Shift: TShiftState; X, Y: Integer); J'ai essaye quelque chose du genre : procedure TForm1.Button3Click(Sender: TObject); Begin BoussoleHoraire(sender,shift, x, y); end; Mais ça marche pas ! Pour info, l'objectif de cette procédure était d'avoir les caracteristiques que l'on trouve dans un evenement MouseMove afin de recuperer la position precise de la souris sur un composant. Merci dans tous les cas pour votre aide.
|
|
|
|
mercredi 18 juin 2008 à 21:51:20 |
Re : Appel d'une procédure

Caribensila
|
Salut, procedure TForm1.BoussoleHoraire(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin ... Ton code ... end; Puis, tu sélectionnes le composant concerné, et dans l'onglet Evénements de l'inspecteur d'objets, tu mets BoussoleHoraire dans l'événement OnMouseMove.
|
|
|
|
jeudi 19 juin 2008 à 00:33:24 |
Re : Appel d'une procédure

vieuxpere
|
Bonjour et merci de cette reponse, mais ma question n'est pas sur le fait de savoir où placer mon appel de procédure mais sur le fait de savoir comment synthaxiquement appeller ma procédure.
procedure TForm1.Button3Click(Sender: TObject); Begin BoussoleHoraire(sender,shift, x, y); <<<-- En gros je ne sais pas quoi mettre entre les parentheses (Delphi attend des parametres ( (Sender: TObject; Shift: TShiftState; X, Y: Integer); )mais je ne sais pas quoi lui mettre)
Merci par avance,
|
|
|
|
jeudi 19 juin 2008 à 09:12:07 |
Re : Appel d'une procédure

Loda
|
salut,
si tu fais comme Caribensila t'as expliqué, tu verra que cela fonctionne tout seul (cad, que l'appel se ferra tout seul lorsque tu bougera la souris sur le composant).
si ce n'as pas ce que tu veux essai avec GetCursorPos(P) ou reformule ta question.
bon code,
Loda
Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
|
|
|
|
jeudi 19 juin 2008 à 09:29:16 |
Re : Appel d'une procédure

vieuxpere
|
Bonjour,
Je voudrais simplement savoir les parametres probables qu'il faut mettre en parenthéses (voir réponse plus haut), car je souhaite executer la procédure dans un bouton et non dans un evenerment MouseMove.
Merci pour vos réponses.
Cordialement,
|
|
|
|
jeudi 19 juin 2008 à 13:48:45 |
Re : Appel d'une procédure

Caribensila
|
Je ne vois pas bien où tu veux arriver... Mais tu peux aussi faire ceci :
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin BoussoleHoraire(sender,Shift, X, Y); end;
OU encore
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin BoussoleHoraire(sender,[ssLeft], X, Y); end;
|
|
|
|
jeudi 19 juin 2008 à 13:53:16 |
Re : Appel d'une procédure

Francky23012301
|
Réponse acceptée !
Salut,
Ca ne fonctionnera pas :
procedure TForm1.Button3Click(Sender: TObject); Begin BoussoleHoraire(sender,shift, x, y); end;
Shift,X et Y ne sont pas définis dans ta procédure ButtonClick. Ainsi le compilo refuse de faire son job : Shift, X et Y ne sont pas définit.
Pour info, l'objectif de cette procédure était d'avoir les caracteristiques que l'on trouve dans un evenement MouseMove afin de recuperer la position precise de la souris sur un composant. je comprend pas bien ce que tu cherches à faire : Explique précisément ton objectif dans sa globalité car la j'ai le sentiment que tu es entrain de t'égarer : Sinon f0xi t'a passé ce bout de code procedure TFormX.Image1Click(Sender: TObject); var MP : TPoint; begin GetCursorPos(MP); MP := (sender as TImage).ScreenToClient(MP); end; Il suffit de le transformer en fonction
Function Get_X_MousePosition(AImage:TImage):TPoint; Var MP:TPoint; Begin GetCursorPos(MP); MP:=AImage.ScreenToClient(MP); Result:=MP; End;
procedure TForm1.Button3Click(Sender: TObject); Var MP:TPoint; Begin MP:=Get_X_MousePosition(Image2): end;
|
|
|
|
jeudi 19 juin 2008 à 13:55:08 |
Re : Appel d'une procédure
|
|
jeudi 19 juin 2008 à 13:59:33 |
Re : Appel d'une procédure

Caribensila
|
Y'a pas de mal Francky. J'ai même rien senti. 
|
|
|
|
vendredi 20 juin 2008 à 11:12:07 |
Re : Appel d'une procédure

vieuxpere
|
Merci pour ces réponses, mais je comile pas "Get_x_MousePosition identifcateur non déclaré" savez vous qu'est-ce qu'il faut que je mette ?
Pour rappel l'objectif est de parvenir d'avoir ma position de la souris sur mon image est d'avoir la bonne information de positionnement comme le ferais un MouseDown par exemple. En substance, j'ai synthétisé vos observations comme ci-dessous est-ce que ça vous parez cohérent ?
Merci par avance,
var NewItem: TMenuItem; var NomTypeActivite : string; var x, y : integer; var MP : TPoint; var AImage:TImage; Begin GetCursorPos(MP); MP := (sender as TImage).ScreenToClient(MP); GetCursorPos(MP); MP:=AImage.ScreenToClient(MP); MP:=Get_X_MousePosition(Image2): // Appel la procédure permettant de savoir l'horaire sur lequel se trouve le pointeur de la souris BoussoleHoraire(sender,[ssLeft], X, Y);
|
|
|
Cette discussion est classé dans : appel, sender, procédure, tobject, boussolehoraire
Répondre à ce message
Sujets en rapport avec ce message
"Incompatible types :''Cardinal' and 'String' " [ par Don0Choa ]
Bonjour, je fais un petit prog permettant de fair des boite de dialogue en séléctionnant les bouttons, icones etc...Mais voila j'ai une erreur comem d
pb a creer un exe avec la principal form invisible [ par Winniez ]
J'ai voulu au demarrage de exe afficher une autre form que la form principal. a l'execution sa me met une erreur, apres g mis le meme code dans un bou
probleme avec sockets [ par PsyClown44 ]
Salut!J'ai un prob avec le composant TClientSocket : je n'arrive pas a recevoir de paquets lors d'une connexion!Voila le code:unit Unit1;interfaceuses
Plantage [ par Rapakooti ]
Je solicite votre ade car en fait j'ai un gros plantage avec un programme que je suis en train de faire et pourtant il est pas encore avancé une fois
Newbie & TCPI/IP [ par Megafan ]
Bonjour je suis complétement débutant en delphi, par contre je suis pas mauvais en VB.Pourquoi je change allez vous dire ?Parce que VB ne tourne pas s
probleme aved Dbgrid relier a Access [ par rafraf6 ]
Salut voici le code de mon programme delphi.Je depute encore.Lorsque j apuie sur le bouton moyenne.Il me dit 'Field Distance not found'. Le probleme p
[Socket] TcpServer-TcpClient : Erreur 10035 [ par Gmartintin ]
Bonjour à tous, Pour tester les sockets en Delphi 7 sans les composants Indy, j'essaie de mettre en place un TcpServer et un TcpClient, sur deux appli
appel de procédure [ par mathieu57100 ]
bonjourje suis en train de développer une petite appli tout en apprennant Delphi et Pascal...sur une fiche, j'ai un bouton 'Appliquer' et 'OK' comme d
procedure 'repetée' [ par karakvb ]
bon voila mon probleme: a la place de ca: procedure TForm1.Image1Click(Sender: TObject); begin image1.picture.loadfromfile(fichier); end;procedure TFo
Réccupérer des données sur un autre Unit [ par m_cyril1 ]
J'ai fait un petit programme, celui-ci mémorise des chiffres entier sur une première form et sur la deuxième le résultat de la somme des chiffres s'af
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|