Tester si la valeur d' un champ est nul

Résolu
SylvainVV Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 mai 2008 - 6 nov. 2007 à 20:51
SylvainVV Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 mai 2008 - 12 nov. 2007 à 20:00
(re)Bonjour,

étant toujours en train d'essayer de gérer toutes les erreurs de mon programme, j'aimerais faire en sorte que l'on ne puisse cliquer sur un bouton que si certains champs n'ont pas été remplis.

Je sais que rendre un bouton actif se gére avec la propriété Enabled... mais d'une part je ne sais pas comment vérifier si un champs est vide, et d'autre part je ne sais vois pas dans quelle partie du code source placer ce test ?

J'ai pensé à placer ce test à la sortie de chaque champs de saisis... mais cela me parrait un peu redondant. Ne peut-on pas faire un seul test en 'tête de programme' ?

Merci d'avance pour vos réponses !

7 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 nov. 2007 à 09:47
Tu peux aussi utiliser les évènements OnChange sur les édit et déclencher une procédure du style :

Button1.enabled := (Edit1.text <> '') and (Edit2.text <> '') and
(Edit3.text = ''); etc etc..

@+
cantador
3
SylvainVV Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 mai 2008
6 nov. 2007 à 21:56
Personne pour m'aider ?
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
6 nov. 2007 à 22:47
As-tu déjà utilisé les TActionList ? (dispo depuis Delphi 4)

NB : sois un peu plus patient. Ton premier message a été posté le 06/11/2007 à 20:51:50 et 5 minutes après tu commences déjà à trépigner !...
Ici, personne n'est au service de personne.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/
0
SylvainVV Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 mai 2008
6 nov. 2007 à 22:59
J'avais une petite heure, et comme ce forum à la réputation d'être une véritable fourmillére à developpeur hihihi
mais bon, ça ne change rien, c'est vrai que j'ai été impatient et que c'est pas bien. J'arrête de faire mon boulet

Bon sinon, je n'ai pas encore vu ces TActionList.

Actuellement, la solution que j'essaye de mettre en place est de la forme suivante :

procedure Tfenetre.noteExit(Sender: TObject);
begin
     if note.text = ''
     then showmessage('Erreur : Vous n''avez pas saisi de note');
end;

Mais Delphi ne veut rien savoir... pourtant je sens que je dois pas être très loin de la solution...
0

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

Posez votre question
SylvainVV Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 mai 2008
7 nov. 2007 à 14:47
Bonjour,

j'ai suivis ton conseil et tout marche comme je le veux !

cantador... je t'adore !

Voila, sur cette rime à deux balles, je m'exile
0
cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
11 nov. 2007 à 21:38
Une autre solution que de le mettre dans le OnChange, tu peux utiliser le OnIdle de l'application (cet évènement est exécuté dès que l'application n'a plus rien a faire, et n'est exécuté qu'une fois après chaque traitement - par exemple tu ajoute un "e" à un TEdit, une fois le "e" traité, le OnIdle va être exécuté, puis on attend).
L'utilisation du OnIdle permet de regrouper tous les tâches tel que l'activation ou désactivation d'une fonction, la Mise à Jour d'une information, etc...

<hr />Le plus dur dans un programme c'est de savoir pourquoi il marche !
0
SylvainVV Messages postés 17 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 mai 2008
12 nov. 2007 à 20:00
oula ! je ne connaissais pas du tout cette technique !

mais merci... je sens qu'elle va m'être utile un jour ou l'autre !
0
Rejoignez-nous