Die letzten 10 Zeilen einer RTB löschen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Unwesen.

    Die letzten 10 Zeilen einer RTB löschen

    Guten Abend,

    ich habe folgendes Problem, ich lese eine Textdatei in eine Richtextbox ein und würde bei bedarf nun gerne die letzten 10 Zeilen daraus wieder löschen. Jetzt dachte ich mir ich Zähle einfach alle Zeilen in der Richtextbox und lösche dann die letzten 10 Zeilen einzeln mit Removeat wieder raus. Aber bis jetzt waren alle Versuche die ich versucht habe nicht von Erfolg gekrönt. Nun wollte ich einmal fragen ob es überhaupt der richtige Ansatz ist das ganze mit Removeat zu lösen oder ob ich mit meinem Lösungsansatz auf dem Holzweg bin?

    VB.NET-Quellcode

    1. RTB.SelectionIndex = RTB.Text.Length - 10
    2. RTB.SelectionLength = 10
    3. RTB.SelectedText = ""
    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!
    er wollte die letzten 10 zeilen, nicht die letzten 10 zeichen.

    Dabei kann

    ObjektBrowser schrieb:

    Public Function GetFirstCharIndexFromLine(ByVal lineNumber As Integer) As Integer
    Member von System.Windows.Forms.TextBoxBase
    Zusammenfassung:
    Ruft den Index des ersten Zeichens einer angegebenen Zeile ab.
    helfen.

    @TE: kennst du ObjectBrowser?

    ErfinderDesRades schrieb:

    er wollte die letzten 10 zeilen, nicht die letzten 10 zeichen.

    Sorry.

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. Dim txt As String = RTB.Text
    3. Dim index As Integer
    4. For i As Integer = 0 To 9 ' 10 'je nachdem
    5. index = txt.LastIndexOf(vbLf)
    6. txt = txt.Substring(0, index)
    7. Next
    8. RTB.Text = txt
    9. End Sub
    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 gleiche, aber kürzer:

    VB.NET-Quellcode

    1. For i As Integer = 0 To 10
    2. rtbText.Text = rtbText.Text.Substring(0, rtbText.Text.LastIndexOf(vbLf))
    3. Next

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Unwesen“ () aus folgendem Grund: Mehr gekürzt