Tester si la valeur d' un champ est nul [Résolu]

SylvainVV 17 Messages postés mardi 6 novembre 2007Date d'inscription 21 mai 2008 Dernière intervention - 6 nov. 2007 à 20:51 - Dernière réponse : SylvainVV 17 Messages postés mardi 6 novembre 2007Date d'inscription 21 mai 2008 Dernière intervention
- 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 !
Afficher la suite 

7 réponses

Répondre au sujet
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 7 nov. 2007 à 09:47
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_cantador
SylvainVV 17 Messages postés mardi 6 novembre 2007Date d'inscription 21 mai 2008 Dernière intervention - 6 nov. 2007 à 21:56
0
Utile
Personne pour m'aider ?
Commenter la réponse de SylvainVV
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 6 nov. 2007 à 22:47
0
Utile
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/
Commenter la réponse de cs_Delphiprog
SylvainVV 17 Messages postés mardi 6 novembre 2007Date d'inscription 21 mai 2008 Dernière intervention - 6 nov. 2007 à 22:59
0
Utile
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...
Commenter la réponse de SylvainVV
SylvainVV 17 Messages postés mardi 6 novembre 2007Date d'inscription 21 mai 2008 Dernière intervention - 7 nov. 2007 à 14:47
0
Utile
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
Commenter la réponse de SylvainVV
cedricbi 185 Messages postés mercredi 18 décembre 2002Date d'inscription 21 mars 2011 Dernière intervention - 11 nov. 2007 à 21:38
0
Utile
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 !
Commenter la réponse de cedricbi
SylvainVV 17 Messages postés mardi 6 novembre 2007Date d'inscription 21 mai 2008 Dernière intervention - 12 nov. 2007 à 20:00
0
Utile
oula ! je ne connaissais pas du tout cette technique !

mais merci... je sens qu'elle va m'être utile un jour ou l'autre !
Commenter la réponse de SylvainVV

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.