none
vb 2010 express "si può eliminare una riga in un file di testo?"

    Domanda

  • Salve a tutti, c'è qualcuno che mi può aiutare? ho creato un textbox con dentro un file di testo e con un pulsante elimina vorrei eliminare una parola o riga che conosco dentro il file di testo, è possibile?

    io ho fatto in questo modo, ma non ho risolto niente, sto cercando nel manuale msdn library ma nulla (sicuramente sono io che cerco male) grazie

     

    codice:

    Dim a As String = Replace(TextBox1.Text, vbCrLf, "")
            TextBox1.Text = ""

    giovedì 12 gennaio 2012 20:44

Risposte

  • Ah... Adesso è chiaro... Perché all'inizio avevi detto "intendo cancellare il nome senza accedere al file che si trova nella cartella C:\Accessi\ArchivioGenerale\CognomeNome.", quindi il discorso non mi tornava :-)

    Per fare quello che vuoi, devi scrivere:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        Dim path As String = "c:\Accessi\ArchivioGenerale\CognomeNome.txt"
    
        'Legge il file originale.
        Dim text = System.IO.File.ReadAllText(path)
    
        'Elimina il testo specificato nella casella di testo.
        text = text.Replace(TextBox1.Text, String.Empty)
    
        'Salva il file modificato.
        System.IO.File.WriteAllText(path, text)
    
        MessageBox.Show("Il File è stato aggiornato con successo.")
    
    End Sub
    

    I commenti ti spiegano il significato di ogni istruzione.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva
    venerdì 13 gennaio 2012 10:51

Tutte le risposte

  • ciao

     

    il replace funziona così:

     

            Dim myTextBox As String = "ciao io mi chiamo Mario Rossi"
            Dim testoFiltrato = myTextBox.Replace("chiamo", "CHIAMO")
    
    

    io ho usato delel variabili, tu al loro posto farai [TuoTextBox].Text

     

    a presto

     


    Antonio Esposito
    MCT, MCPD, MCTS, MCP
    http://dotnetlombardia.org

    Italy
    giovedì 12 gennaio 2012 21:02
  • Ciao Bartolomeo

    Il tuo codice funziona, probabilmente non e' cio che volevi.

    la prima line assegna al variabile a cio che e' in textbox1.text cambiando il carriege return con il ""

    la seconda line assegna "" all textbox1.text

    '===========

    prova questo

    Option Strict On
    Option Explicit On
    Option Infer Off
    
    Public Class Form4
        Dim VechioTesto As String = "ciao io mi chiamo Xiong Wei Jin"
        Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.Text = VechioTesto
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim ParolaVuoiCambiare As String = "Xiong Wei Jin"
            Dim CambiaConQuestaParola As String = "Carmelo"
            Dim NouvoTesto As String = Replace(VechioTesto, ParolaVuoiCambiare, CambiaConQuestaParola)
            Me.Text = NouvoTesto
        End Sub
    
    End Class
    

     


    Be a good forum member. Make this forum a great place to meet and interact with others around the world.

    giovedì 12 gennaio 2012 23:57
  • Grazie per avermi risposto:

    ho provato con tutte e due i metodi, ma non elimina il nome, forse sono io che non mi sono spiegato, però perdonatemi sono alle prime armi e sono con il manuale giorno e notte (msdn library).

    ho creato una textbox1.text e due pulsanti, uno "aggiungi" e l'altro "rimuovi" la textbox1 è collegata al file "CognomeNome", e quando aggiungo un nuovo nome entra nel file "CognomeNome" senza che io debba vedere il File è l'ho fatto in questo modo:

    Codice:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Dim sw As New IO.StreamWriter("c:\Accessi\ArchivioGenerale\CognomeNome.txt", True)
            sw.Write(TextBox1.Text)
            sw.Close()
            TextBox1.Text = ""
            MessageBox.Show("Il File è stato copiato con successo.")

        End Sub

    Ora nel pulsante "Rimuovi" voglio fare la stessa cosa, cioè eliminare un nome che conosco, il tutto senza entrare nel file "CognomeNome".

    Grazie e nel frattempo mi vado a vedere bene la procedura "Replace"

    "For Xiong Wei, I'm very greated for you help, By Bart"

    venerdì 13 gennaio 2012 09:01
  • Ora nel pulsante "Rimuovi" voglio fare la stessa cosa, cioè eliminare un nome che conosco, il tutto senza entrare nel file "CognomeNome".


    Cosa intendi con senza entrare nel file "CognomeNome"?
    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva
    venerdì 13 gennaio 2012 09:05
  • Ciao Marco, grazie

    intendo cancellare il nome senza accedere al file che si trova nella cartella C:\Accessi\ArchivioGenerale\CognomeNome.

    mi spiego meglio

    scrivo nella textbox1 il nome "Pinco Pallino" dopo di che premo il pulsante elimina e il Nome Pinco Pallino è eliminato dal File "CognomeNome".

    in un secondo tempo se questo è stato eliminato io vado nel file e controllo che il nome è veramente eliminato.

    Spero di essermi espresso bene. Anticipatamente perdonatemi i miei mille dubbi

    venerdì 13 gennaio 2012 10:15
  • Perdonami, c'è qualcosa che non mi è chiaro.

    Prima dici che vuoi cancellare il nome senza accedere al file, ma dopo dici premo il pulsante elimina e il Nome Pinco Pallino è eliminato dal File "CognomeNome". Forse non ho capito cosa intendi con "il nome Pinco Pallino è eliminato dal file": il nome deve essere cancellato solo dalla casella di testo, oppure anche dal file su disco?


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva
    venerdì 13 gennaio 2012 10:26
  • deve essere cancellato dal file su disco fisso.

    nella textbox1 compare bianca io devo solo scrivere pinco pallino e automaticamente premendo il pulsante rimuovi cancella il nome Pinco Pallino dal file CognomeNome che si trova nel percorso "c:\Accessi\ArchivioGenerale\CognomeNome

    venerdì 13 gennaio 2012 10:40
  • Ah... Adesso è chiaro... Perché all'inizio avevi detto "intendo cancellare il nome senza accedere al file che si trova nella cartella C:\Accessi\ArchivioGenerale\CognomeNome.", quindi il discorso non mi tornava :-)

    Per fare quello che vuoi, devi scrivere:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
        Dim path As String = "c:\Accessi\ArchivioGenerale\CognomeNome.txt"
    
        'Legge il file originale.
        Dim text = System.IO.File.ReadAllText(path)
    
        'Elimina il testo specificato nella casella di testo.
        text = text.Replace(TextBox1.Text, String.Empty)
    
        'Salva il file modificato.
        System.IO.File.WriteAllText(path, text)
    
        MessageBox.Show("Il File è stato aggiornato con successo.")
    
    End Sub
    

    I commenti ti spiegano il significato di ogni istruzione.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva
    venerdì 13 gennaio 2012 10:51
  • Bingo, ora mi studio il tutto con il manuale passo passo.

    questo è il codice che grazie a voi ho ottenuto il piccolo scopo:

    Imports System.IO
    Imports System
    Imports System.Text

    Public Class Impostazioni

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Dim sw As New IO.StreamWriter("c:\Accessi\ArchivioGenerale\CognomeNome.txt", True)
            sw.Write(TextBox1.Text)
            sw.Close()
            TextBox1.Text = ""
            MessageBox.Show("Il File è stato copiato con successo.")

        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim path As String = "c:\Accessi\ArchivioGenerale\CognomeNome.txt"
            'Legge il file originale.
            Dim text = System.IO.File.ReadAllText(path)
            'Elimina il testo specificato nella casella di testo.
            text = text.Replace(TextBox1.Text, String.Empty)
            'Salva il file modificato.
            System.IO.File.WriteAllText(path, text)
            MessageBox.Show("Il File è stato aggiornato con successo.")
        End Sub

    End Class

    venerdì 13 gennaio 2012 11:13
  • Felice di essere stato utile :-)

    Alla prossima!


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva
    venerdì 13 gennaio 2012 11:24
  • Bingo, ora mi studio il tutto con il manuale passo passo.

    questo è il codice che grazie a voi ho ottenuto il piccolo scopo:

    Imports System.IO
    Imports System
    Imports System.Text

    Public Class Impostazioni

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            Dim sw As New IO.StreamWriter("c:\Accessi\ArchivioGenerale\CognomeNome.txt", True)
            sw.Write(TextBox1.Text)
            sw.Close()
            TextBox1.Text = ""
            MessageBox.Show("Il File è stato copiato con successo.")

        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim path As String = "c:\Accessi\ArchivioGenerale\CognomeNome.txt"
            'Legge il file originale.
            Dim text = System.IO.File.ReadAllText(path)
            'Elimina il testo specificato nella casella di testo.
            text = text.Replace(TextBox1.Text, String.Empty)
            'Salva il file modificato.
            System.IO.File.WriteAllText(path, text)
            MessageBox.Show("Il File è stato aggiornato con successo.")
        End Sub

    End Class

    Buongiorno a tutti, scusate non son pratico del forum e non so se ci si possa 'aggiungere' alle domande altrui... in caso negativo vi prego di ignorarmi pure. Questo codice mi torna molto utile per una sorta di 'user manager' che sto creando, ma la procedura quando effettua il replace cancella il testo specificato e lascia al suo posto una riga vuota... c' é il modo di eliminarla?

    In sostanza se nel file ho:

    a

    b

    c

    e io lo uso per cancellare b il risultato sarà 

    a

    c

    mentre a me servirebbe che la riga vuota sparisse.

    Grazie mille in anticipo.


    +++ Alex +++

    venerdì 18 ottobre 2013 05:18