Вниз
Скачать: 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.027 c
4-1092377473
DelphiN!
2004-08-13 10:11
2004.09.26
Как запустить exe-шник из ресурса?


14-1094591020
aga
2004-09-08 01:03
2004.09.26
пахнет рекламой, но всё же


8-1088345691
DukeArtem
2004-06-27 18:14
2004.09.26
Помогите с движком!


1-1095106813
Garfunkel
2004-09-14 00:20
2004.09.26
Прикрипление файлов к программе


14-1094803291
Pat
2004-09-10 12:01
2004.09.26
Клиент для форумов, использующих phpBB




   Наверх