2012-05-25 3 views
-1

Я потратил часы, пытаясь исправить эту проблему. У меня есть, в основном я хочу отображать только столбец 1 из моего текстового файла в моем богатом текстовом поле.Почему моя кодировка не работает? Попытка показать данные в richtextbox

Каждый столбец отделяется пробелом (»«)

При запуске следующего кодирования он показывает все столбцы.

RichTextBox1.Text = System.IO.File.ReadAllText("Path") 
    Dim str1() As String = Nothing 
    Dim LinesList2 As New List(Of String) 

    For Each line1 In LinesList2 
     str1 = line1.Split(" "c) 
     If str1(0) = line1 Then 
      Dim Hold As String = Nothing 
      Hold = line1 & " " & str1(1).ToString 
      LinesList2.Add(Hold) 
     End If 
    Next 
    LinesList2.Sort() 

    For Each Str As String In LinesList2 
     RichTextBox1.AppendText(Str & Environment.NewLine) 
    Next 
+1

Вы читаете весь файл в tyour RichTextBox, то тогда цикл через пустой список (LinesList2) дважды. Все после первой строки [по существу] ничего, потому что список всегда пуст. – roken

ответ

2

Это может быть проще с помощью LINQ:

Dim firstColumnText = From line In System.IO.File.ReadLines(path) 
         Select line.Split(" "c)(0) 
RichTextBox1.Text = String.Join(Environment.NewLine, firstColumnText) 

Помимо этого вы используете пустой список здесь:

' reads the whole file and set it as text for the RichTextBox ' 
RichTextBox1.Text = System.IO.File.ReadAllText(path) 
' creates an empty List(Of String) ' 
Dim LinesList2 As New List(Of String) 
' "Iterates" the empty list ' 
For Each line1 In LinesList2 
    ' ..... 
1

Вы ничего не читаете в LinesList2, поэтому ничего внутри цикла не выполняется. Даже если вы это сделали, строка Hold = line1 & ..., кажется, включает всю строку.

0

Вы добавляете всю линию

Hold = line1 & " " & str1(1).ToString 
    LinesList2.Add(Hold) 

И какова цель?

str1(0) = line1 

Это будет только так, если не будет никакого раскола.

Вам необходимо отладить LINE1 и sr1()

0

Если вы не пропущенный код, вы создали LinesList2, но не заполненного его с чем-либо, следовательно, нет ничего, чтобы перебрать.