Verschlüsseln

  • VB.NET

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

    Verschlüsseln

    Hallo,
    Ich wollte mir ein Programm basteln wo 2 RichTextBoxen nebeneinander sind und wenn man in die eine, einen Text eingibt wir dieser Text in der anderen RichTextBox in Zahlen umgewandelt (z.b.: p=2 , l=28 , Lücke=#) und das selbe nur andersrum. Wenn man nun was in die andere eingibt werden die Zahlen zu Buchstaben übersetzt......
    Klingt etwas schwer deswegen frag ich hier nach ;) Ich hab keine ahnung wie man einen Wert (z.b. a) in einen anderen Wert anzeigt (z.b. 1)

    Danke im Vorraus
    Wenn du es anders herum machst, musst du auf folgendes aufpassen:

    Bei z.B:
    1 = a ; 2 = b ; 3 = c ; 4 = d ; .... 12 = l ( L ) ; 13 = m ; ....
    und wenn du jetzt sagst: replace("1","a").replace("2","b").replace("12","l") wird er höchstwarscheinlich "12" in "ab" und nicht L umwandeln.

    Ich habe das so gelöst, dass a = 1. ; b = 2. ; c = 3. ; ... etc.

    So konnte er zwischen " 1. 3. " und " 13 " unterscheiden.

    Wenn du noch Fragen dazu hast, frag ;)

    MfG. VB.Ghost
    Oh jeee,
    Hm ja,

    Fehler 1 Für den Parameter "Replacement" von "Public Function Replace(Expression As String, Find As String, Replacement As String, [Start As Integer = 1], [Count As Integer = -1], [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As String" wurde kein Argument angegeben. C:\Dokumente und Einstellungen\Rene\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Coder-Encoder\Form1.vb 8 9 Coder-Encoder

    Die Sache mit dem String kapier ich i-wie nicht. Genauso wie dieses Dim die beiden Ausdrücke sagen mit nix.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    3. End Sub
    4. Private Sub RichTextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox2.TextChanged
    5. Replace("1.", "a").Replace("2.", "b").Replace("3.", "d").Replace("4.", "e").Replace("5.", "f").Replace("6.", "g").Replace("7.", "h").Replace("8.", "i").Replace("9.", "j").Replace("1.0.", "k")
    6. End Sub
    7. End Class

    Fehler 1 Für den Parameter "Replacement" von "Public Function Replace(Expression As String, Find As String, Replacement As String, [Start As Integer = 1], [Count As Integer = -1], [Compare As Microsoft.VisualBasic.CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary]) As String" wurde kein Argument angegeben. C:\Dokumente und Einstellungen\Rene\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Coder-Encoder\Form1.vb 8 9 Coder-Encoder
    Die Syntax des Befehls ist falsch:

    Wenn du jetzt zum Beispiel den Originaltext in Textbox 1 hast und den umgewandelten Text in TB2, denn sieht das folgendermaßen aus:

    VB.NET-Quellcode

    1. Textbox1.text = Textbox2.text.Replace("1.", "a").Replace("2.", "b").Replace("3.", "d").Replace("4.", "e").Replace("5.", "f").Replace("6.", "g").Replace("7.", "h").Replace("8.", "i").Replace("9.", "j").Replace("1.0.", "k")


    So müsste es funktionieren. ~Nicht getestet~


    MfG. VB.Ghost
    Wenn du das ganze per Knopfdruck umwandeln möchtest, dann musst du das auch in den Button Sub und nicht in den Textchange Sub reinschreiben. Probiers so noch mal:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    3. Richtextbox1.text = Richtextbox2.text.Replace("1.", "a").Replace("2.", "b").Replace("3.", "d").Replace("4.", "e").Replace("5.", "f").Replace("6.", "g").Replace("7.", "h").Replace("8.", "i").Replace("9.", "j").Replace("1.0.", "k")
    4. End Sub
    5. End Class


    Wenn du jetzt in RTB1 " 7.4.8.3.4. " und dann auf Button 2 klickst, müsste in RTB2 " heide " stehen.

    MfG. Vb.Ghost
    So nochmal überarbeitet

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    3. RichTextBox1.Text = RichTextBox2.Text.Replace("1.", "a").Replace("2.", "b").Replace("3.", "c").Replace("4.", "d").Replace("5.", "e").Replace("6.", "f").Replace("7.", "g").Replace("8.", "h").Replace("9.", "i").Replace("10.", "j").Replace("11", "k").Replace("12", "l").Replace("13", "m").Replace("14", "n").Replace("15", "o").Replace("16", "p").Replace("17", "q").Replace("18", "r").Replace("19", "s").Replace("20", "t").Replace("21", "u").Replace("22", "v").Replace("23", "w").Replace("24", "x").Replace("25", "y").Replace("26", "z").Replace("27", "ä").Replace("28", "ö").Replace("29", "ü").Replace("#", " ")
    4. End Sub
    5. Private Sub RichTextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox2.TextChanged
    6. End Sub
    7. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    8. RichTextBox2.Text = RichTextBox1.Text.Replace("a", "1.").Replace("b", "2.").Replace("c", "3.").Replace("d", "4.").Replace("e", "5.").Replace("f", "6.").Replace("g", "7.").Replace("h", "8.").Replace("i", "9.").Replace("j", "10.").Replace("k", "11").Replace("l", "12").Replace("m", "13").Replace("n", "14").Replace("o", "15").Replace("p", "16").Replace("q", "17").Replace("r", "18").Replace("e", "19").Replace("t", "20").Replace("u", "21").Replace("v", "22").Replace("w", "23").Replace("x", "24").Replace("y", "25").Replace("z", "26").Replace("ä", "27").Replace("ö", "28").Replace("ü", "29").Replace(" ", "#")
    9. End Sub
    10. End Class


    Jetzt haben nur noch u und w probleme da kommt immer ein Buchstabe und eine Zahl bei raus.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „reneer“ ()

    Es klappt jetzt nur noch groß und kleinschreibung.
    das u kam immer mit l ins gehege jetzt ist es so:
    u=21
    l=12:

    Weil die beiden Zahlen verdreht waren musste da ein anderes Zeichen hin. Jetzt nur noch die Groß und kleinschreibung. geht das? Ist das zu aufwendig?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „reneer“ ()

    Schon gut ;) Klappt jetzt

    So hab die Verschlüsselung schwerer gemacht und jetzt müsste ich noch wissen ob es möglich ist die RTB so einzustellen das mindestens 2 Zeichen in der Box sein müssen zum Verschlüsseln oder entschlüsseln? Und das keines der ersten beiden Zeichen ein leerzeichen ist?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „reneer“ ()

    Ins Textchanged Event:


    VB.NET-Quellcode

    1. If RichTextBox1.Text.Length < 2 Then
    2. Button1.Enabled = False
    3. Else
    4. Button1.Enabled = True
    5. End If
    "I think Microsoft has abused the Windows brand so much that it has lost its cachet."
    Paul Thurrott