Condition ne fonctionne pas

Résolu/Fermé
jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 - 13 mars 2013 à 19:25
jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 - 13 mars 2013 à 22:17
Bonjour,
Alors voila, je suis en train de mettre un place un programme de commande de robot à distance. Dans mon soft, j'ai donc deux SerialsPorts(1-2) qui tournent simultanément. Le serialport1 qui est la virtualisation de mon module bluetooth connecté à mon robot. Et le SerialPort2 sur lequel est branché un Arduino avec un recepteur IR. Ce dernier envoie les infos Ir qu'il reçois sur mon COM 3 qui est donc mon serialPort2.
Lorsque je recois les infos, je veux donc les comparer ( si je recois une info Y de l'arduino, cela signifie qu'on a appuyé sur le bouton 2 de la télécommande, donc, cela veut dire que je veux faire avancer le robot ), je réceptionne donc mes données envoyées par l'arduino via SerialPort2 donc, et je fais ça :

        If (inputData = "C1AA0DF2") Then
            MsgBox("OKAY")
        End If
        MsgBox(inputData)


-> Avec C1AA0DF2 qui correspond à ma touche 2. Lorsque j'exécute mon code, mon "OKAY" ne s'affiche pas, mais ma variable inputData s'affiche bien, et elle vaut .. C1AA0DF2
Je ne comprend plus rien .. Si vous pouviez m'aider ..

2 réponses

Bonjour,

Affiches la variable inputData en l'encadrant de cette manière

        If (inputData = "C1AA0DF2") Then
            MsgBox("OKAY")
        End If
        MsgBox "-" & inputData & "-" & " longueur: " & len(inputData)

ça te permettra de vérifier qu'il qu'il n'y a pas d'espaces et la longueur de la chaine.
Verifies aussi que tu as bien tapé un 0 (zéro) et non un O (o majuscule).

A+
0
jobertomeu Messages postés 1189 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 86
Modifié par jobertomeu le 13/03/2013 à 22:17
Merci beaucoup d'avoir répondu, en effet, tu avais raison, je viens juste de résoudre mon problème, en fin de compte, je recevais bien "C1AA0DF2" MAIS avec un Retour chariot à la fin, donc dans ma msgbox, la valeur de ma variable s'affichait bien, mais le RC n'apparaissait pas. J'ai donc fait :

        Dim donnee_a_comparer As String = "C1AA0DF2" & vbCrLf & "" 
        If (inputData = donnee_a_comparer) Then 
            MsgBox("OKAY") 
        End If 
        MsgBox(inputData)


Voila, merci beaucoup, sujet résolut !
0