Comment inclure une procédure dans une autre ?

Triplepattes Messages postés 29 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 24 octobre 2003 - 20 août 2003 à 23:05
cs_phoenyx Messages postés 31 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 8 mars 2007 - 22 août 2003 à 11:29
Comment inclure une procédure dans une autre ?

voici la partie concréte :

comment inclure ça :

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If key = #13 Then
Button4.Enabled:=True;
end;

dans ça à l'endroit de l'étoile (*):

Procedure TForm1.Edit1Change(Sender : TObject);
Var
Chn : String;

Begin
Chn:=Edit1.Text;
If Length(Chn) = 11 Then*
Button4.Enabled:=True;
Else Button4.Enabled:=False;
End;

je sais pas comment faire , vous pouvez m'aider SVP !!!!

Merci d'avance de votre aide , j'en ai besoin ! ;)

A+

6 réponses

cs_phoenyx Messages postés 31 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 8 mars 2007
21 août 2003 à 12:01
si je comprends bien ce que tu veux faire, quand l'utilisateur valide le contenu du TEdit (appuie sur Enter) et que le TEdit contient une chaine de 11 caractères, le bouton4 est Enabled.

si c'est ça utilise plutot l'évènement onExit du TEdit et dedans tu peux mettre :
bouton4.enabled :lenght(edit1.text) 11;
0
Triplepattes Messages postés 29 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 24 octobre 2003
21 août 2003 à 12:41
Oui , c'est exactement ça , mais ta méthode ne marche pas , lorsque je fais "enter" , il ne se passe rien !

A+
0
cs_phoenyx Messages postés 31 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 8 mars 2007
21 août 2003 à 14:14
Alors dans ce cas il vaut mieux utiliser un TAction.

Associe un TAction à ton TButton.

dans l'évenement onExecute de l'action met le code que tu avais dans Button4.Click.
dans l'évènement onUpdate de l'action :
MonAction.enabled :lenght(edit1.text) 11;

Avec ça le click du bouton execute l'action seulement si elle est enabled (sinon le bouton est grisé)

tu peux aussi activer la propriété Default du TButton comme ça la touche Entrée aura le même effet qu'un clic sur le TButton

>:) PhoenyX >:)
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
21 août 2003 à 18:44
Inutile de sortir la grosse artillerie des TActionList pour un problème aussi léger.
Procedure TForm1.Edit1Change(Sender : TObject);
Begin  Button4.Enabled :Length(Edit1.Text) 11;
End;

May Delphi be with you
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
22 août 2003 à 10:51
ou alors si je dis pas de betise...mettre MonAction.enabled :lenght(edit1.text) 11; dans le OnKeyUp de l'Edit

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
0
cs_phoenyx Messages postés 31 Date d'inscription vendredi 11 octobre 2002 Statut Membre Dernière intervention 8 mars 2007
22 août 2003 à 11:29
Vrai sauf si le contenu du TEdit est modifier par code.
L'avantage avec le TAction est que ça marche tout le temps.

>:) PhoenyX >:)
0
Rejoignez-nous