Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Как грузить в TMemo и TRichEdit файл в Unicode ?   Найти похожие ветки 

 
массив   (2004-09-08 06:19) [0]

Можно как-то настроить кодировку или шрифты ? А то в таких файлах полно нулевых символов, и поэтому они грузятся неполностью.


 
Defunct ©   (2004-09-08 06:39) [1]

Загрузить в WideString, а потом загнать в Memo или RichEdit.


 
массив   (2004-09-08 06:47) [2]

Как понять, загрузить в WideString ?


 
Defunct ©   (2004-09-08 06:59) [3]

Нечто подобное:

 WS : WideString;

 With TFileStream.Create("zzzz",fmOpenRead) Do
 Try
   SetLength(WS, Size div 2);
   Read( WS, Size);
 Finally
   Free;
 End;

 RichEdit.Lines.Text := WS;


 
TUser ©   (2004-09-08 08:33) [4]

Есть еще библиотека специальная. TntUnicodeControls


 
массив   (2004-09-09 01:20) [5]


> Defunct ©   (08.09.04 06:59) [3]
> Нечто подобное:

Программа вылетает с ошибкой.


> TUser ©   (08.09.04 08:33) [4]
> Есть еще библиотека специальная. TntUnicodeControls

Я хотел стандартными средствами.


 
Defunct ©   (2004-09-09 04:29) [6]

> Программа вылетает с ошибкой.
Sorry за невнимательность, ошибка здесь Read(WS, Size);

Read( Pointer(WS)^, Size);


 
массив   (2004-09-10 01:23) [7]


> Defunct ©   (09.09.04 04:29) [6]
> > Программа вылетает с ошибкой.
> Sorry за невнимательность, ошибка здесь Read(WS, Size);
>
>
> Read( Pointer(WS)^, Size);

Да, так работает.
А как можно определить файл в Юникоде или нет ?

Я сначала грузил файл в RichEdit, а потом сравнивал его длину Length(RichEdit1.Lines.Text) c длиной файла, и если она меньше, то значит файл в Юникоде и загрузился неполностью.

Но тут сталкнулся с мегабайтными файлами и обнаружил, что Length(RichEdit1.Lines.Text) давольно сильно тормозит. Можно ли её как нибудь ускорить, или как нибудь по-другому определить файл в Юникоде или нет ?


 
Defunct ©   (2004-09-10 03:03) [8]

Ищите недопустимые символы, например #0, в стриме (тока тогда не TFileStream, а лучше используйте TMemoryStream). Найдете #0, тогда Read в WideString, нет - в обычный String.

см. справку по TMemoryStream, свойство Memory.



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
14-1094627041
Drakosha
2004-09-08 11:04
2004.09.26
Батька супер джинс - сроки действия больше не действуют :(


3-1093966383
Zahar
2004-08-31 19:33
2004.09.26
Вопросы новичка (не судите строго)


3-1093360861
Дима
2004-08-24 19:21
2004.09.26
Table ReadOnly при работе с БД MySQL через OBDC connector


1-1095072110
limon_
2004-09-13 14:41
2004.09.26
поиск в combobox


3-1093440147
data
2004-08-25 17:22
2004.09.26
insufficient memory при большом числе обращений к БД