Vb.net editer chaque ligne ^^

Résolu
relax. Messages postés 380 Date d'inscription   Statut Membre Dernière intervention   -  
relax. Messages postés 380 Date d'inscription   Statut Membre Dernière intervention   -
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

Utilisateur anonyme
 
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   Statut Membre Dernière intervention   26
 
salut ,
je l'ai modif et il fonctionne :p , merci beaucoup !
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   26
 
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
 
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 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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   Statut Membre Dernière intervention   26
 
Ok j'essaye
0
relax. Messages postés 380 Date d'inscription   Statut Membre Dernière intervention   26
 
ça n'a pas fonctionné :/
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
ç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   Statut Membre Dernière intervention   26
 
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 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
 
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