Le code permet d'effacer une ligne dans un fichier txt sans laisser de ligne blanche.
Dans cette exemple, je selectionne le Nom d'un dinosaure à effacer dans une combobox(le nom du dinosaure fait partie des premiers caractères de chaque ligne, la suite de la ligne étant diverse caractéristiques)
Source / Exemple :
Private Sub BtnSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSupprimer.Click
Dim DinosaureASupprimer As String = CbBxDinosaure.SelectedItem
Dim objFichierDinosaure = New System.IO.StreamReader(Application.StartupPath & "/dinosaure.txt", System.Text.Encoding.UTF8)
Dim strligne As String
Dim tabDinosaure() As String
Dim x As Integer = 0
Dim reponse As String = MessageBox.Show("Etes-vous sûr de vouloir supprimer le dinosaure " _
& DinosaureASupprimer & ".", "Suppresion de Dinosaure", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If reponse = DialogResult.Yes Then
Do While objFichierDinosaure.Peek <> -1
strligne = objFichierDinosaure.ReadLine
ReDim Preserve tabDinosaure(x)
tabDinosaure(x) = strligne
x += 1
Loop
objFichierDinosaure.close()
For x = 0 To UBound(tabDinosaure)
Dim dinosaureDuTableau As String = Trim(tabDinosaure(x).Substring(0, 19))
If DinosaureASupprimer = dinosaureDuTableau Then
Dim y As Integer
For y = x To UBound(tabDinosaure) - 1
tabDinosaure(x) = tabDinosaure(x + 1)
Next
Exit For
End If
Next
Dim objstreamwriter As New System.IO.StreamWriter(Application.StartupPath & "/dinosaure.txt", False)
Dim z As Integer
For z = 0 To UBound(tabDinosaure) - 1
objstreamwriter.WriteLine(tabDinosaure(z))
Next
CbBxDinosaure.Items.RemoveAt(CbBxDinosaure.SelectedIndex)
CbBxDinosaure.SelectedIndex = 0
objstreamwriter.Close()
End If
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.