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

 

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    décembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 83
    Points : 102
    Points
    102

    Par défaut Problème de programmation incompréhensible sous VB6

    Bonjour à tous,
    Je rencontre le problème suivant:
    J'ai deux variables nommées "couleur" et couleur2" (string)
    Je veux effectuer une action si l'une des 2 variables vaut "FFFFFF"
    je code donc la ligne suivante

    if couleur<> "FFFFFF" or couleur2<>"FFFFFF" then.....( action à effectuer si l'une ou l'autre des variables passent à "FFFFFF"
    or mème si couleur2 passe bien à "FFFFFF" l'action n'est pas réalisée.
    Pour que cela fonctionne il faut remplaçer le "or" par un and ( ce qui n'est pas logique car cela reviendrait à tester les deux variables ensembles).
    Est ce que quelqu'un peut m'expliquer ce phénomène !!!.
    Avec tous mes remerciements et mes cordiales salutations

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 534
    Points : 9 787
    Points
    9 787

    Par défaut

    Salut

    En effet cela n'est pas normal, mets nous plus de code, car c'est pas VB qui fonctionne pas correctement, c'est ton code qui n'est pas bien construit.
    Tu pourrais vérifier tes deux variables en les affichant dans un MsgBox, cela te permettrais d'avoir la certitude de la valeur de chacune et si c'est bien la valeur attendu pour ta condition.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox "couleur = "  & Cstr(couleur) & VBnewline & "couleur2 = " & Cstr(couleur2)
    Attention, la variable couleur n'est pas la même que CouleuR, se sont deux variables différentes.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    décembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 83
    Points : 102
    Points
    102

    Par défaut problème incompréhensible de test de 2 variables suite

    Merci pour ta réponse , mais je travaille sous VB6 et Directx 8.
    Pour connaitre la valeur de mes deux variables je les affichent dans la boucle du DX.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Backbuffer.DrawText 300, 10, "couleur=  " & couleur, False
    Backbuffer.DrawText 300, 50, "couleur2=  " & couleur2, False
    et je trouve bien les deux valeurs identiques soit "FFFFFF" alors ????
    bizarre , bizarre !
    Encore merci pour ta contribution

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    décembre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 83
    Points : 102
    Points
    102

    Par défaut problème incompréhensible de test de 2 variables suite

    Ne cherchez plus , je crois avoir trouvé le problème , en fait effectivement c'est un défaut de construction du code je m'en expliquerais quand j'aurais modifié celui-ci
    encore merci

  5. #5
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    janvier 2008
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2008
    Messages : 556
    Points : 1 016
    Points
    1 016

    Par défaut

    Citation Envoyé par yvanovitch Voir le message
    if couleur<> "FFFFFF" or couleur2<>"FFFFFF" then.....( action à effectuer si l'une ou l'autre des variables passent à "FFFFFF"
    or mème si couleur2 passe bien à "FFFFFF" l'action n'est pas réalisée.
    Pour que cela fonctionne il faut remplaçer le "or" par un and ( ce qui n'est pas logique car cela reviendrait à tester les deux variables ensembles).
    Pour moi, c'est normal .
    Il faut coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if couleur="FFFFFF" or couleur2="FFFFFF" then 
     '  action à effectuer si l'une ou l'autre des variables passent à "FFFFFF"
    Endif

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

Discussions similaires

  1. programmer un tableau sous VB6
    Par aymane19 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 23/04/2008, 19h58
  2. Problème éléments vides dans du XML sous VB6
    Par matteli dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/11/2007, 16h01
  3. débutant - Problème programme C sous windows
    Par pedro134 dans le forum C
    Réponses: 15
    Dernier message: 17/03/2007, 09h11
  4. Problème d'impression d'un Datagrid sous VB6
    Par xenografter dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/12/2006, 15h22
  5. [VB6] problème médiaplayer sous vb6
    Par vb6.beginner dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 11/06/2006, 14h59

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