Vb.net editer chaque ligne ^^

Résolu/Fermé
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 - 4 janv. 2012 à 17:40
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 - 5 janv. 2012 à 22:25
Bonjour,
je suis débutant en vb.net , j'ai réussi a charger le contenue d'un fichier text dans un listbox , je cherche a éditer chaque ligne (item) de cette listbox affin d'ajouter : " | exemple [numeros]" (sans "") .

esque c'est possible ? si oui comment ?

merci d'avance .


A voir également:

5 réponses

Bonjour,

Exemple type dans un boucle (sur commande d'un bouton) ...

Private Sub btn_Edition_Click(ByVal sender As System.Object, _  
                                       ByVal e As System.EventArgs) _  
                                       Handles btn_Edition.Click  

 If (Me.lbx_Process.Items.Count > 0) Then  
    Dim Entree As String = String.Empty  
    Dim Indice As Int32 = (Me.lbx_Process.Items.Count - 1)  
    For Boucle As Int32 = 0 To Indice  
       Entree = Me.lbx_Process.Items(Boucle).ToString  
       Entree = InputBox("Donnée à modifier :", "Édition", Entree)  
       Me.lbx_Process.Items.RemoveAt(Boucle)  
       Me.lbx_Process.Items.Insert(Boucle, Entree)  
    Next  
 End If  

End Sub  


Cdt

Lupin
1
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 26
5 janv. 2012 à 22:25
salut ,
je l'ai modif et il fonctionne :p , merci beaucoup !
0
Utilisateur anonyme
4 janv. 2012 à 19:15
Bonjour,

Tu ne peux le faire directement ...

Il faut passer indirectement ...

exemple par double-click de la souris sur l'item :

Private Sub lbx_Morceau_MouseDoubleClick(ByVal sender As Object, _
					 ByVal e As System.Windows.Forms.MouseEventArgs) _
					 Handles lbx_Morceau.MouseDoubleClick

	Dim strEntree As String = String.Empty

	Dim Indice As Int32 = Me.lbx_Morceau.SelectedIndex

	strEntree = Me.lbx_Morceau.SelectedItem.ToString
	strEntree = InputBox("Donnée à modifier :", "Édition", strEntree)

	Me.lbx_Morceau.Items.RemoveAt(Indice)
	Me.lbx_Morceau.Items.Insert(Indice, strEntree)

End Sub


Cdt

Lupin
0
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 26
4 janv. 2012 à 19:52
Merci boucoup lupin pour ta réponse .

je voudrais que quand je clique sur le boutton , ça edite chaque ligne séparélent . , sans que j'intervien .

j'ai essayez ce code mais ça marche pas :/

 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try
            
            Dim open As New IO.StreamReader(Application.StartupPath & "\DATA\fichier.txt")
            While (open.Peek() > -1)
                Dim SW As IO.TextWriter
                SW = IO.File.AppendText(Application.StartupPath & "\DATA\fichier.txt")

                SW.WriteLine(" |  exemple")



            End While
            open.Close()

        Catch
        End Try
       
        'ListBox1.Items.Clear()


    End Sub
0
Utilisateur anonyme
4 janv. 2012 à 19:55
re:

Tes deux objets, le StreamReader (open) et le TextWriter (SW)
pointent sur le même fichier, c'est impossible !

Lupin
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 janv. 2012 à 20:09
Bonjour,
Place l'exemple de Lupin dans une boucle au lieu de l'évènement Dclick et ça va le faire.
A+
0
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 26
4 janv. 2012 à 20:28
Ok j'essaye
0
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 26
5 janv. 2012 à 03:42
ça n'a pas fonctionné :/
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 janv. 2012 à 09:06
ça n'a pas fonctionné :/
Ça ne veux rien dire...
Montre le code que tu en a tiré.
0
relax. Messages postés 380 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 8 mars 2013 26
5 janv. 2012 à 17:43
voial
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim strEntree As String = String.Empty

For Each item In ListBox1.Items
Dim Indice As Int32 = Me.ListBox1.SelectedIndex

strEntree = Me.ListBox1.SelectedItem.ToString
strEntree = "Donnée à modifier :"

Me.ListBox1.Items.RemoveAt(Indice)
Me.ListBox1.Items.Insert(Indice, strEntree)
Next

End Sub
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 5/01/2012 à 17:49
Ca devient.... pénible
Tu pourrais au moins regarder ce que Lupin te propose, ce serait la moindre des politesse.
Et de continuer avec lui vu que c'est lui qui t'a aiguillé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
5 janv. 2012 à 19:03
Bonjour relax,

La boucle que tu propose [ For Each item In ListBox1.Items ]
ne te permettra pas d'obtenir l'indice de l'élément sur lequel
tu veux opérer une édition.

L'instruction [ Dim Indice As Int32 = Me.ListBox1.SelectedIndex ]
ne sera pas valide puisque tu ne sélectionne pas un élément à
chaque tour de la boucle. L'instruction [ For Each item In ListBox1.Items ]
est plus une instruction d'énumération que de sélection.

... et l'instruction [ Me.ListBox1.Items.Insert(Indice, strEntree) ]
nécessite l'indice de sélection pour insérer au bon endroit !

Essai comme ceci ...

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

	Dim strEntree As String = String.Empty
	Dim Indice As Int32 = (Me.lbx_Process.Items.Count - 1)

	For Boucle As Int32 = 0 To Indice
		strEntree = Me.lbx_Process.Items(Boucle).ToString
		strEntree = InputBox("Donnée à modifier :", "Édition", strEntree)

		Me.lbx_Process.Items.RemoveAt(Indice)
		Me.lbx_Process.Items.Insert(Indice, strEntree)
	Next

End Sub


Cdt

Lupin
0