Partage
  • Partager sur Facebook
  • Partager sur Twitter

VB.NET Variable sur champ vide

Sujet résolu
    4 février 2012 à 14:17:14

    Bonjour je commence en VB.NET

    j'ai énormement étudié la documentation et les mises en pratique de ce site et j'ai enfin décidé de me lancer dans un petit LAUCHER qui servira de base a un prochain programme d'exploitation logistique.

    malheureusement je tombe déjà sur un petit problème que je n'arrive pas a résoudre.
    En effet mon laucher contient un login et un mot de pass mais je voudrai qu'il refuse la fonction de connexion si l'un des deux champ sont vide :
    malheureusement mon code ne fonctionne pas correctement et je ne trouve pas mon erreur. De plus mon code semble pour moi tout a fait logique.

    voici mon code :

    'Fonction de verification des champ login ou de mot de pass vide
        Function Verification() As Boolean
            Dim Bon As Boolean = True
            If Me.login.Text Is Nothing Then
                Bon = False
            End If
            If Me.pass.Text Is Nothing Then
                Bon = False
            End If
            Return Bon
        End Function
    


    Je ne demande pas de solution mais juste un petit peu d'aide pour trouver moi même mon erreur.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      4 février 2012 à 14:24:15

      Nothing n'est pas égal à un string vide, mais à une référence sur rien.
      Pour faire un parallèle avec la vraie vie : si je te donne une boîte à biscuits vide, tu n'as pas de biscuits. Si je ne te donne pas de boîte à biscuits, tu n'as pas de biscuits non plus ; le résultat en terme du nombre de biscuits est le même, mais la cause est différente.

      Depuis .NET 4, il y a une méthode shared String.IsNullOrWhitespace qui fait exactement ce que tu veux ;)
      • Partager sur Facebook
      • Partager sur Twitter
        4 février 2012 à 15:55:18

        Bonjour, merci pour les biscuit :)

        la fonction IsNullOrWhitespace n'existe pas du tout sur visual basic 2010 et est reconnu comme une erreur.
        • Partager sur Facebook
        • Partager sur Twitter
          4 février 2012 à 16:01:11

          Pourrait-on voir ton code actuel ?
          • Partager sur Facebook
          • Partager sur Twitter
          "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
          Anonyme
            4 février 2012 à 16:07:50

            C'est une méthode shared de la classe String, pas une méthode à appeler depuis une instance de String (ce qui est dommage AMHA) ;)

            PS : Je suppose que le tuto VB.NET conseille le coup de la méthode Verification() ? Tout le monde ici en a une.
            Une raison de plus pour ne pas aimer ce tuto : cette fonction est ridiculement longue.
            Ecris ça plutôt comme ça :
            Function Verification() As Boolean
                Return condition1 AndAlso condition2 'etc
            End Function
            

            Au lieu de créer une variable et de faire plein de tests, on retourne directement le booléen créé par l'enchaînement de ces conditions. Evidemment, il faut dans ce cas inverser les conditions ; dans ton exemple "le nom n'est pas vide ET le mdp n'est pas vide".
            • Partager sur Facebook
            • Partager sur Twitter
              4 février 2012 à 19:11:43

              bonsoir,

              merci pour ces conseille fort utile. J'ai néanmoins fait autrement. Meme si ce n'est certeinement pas la meilleure facon j'en ai trouve une qui fonctionne.

              j'ai ecrit cela comme ca :

              If (Me.login.Text) = "" Or (Me.pass.Text) = "" Then
                          Me.Label4.Visible = True
                          Me.Label4.Text = "ERREUR DE LOGIN OU DE MOT DE PASSE"
                      Else
                          Me.Label3.Visible = True
                          Me.Label3.Text = "VERIFICATION EN COURS"
              


              merci du Temp que vous avez accordé a ma requête.

              Sincère salutation
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                4 février 2012 à 20:10:15

                A part les parenthèses inutiles, c'est pas mauvais.
                L'avantage de String.IsNullOrWhitespace c'est que ça élimine également le cas où ton login/pass est composé d'espaces (" ").
                • Partager sur Facebook
                • Partager sur Twitter

                VB.NET Variable sur champ vide

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown