bonjour,
mon probléme est le suivant:
g fait un programme ki consiste a relevé des données d'un périphérique sur une page excel puis pour en fére un graphique, o fét je travail en vb.net mais quand j'appuie sur l'icone connexion g mon statut actuele ki reste toujours en déconnexion donc le transfert des données ne se fait pas voici a koi ressemble mon programme de connexion avec ses sous programmes:
#Region " Connexion "
Private Sub connexion()
'paramétrage de la liaison série avec les données suivantes:
Try
Timer.Start()
'on lance le timer
With serialport
. PortName = cbbportsCOM.Text
'nom du port : Port choisi dans la barre déroulante
.BaudRate = 9600
'vitesse de 9600 bauds
.Parity = IO.Ports.Parity.None
'aucune parité
.DataBits = 8
'8 bits de données
.StopBits = IO.Ports.StopBits.One
'1 bits de stop
.Handshake = IO.Ports.Handshake.RequestToSend
'on spécifie le mode de contrôle de dépassement du buffer de données.
' Ici c'est un contrôle matériel par l’intermédiaire de la ligne RTS
End With
serialport.Open()
'on ouvre le port
lblmessage.Text = "Port " & serialport.PortName & " Ouvert."
'on affiche à l'écran l'état du port : ici, le port est ouvert
Btnconnexion.Enabled = False
'le bouton Connexion n'est pas selectionnable
Btndéconnexion.Enabled = True
'le bouton Déconnection est selectionnable
TSMFichierConnecter.Enabled = False
'le bouton Connexion dans le menu n'est pas selectionnable Catch ex As System.Exception
MessageBox.Show(ex.Message)
'affiche un message si une erreur s'est produite
End Try
End Sub
#End Region
#Region " DataReceived " Private Sub DataReceived( _
ByVal sender As Object, _
ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) _
Handles serialport.DataReceived
'propriétés des données reçues
For i = 1 To 13
Application.DoEvents()
txtdonnéesreçues.Invoke(New _
myDelegate(AddressOf updateTextBox), _
New Object() {})
' 'appel à un délégué (équivalent à un sous-programme) mydelegate
'If serialport.ReceivedBytesThreshold = 1 Then
excelbis(i)
' 'on appel le sous-programme excelbis
ecrire(i)
' 'on appel le sous-programme ecrire
Tsldateheure.Text = Date.Now
'End If
' 'on affiche la date et l'heure actuelle dans la barre de statut en bar de l'écran Next
Try
If serialport.IsOpen Then
Lblstatut.Text = "connecté"
'on écrit le statut du port (ici connecté) dans un label
PictureBox1.Visible = True
'l'image 1 (connecté) est visible
PictureBox2.Visible = False
'l'image 2 (déconnecté) n'est pas visible
End If If serialport.isclose Then
Lblstatut.Text = "deconnecté"
'on écrit le statut du port (ici déconnecté) dans un label
PictureBox1.Visible = False
'l'image 1 (connecté) n'est pas visible
PictureBox2.Visible = True
'l'image 2 (déconnecté) est visible
End If
Catch ex As Exception
' MsgBox(ex.Message)
'affiche un message si une erreur s'est produite
End Try End Sub
' Private Declare Function GetInputState Lib "user32" () As Long
Public Delegate Sub myDelegate()
Public Sub updateTextBox()
'le délégué permet de mettre à jour les données reçues
'les données sont placées dans la zone de texte txtDonnéesReçues
'Application.DoEvents()
' If GetInputState Then A(pplication.DoEvents())
With txtdonnéesreçues
.Font = New Font("Arial", 14.0!, FontStyle.Bold)
'met à jour la police de caractère
.Text = serialport.ReadByte - 240
.Focus()
.SelectionStart = .Text.Length
.ScrollToCaret()
End With
j -= 1
' If txtdonnéesreçues.Text = -34 Then
'If données = -34 Then
'j = 23
'End If
'End If
If j < 11 Then
a += 1
j = 23
End If End Sub
#End Region
#Region " ecrire "
Private Sub ecrire(ByVal x)
Dim sw As New StreamWriter("l:\Etudes\Stages\EL HAMRAOUI Karim\MonFichierNew.txt", True)
'on initialise la propriété d'écriture et on définit le chemin d'accès au fichier où l'on va écrire
sw.Write(txtdonnéesreçues.Text)
'on écrit dans le fichier 'MonFichierNew.txt' les valeurs du richtextbox txtdonnéesreçues
sw.Write(" ;")
'on écrit ;
If x > 11 Then
GoTo fin
'sauter jusqu'à l'étiquette 'fin'
End If
If x > 4 Then
tampon(x)
'appel du sous-programme tampon
End If
fin:
If x = 13 Then
sw.Write(vbCrLf)
'on écrit dans le fichier 'MonFichierNew.txt' un saut retour à la ligne
End If
sw.Close()
'on ferme le fichier 'MonFichierNew.txt'
End Sub
Private Sub tampon(ByVal y)
Dim sx As New StreamWriter("l:\Etudes\Stages\EL HAMRAOUI Karim\Tampon.txt", True)
'on initialise la propriété d'écriture et on définit le chemin d'accès au fichier où l'on va écrire
sx.Write(txtdonnéesreçues.Text)
'on écrit dans le fichier 'Tampon.txt' les valeurs du richtextbox txtdonnéesreçues
If y = 11 Then
sx.Write(vbCrLf)
'on écrit dans le fichier 'Tampon.txt' un saut retour à la ligne
sx.Close()
'on ferme le fichier 'Tampon.txt'
End If
sx.Close()
'on ferme le fichier 'Tampon.txt'
End Sub
#End Region
je vous remercie d'avance d'avoir lut le programme juska a la fin (mé cété ke le début lol)