Private Sub Form_Load() Form1.Caption = "Mode auto" With MSComm1 .CommPort = 1 .Handshaking = 0 .RThreshold = 1 .RTSEnable = True .Settings = "9600,n,8,1" .SThreshold = 1 .PortOpen = True End With Text1.Text = "" End Sub Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False 'on ferme le port quand l'appli quitte End Sub Private Sub MSComm1_OnComm() Dim InBuff As String Select Case MSComm1.CommEvent ' On effectue la gestion des erreurs (cf. le modèle ci-dessus) ' Ici, on gère en fait pas grand-chose, mais c'est pour illustrer la démarche ;) 'liste des erreurs possibles Case comEventBreak 'On a reçu un signal d’interruption (Break) Case comEventCDTO ' Timeout de la porteuse Case comEventCTSTO ' Timeout du signal CTS (Clear To Send) Case comEventDSRTO ' Timeout du signal de réception Case comEventFrame ' Erreur de trame Case comEventOverrun ' Des données ont été perdues Case comEventRxOver ' Tampon de réception saturé Case comEventRxParity ' Erreur de parité Case comEventTxFull ' Tampon d’envoi saturé Case comEventDCB ' Erreur de réception DCB (jamais vu) 'liste des événements possibles qui sont, eux, normaux Case comEvCD 'Changement dans la broche CD (porteuse) Case comEvCTS 'Changement dans broche CTS Case comEvDSR 'Changement dans broche DSR (réception) Case comEvRing 'Changement dans broche RING (sonnerie) 'Chouette! on a reçu des données :) Case comEvReceive Dim tampon() As Byte tampon = MSComm1.Input Call Traitement(tampon) 'traitement données Case comEvSend ' il y a des caractères à envoyer Case comEvEOF 'on a reçu le caractère EOF End Select End Sub Sub Traitement(tampon As String) 'cette procédure sert à traiter l’information reçue dans le tampon Badge.SelStart = Len(Badge.Text) Badge.SelText = tampon 'ici, on affiche le résultat dans un champ de texte End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question