|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre éprouvé
![]() Inscription : mars 2002 Messages : 620 ![]() |
le decor
- un champ de saisie avec controle (EntryCheck) - un bouton déclencheur (Button) - une zone texte (Text) - un sous-programme qui multiplie par 2 la donnée saisie et affiche le résultat dans la zone texte 1ère methode le bouton appelle le sous-programme, ce dernier manipule lui-même le champ saisi Cela fonctionne 2ème methode le bouton appelle le sous-programme en lui passant le champ saisi en paramètre Cela ne fonctionne pas : 0 est affiché. Je ne comprends pas pourquoi. ------------- 1ère méthode Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 520 ![]() |
C'est une erreur classique de débutant.
Vous avez utilisé la variable $saisie dans l'option -textvariable, ainsi, -textvariable manipule la référence (pointeur) de cette variable. Lorsque vous passez $saisie à votre procédure, cette dernière reçoit le contenu de la variable au moment t, donc la valeur 0. Vous aurez beau cliquer 10 fois sur le bouton, c'est zéro qui est passé car c'était la valeur au moment où Perl est passé dessus. La méthode 2 doit plutôt passer en argument la référence de $saisie et non $saisie. Ensuite, dans ta procédure, tu fais ainsi : Code :
Puis dans ta procédure, via les méthodes des widgets Entry, tu récupères ta valeur.
__________________
|
||
|
|
00
|
|
|
#3 | ||
|
Membre éprouvé
![]() Inscription : mars 2002 Messages : 620 ![]() |
merci
effectivement la methode 2 newlook fonctionne et la méthode 3 aussi Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com