Vb.net editer chaque ligne ^^

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

5 réponses

  1. 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
    1. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      salut ,
      je l'ai modif et il fonctionne :p , merci beaucoup !
      0
  2. 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
    1. relax. Messages postés 383 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
  3. Utilisateur anonyme
     
    re:

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

    Lupin
    0
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Place l'exemple de Lupin dans une boucle au lieu de l'évènement Dclick et ça va le faire.
    A+
    0
    1. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      Ok j'essaye
      0
    2. relax. Messages postés 383 Date d'inscription   Statut Membre Dernière intervention   26
       
      ça n'a pas fonctionné :/
      0
    3. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      ça n'a pas fonctionné :/
      Ça ne veux rien dire...
      Montre le code que tu en a tiré.
      0
    4. relax. Messages postés 383 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
    5. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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