ich habe eine Textbox die ein Word enthält welches aber mit PasswordChar "*" versehen ist. Gibt es eine Möglichkeit auf Kommando einen einzellnen Buchstaben in der Textbox "sichtbar" zu machen ?
Bsp. Das Wort "TESTWORD" steht in der Textbox [********] ich drücke nen Button und der Buchstabe "T" soll sichtbar werden. Ergebniss sollte wie folgt aussehen: [T**T****]
Dürfte warscheinlich ne simple Lösung geben aber habe mich schon "schlapp gegoogelt" und weiss nicht weiter ^^
Gruss Anale
sollniss Überflieger
Anmeldedatum: 01.05.2008 Beiträge: 699
Verfasst am: 10.09.2008, 09:56
So müsstes eigendlich gehen, aber ich bekomm immer nen Fehler, hab jetz keine Zeit zu debuggen. Visual Basic: [code]Dim strWort As String = "TESTTEXT"
For i As Integer = 1 To strWort.Length TextBox1.Text = TextBox1.Text & "*" Next
If strWort.Contains("T") = True Then For i As Integer = 1 To strWort.Split("T").GetUpperBound(0) + 1 TextBox1.Text = TextBox1.Text.Substring(0, strWort.IndexOf(i) - 1) & strWort.Substring(strWort.IndexOf(i), 1) & TextBox1.Text.Substring(strWort.IndexOf(i) + 1) strWort = strWort.Substring(strWort.IndexOf(i) - 1) & "*" & strWort.Substring(strWort.IndexOf(i) + 1) Next End If[/code]
Evtl gibts auch nen besseren Lösungsansatz als meinen.
Analegrande Tutorial Leser
Anmeldedatum: 01.05.2008 Beiträge: 69
Verfasst am: 11.09.2008, 13:08
Hm...^^ Ich hab irgendwie eine Schwäche dafür Codes dieser Art zu verstehen xD Aber ich werd es trotzdem mal damit versuchen^^ Ist auf jeden Fall schonmal ein Anfang:) Danke
sollniss Überflieger
Anmeldedatum: 01.05.2008 Beiträge: 699
Verfasst am: 11.09.2008, 14:08
Visual Basic: [code]Dim strWort As String = "TESTTEXT" ' teststring
' textbox solange erweitern bis sie soviele "*" hat wie das wort lang is
For i As Integer = 1 To strWort.Length
TextBox1.Text = TextBox1.Text & "*"
Next
If strWort.Contains("T") = True Then ' wenn das wort den gesuchten buchstaben enthält
For i As Integer = 1 To strWort.Split("T").GetUpperBound(0) + 1 ' falls der buchstabe mehrmals vorkommt
TextBox1.Text = TextBox1.Text.Substring(0, strWort.IndexOf(i) - 1) & strWort.Substring(strWort.IndexOf(i), 1) & TextBox1.Text.Substring(strWort.IndexOf(i) + 1) ' das "*" an der richtigen stelle mit nem buchstaben ersetzen
strWort = strWort.Substring(strWort.IndexOf(i) - 1) & "*" & strWort.Substring(strWort.IndexOf(i) + 1) ' und im wort den buchstaben rausnehmen, damits kein loop gibt
Next
End If[/code]