2016-04-27 19 views
2

我想將一個.txt文件加載到一個richtextbox(Point_BOX),然後刪除除最後5個字符以外的所有列表框(Point_LIST)。 我在網上搜索,到目前爲止唯一的辦法就是從行中刪除前75個字符(.txt文件中的行應該是80個字符,但有時會更多/更少)。保持列表框中的最後幾個字符VB.NET

Point_BOX.Clear() 
    Point_LIST.Items.Clear() 
    OpenPointDialog.ShowDialog() 
    FileName = OpenPointDialog.FileName 
    Dim sr As IO.StreamReader = IO.File.OpenText(FileName) 
    Dim line As String = "" 
    Point_BOX.Text = sr.ReadToEnd 
    For i As Integer = 0 To sr.Peek = -1 
     line = sr.ReadLine() 
     Dim allText As String = sr.ReadToEnd() 
     Point_BOX.Text = Point_BOX.Text & line & vbNewLine 
    Next 
    sr.Close() 

    'Clean up report 
    Point_LIST.Items.AddRange(Point_BOX.Lines) 
    Dim ir As Integer = Point_LIST.Items.Count 
    Dim xr As Integer 
    For xr = 0 To ir - 2 
     Point_LIST.Items(xr) = Point_LIST.Items(xr).substring(75) 
    Next xr 

這工作,如果沒有線是少於80個字符,但有時該報告可以在一個行一些簡單的詞。 我想製作另一個循環來檢查一行中有多少個字符,如果它少於80則轉到下一行,但我不能幫助,但認爲有更好的方法。像反 「子(75)」(?字符串(5))

回答

2

嘗試這樣的事情,而不是:

Point_BOX.Clear() 
    Point_LIST.Items.Clear() 
    If OpenPointDialog.ShowDialog = DialogResult.OK Then 
     FileName = OpenPointDialog.FileName 
     Point_BOX.Lines = System.IO.File.ReadAllLines(FileName) 
     For Each line As String In Point_BOX.Lines 
      Point_LIST.Items.Add(Microsoft.VisualBasic.Strings.Right(line, 5)) 
     Next 
    End If 
+0

謝謝@Idle_Mind! 我剛剛測試了幾個報告,它的工作原理,也清理了一堆代碼 – Turk

0

試試這個 Microsoft.VisualBasic.Right(字符串,5)

+0

我我猜測我沒有正確使用它 我試過了: Point_LIST.Items(xr)= Microsoft.VisualBasic.Right(xr,5) 但是沒有任何內容添加到列表框 – Turk

相關問題