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

VB.NET Discussion :

petit problème vb.net


Sujet :

VB.NET

  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 49
    Par défaut petit problème vb.net
    Bonjour,
    Je suis en train de programnmer une fonction qui vérifie pour un formulaire donné si tous les champs sont remplis en renvoyant un booléen a cet effet et en affichant un msgbox s'il y a un champs pas rempli.
    Je fais appel a cette fonction comme resultat de clique sur un bouton donné.
    Le probleme c'est qu'elle ne marche pas et que je n'ai pas pu la corriger.

    Des idées SVP:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Function validerChampsObligatoires() As Boolean
            Dim bValide As Boolean = True
     
            For Each ctrl As Control In Me.controls
                If ((TypeOf ctrl Is TextBox) Or (TypeOf ctrl Is ComboBox)) Then
                    If ctrl.Text Is String.Empty Then
                        bValide = False
                    End If
                End If
            Next
     
            If Not bValide Then
                MsgBox("", vbCritical + vbOKOnly, "Champs non remplis")
            End If
     
            validerChampsObligatoires = bValide 
        End Function
    D'apres mes tests c'est le for each qui ne fait pas son boulot
    Ca renvoie tjs true

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    L'instruction suspecte :If ctrl.Text Is String.Empty
    à remplacer par If (ctrl.Text = String.Empty)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Il est possible aussi que tu recherche au mauvais endroit.
    Si tu as un champ dans un GroupBox, ton for each ne passera jamais sur lui car il n'est pas un enfant direct de Me.Controls mais de Me.GroupBox1.Controls !

    Suis-je clair ?

  4. #4
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9
    Par défaut
    tu change ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ctrl.Text Is String.Empty Then
                        bValide = False
              End If
    Par ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ctrl.Text = Nothing Then
                        bValide = False
              End If

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 49
    Par défaut
    Citation Envoyé par Elcrolonosios Voir le message
    Il est possible aussi que tu recherche au mauvais endroit.
    Si tu as un champ dans un GroupBox, ton for each ne passera jamais sur lui car il n'est pas un enfant direct de Me.Controls mais de Me.GroupBox1.Controls !

    Suis-je clair ?
    Tu as raison... Je vais essayer de changer ça merci.
    Merci pour les autres aussi... le Is String.Empty posait probleme aussi.

    Voila le code corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For Each ctrl As Control In controles
                If TypeOf ctrl Is GroupBox Then
                    For Each sousCtrl As Control In ctrl.Controls
                        If ((TypeOf sousCtrl Is TextBox) Or (TypeOf sousCtrl Is ComboBox)) And sousCtrl.Text = String.Empty Then
                            bValide = False
                        End If
                    Next
                End If
            Next

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/08/2009, 15h20
  2. [ASP.NET VB.NET] petit problème de panel
    Par Dokho1000 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/02/2007, 17h59
  3. vb.net : petit problème de syntaxe
    Par 1coni dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/06/2006, 11h16
  4. [VB.NET]petit problème avec la classe string !!
    Par zouhib dans le forum Windows Forms
    Réponses: 6
    Dernier message: 01/06/2006, 11h58
  5. [VB NET] Petit probléme simpliste avec GDI+ !
    Par archimed111 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/05/2006, 09h17

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