Soyez le premier à donner votre avis sur cette source.
Snippet vu 21 286 fois - Téléchargée 31 fois
Public Class Form1 Dim MonPort As New portserie Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If (MonPort.TrouverModem()) Then MessageBox.Show("Connecter la ligne téléphonique sur le modem RTC branché sur le port " & MonPort.NoPort, "Modem Trouvé", MessageBoxButtons.OK, MessageBoxIcon.Information) Else MessageBox.Show("Aucun Modem RTC n'a été trouvé", "Boulette", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub End Class #Region "Classe port Serie" Public Class portserie Public ListePorts() As String = System.IO.Ports.SerialPort.GetPortNames 'liste des port COM disponible sur l'ordinateur Public NoPort As String = "NULL" 'Numero de port où est branché un modem RTC Public Debit As Integer = 9600 'delit en bits/sec sur le port COM Public NbBits As Integer = 8 'bits de donnée Public BitStop As String = IO.Ports.StopBits.One 'bit de stop Public Parite As String = IO.Ports.Parity.None 'parité Public BufferIN As String = "" ' Function configuration() As Boolean Form1.PSerie.PortName = NoPort Form1.PSerie.BaudRate = Debit Form1.PSerie.DataBits = NbBits Form1.PSerie.StopBits = BitStop Form1.PSerie.Parity = Parite End Function Function ouverture() As Boolean ' verifie que le port est fermé avant de l'ouvrir If (Not Form1.PSerie.IsOpen() Or NoPort = "NULL") Then Form1.PSerie.Open() End If ouverture = EtatPort() End Function Function fermeture() As Boolean ' verifie que le port est ouvert avant de le fermer If (Form1.PSerie.IsOpen()) Then Form1.PSerie.Close() End If fermeture = EtatPort() End Function Function EtatPort() As Boolean ' test le port et retourn 0 ou 1 If (Form1.PSerie.IsOpen()) Then EtatPort = True Else EtatPort = False End If End Function Sub ViderBuffer() While (Form1.PSerie.BytesToRead() <> 0) BufferIN &= Form1.PSerie.ReadLine() End While End Sub Sub EnvoieCommande(ByVal TempoMs As Integer, ByVal commande As String) BufferIN = "" Form1.PSerie.Write(commande & vbCrLf) System.Threading.Thread.Sleep(TempoMs) ViderBuffer() End Sub Function TrouverModem() As Boolean 'recherche dans la liste des port de l'ordi celui qui répond a la commande AT Dim i As Integer TrouverModem = False For i = 0 To listePorts.Length - 1 Form1.PSerie.PortName = listePorts(i) Form1.PSerie.Open() EnvoieCommande(500, "AT") If (BufferIN Like "*OK*") Then NoPort = ListePorts(i) End If Form1.PSerie.Close() Next If (NoPort <> "NULL") Then ouverture() TrouverModem = True End If End Function End Class #End Region
21 mai 2009 à 18:26
svp, tu peut mettre ce programme en ZIP
5 août 2008 à 12:31
je veut savoir si je peut recuperer les données reçues d'un buffer dans une table de base se donnée access'et si fesable commant?
5 août 2008 à 10:23
je veut savoir si je veut faire la connexion puis envoyer une donnée et recuperer les données reçues sur le buffer dans une base se donnée?
24 juin 2007 à 15:38
11 juin 2007 à 09:36
J'ai l'impression que c'est exactement ce que vous faites ici mais moi je n'y arrive pas je pense quue je doit mal declarer mon sous-programme DataReceved.
Quelqu'un pourrais jeter un coup d'oeil.
Private Sub PortRS232_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
Dim Buffer As String = PortRS232.ReadExisting()
'L'évènement DataReceived se situe sur un thread différent que le form, nous devons donc appelé un délégué pour afficher le résultat à l'écran
If Me.InvokeRequired Then
Me.Invoke(New d_Affiche(AddressOf Affiche), Buffer)
End If
End Sub
'fonction permettant l'affichage des données lors de l'appel du délégué
Private Sub Affiche(ByVal Texte As String)
RichTextBox1.Text &= Texte
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.