Textbox - Richtextbox vbnewline

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von RushDen.

    Textbox - Richtextbox vbnewline

    Hi,

    Also mein Problem ist jetzt, dass bei der Richtextbox das vbnewline gar nicht richtig registriert wird.
    Das zeig ich mal an einem Beispiel:

    VB.NET-Quellcode

    1. Dim Passwort(textbox1.text.Length - 1) As String
    2. For Buchstabe = 0 To textbox1.text.length- 1
    3. Passwort(Buchstabe) = textbox1.text(Buchstabe)
    4. next


    Wenn ich jetzt alle Elemente in Passwort in eine Datei reinschreiben lasse und in der Textbox1 ein Zeilenumbruch ist, so wird das mit in die Datei übernommen.
    Hier klappt das aber nicht:

    VB.NET-Quellcode

    1. Dim Passwort(richtextbox1.text.Length - 1) As String
    2. For Buchstabe = 0 To richtextbox1.text.length- 1
    3. Passwort(Buchstabe) = richtextbox1.text(Buchstabe)
    4. next


    Hier wird der Zeilenumbruch gar nicht in die Datei mit übernommen, sondern alles einfach nacheinander geschrieben,

    also z.B. in der richtextbox steht:

    Hallo
    Hallo

    in der Datei steht dann:

    HalloHallo


    Wie kann ich das jetzt mit der Richtextbox machen, dass der Zeilenumbruch registriert wird?

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

    RushDen schrieb:

    Zeilenumbruch
    ist im RichText als vbLf definiert.
    Arbeite mit TextBox1.Lines() bzw. RichTextBox1.Lines(), da sollte es funktionieren, wenn Du dann Deine eigenen Zeilenvorschübe reinmachen kannst.
    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!
    Was machst Du da überhaupt? Daten und GUI trennen. Strings haben eine wundervolle Funktion, die nennt sich .ToArray, welche Dir ein Char-Array zurückgibt. Deine For-Schleife kannst Dir sparen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Und was hat das mit Zeilenumbruch zu tun?
    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!

    RushDen schrieb:

    Textverschlüsselung
    hätte ich erst im 27. Post offenbart. X(
    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!
    Da bin ich ja nun zufrieden, wenn Du nun kein Problem mehr hast. ;)
    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!
    Nun ja, jetzt wird der Zeilenumbruch zwar registriert, aber beim entschlüsseln wird nur die letzte Zeile richtig entschlüsselt.

    Habs so umgeschrieben:

    VB.NET-Quellcode

    1. Dim Passwort(text.Length - 1) As String
    2. For Buchstabe = 0 To richtextbox.text.Length - 1
    3. If richtextbox1.text(Buchstabe) = vbLf Then Passwort(Buchstabe) = vbNewLine Else Passwort(Buchstabe) = richtextbox1.text(Buchstabe)
    4. next


    Hier die entschlüsselung (komplett):

    VB.NET-Quellcode

    1. Private Zähler As Integer = 1
    2. Private Entschlüsselung As String
    3. Private Entschlüsselungszufall As New List(Of Integer)
    4. Private Konventschl As New List(Of Char)
    5. Private Zählerzwei As Integer = 0
    6. Private Username As String = Environment.GetEnvironmentVariable("USERNAME")
    7. Private WithEvents Dialog As New OpenFileDialog
    8. Private Nema As String
    9. Private Sub Dialoglesen() Handles Dialog.FileOk
    10. Nema = Dialog.FileName.Split(""c)(Dialog.FileName.Split(""c).Count - 1)
    11. Entschlüsselungszufall.RemoveRange(0, Entschlüsselungszufall.Count)
    12. If System.IO.File.Exists(My.Computer.FileSystem.SpecialDirectories.Temp & "" & Nema.Split("."c)(0) & "Key.txt") Then
    13. For Each Line In System.IO.File.ReadAllLines(My.Computer.FileSystem.SpecialDirectories.Temp & "" & Nema.Split("."c)(0) & "Key.txt")
    14. Entschlüsselungszufall.Add(Convert.ToInt32(Asc(Line) / 4))
    15. Next
    16. Else
    17. MessageBox.Show("Die Entschlüsselungsdatei wurde nicht gefunden")
    18. Exit Sub
    19. End If
    20. For Each Buchstabe As String In System.IO.File.ReadAllText(Dialog.FileName)
    21. If Zähler = 1 Then
    22. Entschlüsselung &= Buchstabe
    23. End If
    24. If Zähler = Entschlüsselungszufall(Zählerzwei) + 2 Then
    25. Entschlüsselung &= Buchstabe
    26. If Not Zählerzwei = Entschlüsselungszufall.Count - 1 Then Zählerzwei += 1
    27. Zähler = 1
    28. End If
    29. Zähler += 1
    30. Next
    31. System.IO.File.WriteAllText(Dialog.FileName, StrReverse(Entschlüsselung))
    32. Zähler = 1
    33. Entschlüsselung = ""
    34. Zählerzwei = 0
    35. RaiseEvent Dateilöschen()
    36. MessageBox.Show("Die Datei wurde entschlüsselt!")
    37. End Sub
    38. Private Sub auslesen()
    39. With Dialog
    40. .Filter = "(*.txt)|*.txt|Alle Dateien (*.*)|*.*"
    41. .ShowDialog()
    42. End With
    43. End Sub

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