Partager via


Comment : recevoir des chaînes des ports série dans Visual Basic

Mise à jour : novembre 2007

Cette rubrique décrit comment utiliser My.Computer.Ports pour recevoir des chaînes des ports série de l'ordinateur en Visual Basic.

Pour recevoir des chaînes du port série

  1. Initialisez la chaîne de retour.

    Dim returnStr As String = ""
    
  2. Déterminez quel port série doit fournir les chaînes. Cet exemple suppose que c'est le port COM1.

  3. Utilisez la méthode My.Computer.Ports.OpenSerialPort pour obtenir une référence au port. Pour plus d'informations, consultez My.Computer.Ports.OpenSerialPort, méthode.

    Le bloc Using permet à l'application de fermer le port série même s'il génère une exception. Tout le code qui manipule le port série doit apparaître dans ce bloc ou dans un bloc Try...Catch...Finally.

    Using com1 As IO.Ports.SerialPort = _
            My.Computer.Ports.OpenSerialPort("COM1")
    End Using
    
  4. Créez une boucle Do pour lire les lignes de texte jusqu'à ce qu'il ne reste plus aucune ligne disponible.

    Do
    Loop
    
  5. Utilisez la méthode ReadLine pour lire la ligne de texte disponible suivante à partir du port série.

    Dim Incoming As String = com1.ReadLine()
    
  6. Utilisez une instruction If pour déterminer si la méthode ReadLine retourne Nothing (ce qui signifie qu'il n'y a plus de texte disponible). Si elle retourne Nothing, quittez la boucle Do.

    If Incoming Is Nothing Then
        Exit Do
    End If
    
  7. Ajoutez un bloc Else à l'instruction If pour gérer le cas si la chaîne est effectivement lue. Le bloc ajoute la chaîne du port série à la chaîne de retour.

    Else
        returnStr &= Incoming & vbCrLf
    
  8. Retournez la chaîne.

    Return returnStr
    

Exemple

Function ReceiveSerialData() As String
    ' Receive strings from a serial port.
    Dim returnStr As String = ""

    Using com1 As IO.Ports.SerialPort = _
            My.Computer.Ports.OpenSerialPort("COM1")
        Do
            Dim Incoming As String = com1.ReadLine()
            If Incoming Is Nothing Then
                Exit Do
            Else
                returnStr &= Incoming & vbCrLf
            End If
        Loop
    End Using

    Return returnStr
End Function

Cet exemple de code est également disponible sous forme d'extrait de code IntelliSense. Dans le sélecteur d'extrait de code, il se trouve dans Connectivité et réseau. Pour plus d'informations, consultez Comment : insérer des extraits de code dans votre code (Visual Basic).

Compilation du code

Cet exemple suppose que l'ordinateur utilise COM1.

Programmation fiable

Cet exemple suppose que l'ordinateur utilise COM1. Pour plus de souplesse, le code doit permettre à l'utilisateur de sélectionner le port série dans une liste de ports disponibles. Pour plus d'informations, consultez Comment : afficher les ports série disponibles dans Visual Basic.

Cet exemple utilise un bloc Using pour vérifier que l'application ferme le port même si une exception est levée. Pour plus d'informations, consultez Using, instruction (Visual Basic).

Voir aussi

Tâches

Comment : passer des appels avec des modems attachés aux ports série dans Visual Basic

Comment : envoyer des chaînes aux ports série dans Visual Basic

Comment : afficher les ports série disponibles dans Visual Basic

Référence

My.Computer.Ports, objet

System.IO.Ports.SerialPort