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 :

[débutant] D6 controle d'edits


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut [débutant] D6 controle d'edits
    Bonjour !

    Je cherche à placer des gardes fous à mon programme histoire de pouvoir gérer les erreurs de saisies possibles. J'ai une solution mais avouez que c'est pas tres élégant...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure Tform1.controle ;
    begin
        ctr := 'veuillez remplir tous les champs obligatoires' ;
        if edit1.text = ' ' then showmessage(ctr) ;
        ........................................................
        if edit10.text = ' ' then  showmessage(ctr) ;
    end ;
    Cette procedure sera appelée dans la procedure principale déclenchée par un bonton.

    Est il possible de controler avec une boucle for (de 1 à 10 faire le controle) ? Ou même une autre solution ?

    merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut
    salut,
    si c'est pour tous les edits , utilise ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     for i:= 0 to ComponentCount -1  do
                    if Components[i] is TEdit then
                     if TEdit(Components[i]).text = '' then showmessage '.....';

    [Balises CODE rajoutées par Pedro. merci d'y penser à l'avenir]

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    en fait c'est que pour les premiers edit2 donc j'ai juste modifié le début (for i := 1 to 6)
    Mais dans le programme, ça plante toujours quand j'ommets de remplir certains champs necessaire malgré ce controle....portant il est fait en début de procedure......

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut
    le code que je t'ai donné c'est pour tous les edits de la forme...
    tu ne dois pas faire "for i:=0 to 6 ", reprend le tel que je t'ai l'écrit

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    ton code marche bien mais je cherche simplement à contoler les edit allant de 1 à 6.....Et ça ça ne marche pas

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 60
    Points
    60
    Par défaut
    alors, je pense qu'il faudrait le faire comme tu le disais au début.
    faire le test avec les 6 edits manuellement ou bien avec une boucle

  7. #7
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    Bonjour

    Tu peux aussi regrouper les TEdit à tester dans un groupbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       for i:=0 to groupbox1.ControlCount-1 do
       if(groupbox1.Controls[i] is tedit)
       and(tedit(groupbox1.Controls[i]).Text='')
       then showmessage(tedit(groupbox1.Controls[i]).Name+' saisie obligatoire');
    Bonne prog

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Points : 102
    Points
    102
    Par défaut
    Et si tu te servais de la proprité Tag des composants TEdit. Par défaut, ils sont à 0. Met 1 pour les Edits dont tu veux contrôler le contenu puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for i:= 0 to ComponentCount -1  do
        if (Components[i] is TEdit) and (Components[i].Tag = 1) then
           .....tu appelles ta procedure de contrôle
    Ca marche ça ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    ça marche ! merci pour vos réponses c'est toujours bien d'avoir plusieurs possiblités.
    @+

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

Discussions similaires

  1. [Débutant] Communication controller - layout
    Par mattyeux dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 24/11/2007, 19h44
  2. [débutant] Mes controles n'ent font qu'à leur tête!
    Par Alouka dans le forum Visual C++
    Réponses: 3
    Dernier message: 25/10/2006, 10h17
  3. controler plusieurs edit
    Par faenor dans le forum Composants VCL
    Réponses: 3
    Dernier message: 01/05/2006, 22h03
  4. [Débutant] Recherche controle ActiveX
    Par Invité dans le forum MFC
    Réponses: 2
    Dernier message: 19/10/2005, 17h01
  5. Réponses: 2
    Dernier message: 02/03/2005, 15h06

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