Utilisation de ShowHelp et XmlReader (pourquoi ça marche pas :'(

Fermé
Clownard Messages postés 2 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 29 décembre 2014 - Modifié par Whismeril le 23/12/2014 à 16:54
Clownard Messages postés 2 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 29 décembre 2014 - 29 déc. 2014 à 19:38
Bonjour,

J'essaye de programmer un logiciel de classement d'images avec VB2010 Express, je me suis renseigné sur les tutos et deux instructions me posent soucis. Malgré que j'ai a priori respecté la syntaxe l'une ne fait rien et l'autre me renvoie une erreur pas logique.

1. Je dois faire un lien vers un fichier "images.chm" pour afficher l'aide quand on clique sur aide. J'ai donc mis entre les balises correspondant à l'action de cliquer sur le bouton
Help.ShowHelp (Me, "images.chm")
Je lance le débogage il ne me met pas d'erreur mais quand je clique sur le bouton en question rien ne se produit. Pourquoi ?

2. J'ai pensé que le plus approprié dans le cas de mon logiciel était de stocker et lire les données dans un fichier .xms J'ai trouvé un script assez proche de ce que je veux faire:
"
Imports System.Xml
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Set the caption bar text of the form. 
Me.Text = "tutorialspoint.com"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListBox1().Items.Clear()
Dim xr As XmlReader = XmlReader.Create("movies.xml")
Do While xr.Read()
If xr.NodeType = XmlNodeType.Element AndAlso xr.Name = "movie" Then
ListBox1.Items.Add(xr.GetAttribute(0))
End If
Loop
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
ListBox2().Items.Clear()
Dim xr As XmlReader = XmlReader.Create("movies.xml")
Do While xr.Read()
If xr.NodeType = XmlNodeType.Element AndAlso xr.Name = "type" Then
ListBox2.Items.Add(xr.ReadElementString)
Else
xr.Read()
End If
Loop
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
ListBox3().Items.Clear()
Dim xr As XmlReader = XmlReader.Create("movies.xml")
Do While xr.Read()
If xr.NodeType = XmlNodeType.Element AndAlso xr.Name = "description" Then
ListBox3.Items.Add(xr.ReadElementString)
Else
xr.Read()
End If
Loop
End Sub
End Class"

Script qui théoriquement est fonctionnel (trouvé sur un tuto), pourtant il me sort une erreur qui me parait inapropriée, savoir que dans "Handles Button1.Click" (l7) button1 devrait être défini par WithEver (ce que j'ai par ailleurs essayé mais ça donne rien). Ou pourrait être le problème selon vous ?
Merci d'avance.

EDIT: Ajout de la coloration syntaxique.

1 réponse

Utilisateur anonyme
23 déc. 2014 à 17:04
Bonjour, je fais assez peu de Vb.Net, plutôt du C#, mais en général ce qui va pour l'un va pour l'autre.

Perso je trouve xmlReader difficile à mettre en oeuvre, il peut planter à cause du temps d'accès au fichiers xml, quand on à une classe à serialiser, il ne faut pas avoir une liste dans une liste (par exemple pour des créneaux horaires, une semaine contient une liste de jours, un jour contient des heures, dans ce cas on ne peut pas serialiser d'un coup), les message d'erreur sont parfois incompréhensibles.....

Je te conseille de regarder LinqToXml, voir cet exemple en C#. Il y a de bons traducteurs en ligne.
0
Clownard Messages postés 2 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 29 décembre 2014
29 déc. 2014 à 19:38
Pour ShowHelp j'ai pu contourner le truc, pour XmlReader je vais voir ça merci :)
0