Oppure

Loading
11/03 7:35
Al1972
Salve community...
mostro il problema:

ho 2 textbox
nella text1 ho dentro la frase pippo, e scrivando esempio p nella text2, vorrei che mi cancelli le p rimanendo con il risultato
io
insomma, vorrei rimuovere qualsiasi carattere nella text1 scrivendo il carattere da rimuovere nell'altra textbox

ho provato cosi ma nulla:
        Dim TestString As String = TextBox1.Text
        Dim aString As String = Replace(TestString, TextBox1.Text, TextBox2.Text)



al
11/03 13:20
Thejuster
Ciao!
Mostra i tuoi tentativi. E vediamo dov'é l'errore.

Metodo più ¹ semplice, ciclo for per tutta la stringa. All'interno del ciclo for un'altro ciclo per le lettere da sostituire o rimuovere.

Ultima modifica effettuata da Thejuster 11/03 13:27
mire.forumfree.it/ - Mire Engine
C# UI Designer
11/03 13:47
Al1972
dici che ho bisogno di 2 cicli for per avere un replace assoluto dentro la stringa?, mo faccio altre prove se servono indizi :noway:
Ultima modifica effettuata da Al1972 11/03 13:48
al
11/03 15:35
Thejuster
Certo vai con calma e cerca di trovare una soluzione logica.
In caso di problemi, posta il codice e troviamo una soluzione.


1 ciclo per iterare tutte le lettere della txt con la stringa completa, l'altro ciclo annidato per confrontare e aggiungere ad un nuovo array o lista per il risultato

Ultima modifica effettuata da Thejuster 11/03 15:35
mire.forumfree.it/ - Mire Engine
C# UI Designer
11/03 21:04
Carlo
Postato originariamente da Al1972:
ho 2 textbox
nella text1 ho dentro la frase pippo, e scrivando esempio p nella text2, vorrei che mi cancelli le p rimanendo con il risultato
io
insomma, vorrei rimuovere qualsiasi carattere nella text1 scrivendo il carattere da rimuovere nell'altra textbox

ho provato cosi ma nulla:
 
Dim TestString As String = TextBox1.Text
Dim aString As String = Replace(TestString, TextBox1.Text, TextBox2.Text)



Come ti dice Thejuster devi fare due cicli se devi rimuovere più lettere diverse, se invece come sembra vuoi scrivere una singola lettera su TextBox2 e quella singola lettera deve essere usata per rimuovere le corrispondenti lettere eventualmente presenti in TextBox1, l'approcio che hai usato è quasi esatto.
hai sbagliato il secondo e il terzo parametro in replace:
Dim TestString As String = TextBox1.Text
Dim aString As String = Replace(TestString, TextBox2.Text, "")


Cosa significa la seconda riga?
In aString ci finisce il testo in TestString con il carattere presente in TextBox2 sostituito (replace) da un carattere nullo "".

Queste due righe da sole non sono sufficienti per creare un programma funzionale, dovresti mettere il codice in una sub:
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
        ....
        ....
        ....
        ....
End Sub

Quando lanci il programma, scrivi un testo in TextBox1, poi appena scrivi un carattere in TextBox2 la sub TextBox2_TextChanged viene eseguita, il carattere digitato eliminato da TestString, con il codice che ti ho corretto...
Mancano ancora due righe, una per copiare il risultato da aString in TextBox1, l'altra per cancellare il carattere appena immesso in TextBox2, così facendo ogni volta che digiti un carattere in TextBox2, se presente scompare dal testo in TextBox1 e la TextBox2 si cancella in modo da poter inserire un nuovo carattere.
Ultima modifica effettuata da Carlo 12/03 7:23
in programmazione tutto è permesso