Русские буквы не отображаются в RichTextBox

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

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

Bakterium
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 13.10.2007 (Сб) 16:30

Русские буквы не отображаются в RichTextBox

Сообщение Bakterium » 13.10.2007 (Сб) 16:58

У меня загвоздка. При считывании в RichTextBox из файла текста, содержащего русские буквы, они не отображаются. Помогите, наставте на путь истенный.
P.S. У меня VB 2005 .NET

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

Сообщение AnarCky » 13.10.2007 (Сб) 17:30

Была у меня такая проблема... Я просто сохранил файл в Unicode а не в ASCII как по умолчанию. Не знаю на сколько это правильно, но сработало :)
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..

Bakterium
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 13.10.2007 (Сб) 16:30

Сообщение Bakterium » 14.10.2007 (Вс) 9:26

Совет хороший, но в моём случае не совсем подходит. Я делаю прогу для редактирования файлов игры и их пересохранение в другой кодировке не лучший выход.
Но всё равно спасибо за вариант.

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 14.10.2007 (Вс) 9:58

Чем читаешь?
Юзай стримридер и при этом указывай нужную тебе кодировку. Примеров в сети масса.
----

AnarCky
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 229
Зарегистрирован: 20.11.2006 (Пн) 20:12
Откуда: Россия, Екатеринбург.

Сообщение AnarCky » 14.10.2007 (Вс) 10:45

Наскок я знаю StreamReader пишется вот так:
Код: Выделить всё

Dim string_from_fail As String
Dim StrRead As System.IO.StreamReader(path As String)

StrRead.Encoding = Encoding.Default
string_from_fail = StrRead.ReadToEnd     'прочитать весь файл
StrRead.Close()

Подтвердите плз если верно
Компьютеры были придуманы чтобы исправлять ошибки людей. Но кто же тогда будет исправлять ошибки компьютера?..

GoodWin74
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 80
Зарегистрирован: 29.09.2006 (Пт) 18:58
Откуда: от Верблюда! :)

Сообщение GoodWin74 » 14.10.2007 (Вс) 14:55

http:\\start4you.narod.ru

Alex[fj]
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 278
Зарегистрирован: 17.02.2007 (Сб) 20:10
Откуда: Питер

Сообщение Alex[fj] » 14.10.2007 (Вс) 15:28

А если вот так
Код: Выделить всё

Dim Ecod as encoding=encoding.default

x=my.computer.filesystem.readalltext("text.txt",Ecod)


У меня работает и все читает :)
Изображение
Стараюсь быть вполне хорошим (c) Лев Толстой

Bakterium
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 13.10.2007 (Сб) 16:30

Сообщение Bakterium » 14.10.2007 (Вс) 16:51

Копал в MSDN и наткнулся на FileStream :). Вот пример кода простенькой программы с его использованием:

Код: Выделить всё
Imports System.Text
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim strLine As String, fs As System.IO.FileStream
        Dim b(1024) As Byte
        Dim temp As System.Text.Encoding = Encoding.Default
        fs = System.IO.File.OpenRead("test.txt")
        Do While fs.Read(b, 0, b.Length) > 0
            strLine = temp.GetString(b)
            RichTextBox1.Text &= strLine & vbCrLf
        Loop
        fs.Close()
    End Sub
End Class


Но есть одна загвоздка, он считывает файл сначала и до конца :( , а мне нужно, чтобы текст читывался до тех пор, пока в строке не будет найдена определённая подстрока.

Bakterium
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 13.10.2007 (Сб) 16:30

Сообщение Bakterium » 15.10.2007 (Пн) 7:31

Отбой вооружённым силам :D . Всё полностью разобрался.

Спасибо всем кто не проигнорировал мою тему.


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

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

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

    TopList