OVH Cloud OVH Cloud

COM 1 grrr

1 réponse
Avatar
Jean-Michel
Bonjour, voici mon probleme,
J'ai mis dans la fonction COM1_OnComm

Select Case COM1.CommEvent
' Traite chaque événement ou erreur en plaçant
' du code sous chaque instruction case.

' Ce modèle est disponible dans la section
' Exemple de la rubrique Aide sur l'événement OnComm
' dans l'Aide de Visual Basic.

' Erreurs
Case comEventBreak ' Un événement d'arrêt a été reçu.
Case comEventCDTO ' Expiration du délai CD (RLSD).
Case comEventCTSTO ' Expiration du délai CTS.
Case comEventDSRTO ' Expiration du délai DSR.
Case comEventFrame ' Erreur de trame.
Case comEventOverrun ' Perte de données.
Case comEventRxOver ' Dépassement de capacité du tampon de
réception.
Case comEventRxParity ' Erreur de parité.
Case comEventTxFull ' Tampon de transmission saturé.
Case comEventDCB ' Erreur inattendue lors de la récupération
de DCB]

' Événements
Case comEvCD ' Modification dans la ligne CD.
Case comEvCTS ' Modification dans la ligne CTS.
Case comEvDSR ' Modification dans la ligne DSR.
Case comEvRing ' Modification dans l'indicateur d'appel.


Case comEvReceive ' Réception d'un nombre RThreshold de
caractères.
InBuff1 = COM1.Input
If (InBuff1 <> " " Or InBuff1 <> "0" Or InBuff1 <> "#" Or
InBuff1 <> "=") Then
lblEtat.Caption = lblEtat.Caption & InBuff1
End If


Case comEvSend ' Un nombre Sthreshold de
' caractères se trouve dans le tampon de
transmission.
Case comEvEOF ' Un caractère indiquant la fin du fichier (EOF)
a été trouvé dans le
' flux d'entrée.
End Select
End Sub

Eh bien mon programme ose, m'afficher dans le lblEtat des caracteres que je
ne veux pas, style # ou = alors que j'ai programmer pour qu'il le fasse pas
!

Merci pour vos reponse !

1 réponse

Avatar
Bonjour,

Es-tu sûr que la variable InBuff1 soit de longueur égale à
un.
Car si InBuff1 contient "0=0 " par exemple, ton test ne
fonctionne pas et laissera passer InBuff1.

Si tel est le cas il faut faire une boucle qui parcourt
InBuff1 caractère par caractère et qui teste cahcun d'eux.

C'est juste une idée je n'ai jamais utilisé le controle
COM !

A+

Laurent
-----Message d'origine-----
Bonjour, voici mon probleme,
J'ai mis dans la fonction COM1_OnComm

Select Case COM1.CommEvent
' Traite chaque événement ou erreur en plaçant
' du code sous chaque instruction case.

' Ce modèle est disponible dans la section
' Exemple de la rubrique Aide sur l'événement


OnComm
' dans l'Aide de Visual Basic.

' Erreurs
Case comEventBreak ' Un événement d'arrêt a


été reçu.
Case comEventCDTO ' Expiration du délai CD


(RLSD).
Case comEventCTSTO ' Expiration du délai


CTS.
Case comEventDSRTO ' Expiration du délai


DSR.
Case comEventFrame ' Erreur de trame.
Case comEventOverrun ' Perte de données.
Case comEventRxOver ' Dépassement de


capacité du tampon de
réception.
Case comEventRxParity ' Erreur de parité.
Case comEventTxFull ' Tampon de transmission


saturé.
Case comEventDCB ' Erreur inattendue lors


de la récupération
de DCB]

' Événements
Case comEvCD ' Modification dans la ligne


CD.
Case comEvCTS ' Modification dans la ligne


CTS.
Case comEvDSR ' Modification dans la ligne


DSR.
Case comEvRing ' Modification dans


l'indicateur d'appel.


Case comEvReceive ' Réception d'un nombre


RThreshold de
caractères.
InBuff1 = COM1.Input
If (InBuff1 <> " " Or InBuff1 <> "0" Or


InBuff1 <> "#" Or
InBuff1 <> "=") Then
lblEtat.Caption = lblEtat.Caption &


InBuff1
End If


Case comEvSend ' Un nombre Sthreshold de
' caractères se trouve dans le


tampon de
transmission.
Case comEvEOF ' Un caractère indiquant la


fin du fichier (EOF)
a été trouvé dans le
' flux d'entrée.
End Select
End Sub

Eh bien mon programme ose, m'afficher dans le lblEtat des


caracteres que je
ne veux pas, style # ou = alors que j'ai programmer pour


qu'il le fasse pas
!

Merci pour vos reponse !


.