Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 Считать бинарные данные прямо в RichTextBox.  [new]
potkin
Member

Откуда: Ungvar
Сообщений: 1072
Помогите пожалуйста.

Скул сервер: MS SQL
В табле содержаться бинарные данные RTF-документов.
Надо считать данные и загрузить напрямую в RichTextBox.

Делаю так: считываю данные, пишу на диск, считываю с диска и пишу в RichTextBox.

using (fs = new FileStream("C:\Temp\doc.rtf", FileMode.Create, FileAccess.Write))
 {
  byte[] b1 = new byte[(dr.GetBytes(3, 0, null, 0, int.MaxValue))];
  dr.GetBytes(3, 0, b1, 0, b1.Length);
  fs.Write(b1, 0, b1.Length);
 }
FileStream fs1 = new FileStream("C:\Temp\doc.rtf", FileMode.Open); 
sr = new StreamReader(fs1);
RichTextBox1.Rtf = sr.ReadToEnd();
sr.Close(); fs1.Close();

А вот как напрямую в RichTextBox ???
22 ноя 09, 16:58    [7961160]     Ответить | Цитировать Сообщить модератору
 Re: Считать бинарные данные прямо в RichTextBox.  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4537
у RichTextBox вроде есть перегрузка LoadFile, в которую можно stream запихать... посмотрите...
22 ноя 09, 19:59    [7961450]     Ответить | Цитировать Сообщить модератору
 Re: Считать бинарные данные прямо в RichTextBox.  [new]
potkin
Member

Откуда: Ungvar
Сообщений: 1072
Спасибо, буду смотреть !
22 ноя 09, 20:19    [7961484]     Ответить | Цитировать Сообщить модератору
 Re: Считать бинарные данные прямо в RichTextBox.  [new]
potkin
Member

Откуда: Ungvar
Сообщений: 1072
Так надо:
 byte[] b = new byte[(dr.GetBytes(0, 0, null, 0, int.MaxValue))];
 dr.GetBytes(0, 0, b1, 0, b1.Length);
 richTextBox1.Rtf=System.Text.Encoding.ASCII.GetString(b);
23 ноя 09, 19:18    [7966729]     Ответить | Цитировать Сообщить модератору
 Re: Считать бинарные данные прямо в RichTextBox.  [new]
potkin
Member

Откуда: Ungvar
Сообщений: 1072
Обратно:
public static byte[] StrToByteArray(string str)
{
    System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
    return encoding.GetBytes(str);
}
23 ноя 09, 19:47    [7966805]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить