lorsque je selection un item une premiere fois le code fontionne bien, si je le selectionne une 2 eme fois sa m'affiche un message d'erreur :
Le serveur a commis une violation de protocole. Section=ResponseBody Detail=Le format du segment de réponse n'est pas valide
a cette ligne de code
Dim MonStream = New System.IO.StreamReader(WEB_CLIENT.OpenRead("http://" & imprimante & "/device_status.html"), System.Text.Encoding.Default)
Ta fonction ne renvoie aucune valeur.
Utilise l'instruction Using / End using pour libérer l'objet StreamReader automatiquement.
On active Option Strict dans les propriétés du projet puis on corrige les erreurs.
Le sujet est posté dans la mauvaise section.
On dit bonjour pour être poli (voir règlement du forum)
Voilà quand tu auras réalisé tout ceci, on passera à la suite.
cs_sofiane2
Messages postés23Date d'inscriptiondimanche 6 avril 2003StatutMembreDernière intervention 1 mai 2013 10 sept. 2012 à 13:18
bonjour
j'essaye de reccupere certain champs en vb net
voici le code
sub recup(ByVal imprimante As String)
Dim WEB_CLIENT As New Net.WebClient()
WEB_CLIENT.UseDefaultCredentials = True
'Dim DOWNLOAD_DATA = System.Text.Encoding.Default.GetString(WEB_CLIENT.DownloadData("http://" & imprimante & "/device_status.html"))
Dim MonStream = New System.IO.StreamReader(WEB_CLIENT.OpenRead("http://" & imprimante & "/device_status.html"), System.Text.Encoding.Default)
Dim DOWNLOAD_DATA = MonStream.ReadToEnd()
Dim posMag1 = InStr(DOWNLOAD_DATA, "<td>Magasin 1</td>")
Label1.Text = Replace(Mid(DOWNLOAD_DATA, posMag1 + 26, 15), "nbsp;</td>", "")
Dim posMag2 = InStr(DOWNLOAD_DATA, "<td>Magasin 2</td>")
Label2.Text = Replace(Mid(DOWNLOAD_DATA, posMag2 + 26, 15), "nbsp;</td>", "")
Dim posMag3 = InStr(DOWNLOAD_DATA, "<td>Magasin 3</td>")
Label3.Text = Replace(Mid(DOWNLOAD_DATA, posMag3 + 26, 15), "nbsp;</td>", "")
Dim posMag4 = InStr(DOWNLOAD_DATA, "<td>Plateau d'alim. aux.</td>")
Label4.Text = Replace(Mid(DOWNLOAD_DATA, posMag4 + 41, 13), "</td>", "")
''''''''''''''''''''''''toner
Dim tonerNoir = InStr(DOWNLOAD_DATA, "<td>Toner noir</td>")
Label5.Text = Replace(Mid(DOWNLOAD_DATA, tonerNoir + 40, 10), "</td>", "")
Dim tonerCyan = InStr(DOWNLOAD_DATA, "<td>Toner cyan</td>")
Label6.Text = Replace(Mid(DOWNLOAD_DATA, tonerCyan + 40, 10), "</td>", "")
Dim tonerMagenta = InStr(DOWNLOAD_DATA, "<td>Toner magenta</td>")
Label7.Text = Replace(Mid(DOWNLOAD_DATA, tonerMagenta + 43, 10), "</td>", "")
Dim tonerJaune = InStr(DOWNLOAD_DATA, "<td>Toner jaune</td>")
Label8.Text = Replace(Mid(DOWNLOAD_DATA, tonerJaune + 40, 11), "</td>", "")
MonStream.Dispose()
MonStream = Nothing
DOWNLOAD_DATA = Nothing 'libère le streamreader
WEB_CLIENT.Dispose()
WEB_CLIENT = Nothing
End Function
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
' Try
recup(ComboBox1.Text)
' Catch ex As System.Net.WebException
' MsgBox("Le serveur a commis une violation de protocole. Section=ResponseBody Detail=Le format du segment de réponse n'est pas valide")
' End Try
End Sub
lorsque je selection un item une premiere fois le code fontionne bien, si je le selectionne une 2 eme fois sa m'affiche un message d'erreur :
Le serveur a commis une violation de protocole. Section=ResponseBody Detail=Le format du segment de réponse n'est pas valide
a cette ligne de code
Dim MonStream = New System.IO.StreamReader(WEB_CLIENT.OpenRead("http://" & imprimante & "/device_status.html"), System.Text.Encoding.Default)
est ce que sa te va!
est c'est pas au niveau du stream que sa bloque
c'est le webclien WEB_CLIENT.DownloadData je sais pas comment le decharger !!!!