Загрузка текстового файла в TextBox

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Serg97
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 25.04.2010 (Вс) 9:34

Загрузка текстового файла в TextBox

Сообщение Serg97 » 06.07.2010 (Вт) 21:31

Помогите начинающему!!! В общем проблема такая: есть тестовой файл, нужно его загрузить в TextBox, но не просто загрузить, а с преобразованием каждой строки. Например в файле:
123 Первая строка
123 Вторая строка
123 Третья строка

Надо в TextBox'е получить:
Первая строка
Вторая строка
Третья строка


То есть удалить первые 4 символа, которые во всех строках одинаковые. Делаю так:

Dim Чтение As New System.IO.StreamReader("c:\1.txt")
Dim s As String
Dim sr As String
s = Чтение.ReadToEnd
sr = s.Remove(0, 3)
TextBox1.Text = sr

В итоге в TextBox'е получаю:
Первая строка
123 Вторая строка
123 Третья строка

То есть нужное мне получается только в первой строке. Думаю можно сделать все через массивы, или циклы, но как не соображу. Пожалуйста покажите на примере. Заранее благодарен.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Загрузка текстового файла в TextBox

Сообщение Viper » 07.07.2010 (Ср) 5:04

Есть метод StreamReader.ReadLine, вот им то и пользуйся.
Весь мир матрица, а мы в нем потоки байтов!

Serg97
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 25.04.2010 (Вс) 9:34

Re: Загрузка текстового файла в TextBox

Сообщение Serg97 » 07.07.2010 (Ср) 5:47

Viper писал(а):Есть метод StreamReader.ReadLine, вот им то и пользуйся.


Да, он выводит строго по строкам. Но как его применить конкретно в моем случае?

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Загрузка текстового файла в TextBox

Сообщение FireFenix » 07.07.2010 (Ср) 9:59

1) Считываем строку
2) Ищем позицию пробела (String.IndexOf)
3) Выбираем строку (String.Substr) от пробела до конца

или юзаем регулярку типа New RegEx([\d]*[\s]*(.*))
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Загрузка текстового файла в TextBox

Сообщение Joo » 07.07.2010 (Ср) 17:35

Юзай System.Text.RegularExpressions.Regex.Replace, в качестве маски используй ^\d+\s*, и не забудь указать опцию RegexOptions.Multiline
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Загрузка текстового файла в TextBox

Сообщение Viper » 07.07.2010 (Ср) 17:48

Serg97 писал(а):
Viper писал(а):Есть метод StreamReader.ReadLine, вот им то и пользуйся.


Да, он выводит строго по строкам. Но как его применить конкретно в моем случае?
Дык, а цикл применить религия не позволяет?
Весь мир матрица, а мы в нем потоки байтов!

Serg97
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 25.04.2010 (Вс) 9:34

Re: Загрузка текстового файла в TextBox

Сообщение Serg97 » 07.07.2010 (Ср) 20:16

Все, всем большое спасибо. Да, без циклов ни куда. Вот примерный код, если кому интересно:

Код: Выделить всё
Dim Чтение As New System.IO.StreamReader("c:\1.txt")
        Dim s As String
        Do While Чтение.Peek() <> -1
            s = Чтение.ReadLine
            s = s.Remove(0, 4)
            TextBox1.Text = TextBox1.Text + s + vbCrLf
        Loop
        Чтение.Close()


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList