Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
3-1093863655
Russko
2004-08-30 15:00
2004.09.26
Проблема с точкой и запятой.


14-1094375957
Igorekss
2004-09-05 13:19
2004.09.26
Слежение за файлами


14-1094325608
MicroMozg
2004-09-04 23:20
2004.09.26
Загадки из мурзилки!


1-1094674994
redlord
2004-09-09 00:23
2004.09.26
метод free не вызывает destroy


3-1093583719
Desperado
2004-08-27 09:15
2004.09.26
ошибка в IBAlloc




   Наверх