IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Vérifier des champs TEdit


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut Vérifier des champs TEdit
    Bonjour,

    Je suis en train de faire un formulaire en Delphi et je souheterai vérifier la validité des champs (non vides).
    Que me conseillez vous de faire pour ne par répeter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(add_point1_y.Text = '') then
    Merci d'avance, gcvoiron.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Si c'est dans l'évènement onchange/Onclick etc et que le traitement est le même pour tous les edit utiliser le sender.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Procedure Form1.OnEditchange(Sender: TObject);
    var
      Edit: TEdit;
    begin
      if not (Sender is TEdit) then // par securité
      Exit;
     
      Edit := TEdit(Sender);
     
      if Edit.text = ... then begin
      ..
      end;
    Autrement vous pouvez créer un procédure de test.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function form1.TestIfEditValid(Edit: TEdit): boolean;
      result := True;
      if Edit.Text = ... then begin
     
      end;
    end;
    et vous appelez la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      if not TestIfEditValid(Edit1) then ...
      if not TestIfEditValid(Edit2) then ...
    etc.

  3. #3
    rbh
    rbh est déconnecté
    Membre chevronné Avatar de rbh
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    384
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 384
    Par défaut
    Salut
    Tu peux utiliser "Components" de la Form.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For i := 0 to Self.Components.Count - 1 do
    begin
      if Self.Components.Items[i] is TEdit then
        if TEdit(Self.Components.Items[i]).text = '' then
          [...]
    end;
    (Le "Self" n'est pas obligatoire. Tout comme le "Items")

    Tu peux aussi stocker tes Edits dans des TObjectList et faire tes contrôles en Boucle sur la TObjectList. (l'exemple précédant utilise une TObjectList, il faut juste que tu en crée une et que tu la remplisse "à la main")

    Tu peux peut-être aussi utiliser les évènement OnExit de tes Edits :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TForm1.AllEditExit(Sender: TObject)
    begin
      if Sender is TEdit then//nécessaire pour être sûr qu'on sort d'un TEdit
      begin
        if TEdit(Sender).Text = '' then
          [...]
      end;
    end;

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Merci beaucoup pour vos réponses.
    Je me penche sur la réponse de Tardiff Jean-François que j'arrive mieux à comprendre.
    J'ai en fait 10 champs, si ils sont vides le boutton "Enregistrer" qui permet de gérer les valeurs de ces champs (enregistrer dans un fichier XML) doit être grisé (button_enr.Enabled := False;).
    Mais comment gérer ceci ?

    Merci d'avance.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    procedure Form1.enabledbtn;
    begin
      Button.enabled := (Edit.text <> '') and (Edit2.text <> '') and (Edit3.text <> ''); end;
    appelez enabledbtn; partout ou necessaire

  6. #6
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut

    tu peux aussi utiliser une action que tu associera au bouton, et dans l'évènement OnUpdate de l'action tu met le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      Action1.enabled := (Edit.text <> '') and 
        (Edit2.text <> '') and 
        (Edit3.text <> '') and 
        (Edit4.text <> '') and 
        (Edit5.text <> '') and 
        (Edit6.text <> '') and 
        (Edit7.text <> '') and 
        (Edit8.text <> '') and 
        (Edit9.text <> '') and 
        (Edit10.text <> '');

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Merci pour votre aide.

    gcvoiron.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    [A supprimer, fausse manip]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier si une table a des champs manquants
    Par fafabzh6 dans le forum SAS Base
    Réponses: 4
    Dernier message: 11/08/2008, 18h14
  2. Vérifier si des champs sont égaux
    Par pep972 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/05/2008, 16h15
  3. Vérifier si des champs sont vides
    Par Colbix dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/08/2007, 20h36
  4. vérifier des champs dans une jsp
    Par minie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/05/2007, 17h32
  5. [PHP-JS] comment vérifier la saisie des champs ?
    Par tigzirt dans le forum Langage
    Réponses: 4
    Dernier message: 27/06/2006, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo