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 6 et antérieur Discussion :

Question sur un test if


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 89
    Par défaut Question sur un test if
    Bonjour,

    voila je me posait une question, j'ai un programme qui compare des valeurs dans un champ texte.
    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
    18
    19
    20
    21
    22
    23
    24
    25
        If (Interv.text = "Arp") Then           'on cherche quelle valeur est selectionnee et on lui attribut une valeur
            seq8 = "WR0059,3031" & Chr(13)
        ElseIf (Interv.text = "autres") Then
            seq8 = "WR0059,3032" & Chr(13)
        ElseIf (Interv.text = "DAC") Then
            seq8 = "WR0059,3033" & Chr(13)
        ElseIf (Interv.text = "FBO") Then
            seq8 = "WR0059,3034" & Chr(13)
        ElseIf (Interv.text = "FW") Then
            seq8 = "WR0059,3035" & Chr(13)
        ElseIf (Interv.text = "GB") Then
            seq8 = "WR0059,3036" & Chr(13)
        ElseIf (Interv.text = "maintenance") Then
            seq8 = "WR0059,3037" & Chr(13)
        ElseIf (Interv.text = "mouliste") Then
            seq8 = "WR0059,3038" & Chr(13)
        ElseIf (Interv.text = "NBR") Then
            seq8 = "WR0059,3039" & Chr(13)
        ElseIf (Interv.text = "STH") Then
            seq8 = "WR0059,3130" & Chr(13)
        ElseIf (Interv.text = "TC") Then
            seq8 = "WR0059,3131" & Chr(13)
        End If
        Sleep 500
        MSComm3.Output = seq8
    quand je la passe en mode debug, ca marche la bonne valeur est choisie et tout et tout... Mais quand je relis, mis a part pour le texte "TC" rien n'apparait ca le fait pour toutes les valeurs sauf la derniere.

    c'est peut etre tellement bête que je ne l'ai pas vu ou je suis plus bête que je ne pensais déja. Quelqu'un verrai un truc qui colle pas dans mon test.?

    merci

  2. #2
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Ce ne serait pas plus simple avec un Select case ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     select case Interv.text 
      case  "Arp" : seq8 = "031"          'on cherche quelle valeur est selectionnee et on lui attribut une valeur
      case  "autres" : seq8 = "032" 
    ........
      case  "TC" : seq8 = "131" 
      case else : seq8 = "000"  ' erreur de choix
    End select
        Sleep 500
        MSComm3.Output = "WR0059,3" & seq8 & Chr(13)

  3. #3
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Si le test ne marche qu'en débugage c'est que je le soupconne etre dans un événement OnComm vu ton code (tant qu'à faire autant donner tout le code d'une procédure d'ailleurs) et il est donc possible que le buffer d'entrée ne contienne pas les caractères que tu attends.
    Si tu as mis le RTreshold à 1, cet événement se produit dès qu'il y a 1 caractère dans le tampon d'entrée du port com, il est donc nécessaire de tester aupravant si tu as une chaine de longueur suffisante pour pouvoir effectuer ton test.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 89
    Par défaut
    bas je procède de la même façon sur tout les champs et c'est le seul qui me pose problème. Mais c'est vrai que lorsque je fais la relecture il me retourne que des zero, comme si l'ecriture avait écris que des zéro au lieu de mes 3130

  5. #5
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par gomtex Voir le message
    bas je procède de la même façon sur tout les champs et c'est le seul qui me pose problème.
    Vu ton age, c'est pas une raison pour apprendre à programmer comme un cochon

    La grosse différence entre un Case et une série de Elseif, c'est que l'expression n'est évalué qu'UNE SEULE FOIS dans un Case et à CHAQUE test dans un Elseif

    Les performances du programme peuvent s'en ressentir grandement !

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 89
    Par défaut
    oui maman..... non je rigole....

    mais je pensais pas que c'etait du travail de cochon....
    jvais essayer d'y retoucher "et pis c'est tout"

    merci a vous

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

Discussions similaires

  1. Question sur les tests fonctionnels
    Par obito dans le forum Visual Studio
    Réponses: 4
    Dernier message: 18/05/2011, 09h47
  2. Réponses: 3
    Dernier message: 12/04/2011, 16h30
  3. question sur la commande test
    Par juin29 dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 17/02/2011, 14h44
  4. [Test] Question sur l'importance des tests
    Par foufa007 dans le forum Test
    Réponses: 3
    Dernier message: 07/03/2007, 15h45

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