Wörter zerlegen und Buchstaben Übersätzen

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Wörter zerlegen und Buchstaben Übersätzen

    Hallo,

    Ich habe folgendes Problem.

    Ich möchte ein Wort das ich in eine Textbox schreibe in einzelne Buchstaben zerlegen (mit einem Klick auf nen Button)
    und gleichzeitig die Buchstaben so zu sagen übersetzt werden.

    Beispiel:

    In der TextBox steht: Ja
    Dann soll durch den Klick auf den Button das Wort in: J a zerlegt werden.
    Gleichzeitig soll aus J "01" werden und aus a "001" werden. Dies soll dann in einem Label als "01001" stehen.

    Ich hoffe es ist verständnisvoll erklärt.
    Würde mich auf Antworten freuen.
    Danke im vorraus!

    Könntest du mir das villeicht ein wenig genauer erklären blick mich grad überhaupt nicht durch sorry.

    SAR-71 schrieb:

    Aus "J" soll "01" werden
    Und aus "a" soll "001" werden ?!

    In Buchstaben zerteilen ist kein Problem (For-Next-Schleife)
    Die einzelen Buchstaben würd ich dann wieder mit ner For-Next-Schleife machen dazu noch ein Select-Case





    Mfg.
    SAR
    Du machst eine For-Next-Schleife


    Visual Basic-Quellcode

    1. Dim input As String = Textbox1.Text
    2. Dim output As New StringBuilder
    3. For i As Integer = 0 to input.Length - 1
    4. Select Case input.Chars(i)
    5. Case "J"
    6. output.Append("01")
    7. Case "a"
    8. output.Append("01")
    9. End Case
    10. Next
    11. Textbox2.Text = output.ToString


    Das musst du halt für jedes Zeichen machen und ich wage an der Performance zu zeifeln
    Es ist zwar etwas unsauberes aber was besseres fällt mir grad nicht ein






    Mfg.
    SAR

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SAR-71“ ()

    Falls Du noch andere Zerlegungen planst, würde ich eine Tabelle anlegen, aus dem Ascii-Code des vorgegebenen Buchstabens den Feldindex berechnen und aus einem Feld mit dem Index die "Übersetzung" holen.

    Visual Basic-Quellcode

    1. Dim Tabelle(60) As Integer ' oder so, falls Groß- und Kleinbuchstaben unterschieden werden sollen
    2. Tabelle(0) = "hhh"
    3. Tabelle(i) = "01"
    4. Tabelle(j) = "001"
    usw.

    Visual Basic-Quellcode

    1. If (Letter >= "A" And Letter <= "Z") Then Index = Asc(Letter) - Asc("A")
    2. If (Letter >= "a" And Letter <= "z") Then Index = Asc(Letter) - Asc("a") + Asc("Z")
    3. ' ÄÖÜäöüß einzeln abhandeln
    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!