Sonderzeichen verbieten

  • Allgemein

Es gibt 189 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Ich habe den Code ohne For Echt gepostet. Und der Cursor muss nicht immer automatisch am Ende sein, da man auch mal zwischen den Buchstaben schreiben kann. Und da lag das Problem, wenn man zwischen den Buchstaben ein "InvalidChar" einfügte, so sprang der Cursor zum ende. Und ich hab zwar den Code von blaze, aber ich versuche mal den anderen dennoch weiter zu machen.

    Also ich hab jetzt mal das gemacht was du gesagt hat, kriege aber immer als Wert 0 raus. Hier der Code:

    VB.NET-Quellcode

    1. Private Function CountChar(ByRef sString As String, ByVal IgnoreArray As String)
    2. Dim Temp = sString
    3. For Each c In IgnoreArray
    4. Temp = Temp.Replace(c, Nothing)
    5. Next
    6. Return sString.Length - Temp.Length
    7. End Function


    Was genau hab ich da falsch gemacht?
    Habe jetzt selbst getestet, du musst statt "Nothing" "" nehmen.
    Also Temp=Temp.Replace(c,"")

    Aber da du ja den String auch verändern willst, würde ich es so machen:

    VB.NET-Quellcode

    1. Private Function CountChar(ByRef sString As String, ByVal IgnoreArray As String)
    2. Dim Temp = sString
    3. For Each c In IgnoreArray
    4. sString = sString.Replace(c,"")
    5. Next
    6. Return Temp.Length - sString.Length
    7. End Function


    Temp und sString umdrehen und den sString verändern.
    Hey,

    Hab den Code mal getestet und kriege weiterhin als Antwort 0.
    Code:

    VB.NET-Quellcode

    1. MsgBox(CountChar(txtbox2.Text, InvalidChars))


    Wenn das im TextChanged Event stehen habe und dann ein ":" einfüge, so steht in der MsgBox: "0".



    Mit dem Code allerdings funktioniert das zwar, aber eben nur mit einem Zeichen und keinen Strings:

    VB.NET-Quellcode

    1. Function CountChar(ByVal SourceString As String, ByVal strChar As String) As Integer
    2. CountChar = Len(SourceString) - Len(Replace(SourceString, strChar, ""))
    3. End Function
    Definiere

    Jowat schrieb:

    Hab den Code mal getestet
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Jowat schrieb:

    Und es ging nicht.
    Und die Konsequenz?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das wäre eine Feststellung, keine Konsequenz. :D
    Lerne mit dem Debugger umzugehen.
    Haltepunkte, den Inhalt von Variablen ansehen und verfolgen, verändern und erkennen, wenn was nicht stimmt
    usw.
    Sieh Dir mal das Menü Debug des Studion an.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!