Вниз
Скачать: CL | DM;

Отобразить UNICODE в компонентах Delphi   Найти похожие ветки 

← →
Tack   (2004-10-27 15:13) [0]

Как отобразить текст, представленный в виде строковых ресурсов UCS2 (Unicode 2 байта) в визуальных компонентах?

Отображаемая строка в виде WideChar, загружена из строкового ресурса, созданного, например, в редакторе Shtirlitz в кодировке UCS2.

Пытался использовать WideCharLenToString() - получается абракадбра какая-то.


← →
clickmaker ©   (2004-10-27 15:30) [1]


> Отображаемая строка в виде WideChar, загружена из строкового
> ресурса

Как загружена?


← →
Tack   (2004-10-27 15:40) [2]

var
 F: Integer;
 S: WideString;
begin
 //
 //
 F := FileOpen("test.txt", fmOpenRead or fmShareDenyNone);
 SetLength(S, 500);
 FileRead(F, S, 499);
 Label1.Caption := WideCharLenToString(@S, Length(S));
 FileClose(F);


← →
clickmaker ©   (2004-10-27 15:43) [3]

а так

var
F: Integer;
wsz: array[0..500] of WideChar;
begin
//
//
F := FileOpen("test.txt", fmOpenRead or fmShareDenyNone);
FileRead(F, wsz, SizeOf(wsz));
Label1.Caption := WideCharLenToString(wsz, SizeOf(wsz));
FileClose(F);


← →
Tack   (2004-10-27 15:47) [4]

Работает! Спасибо!
Только спереди строки вылез вопросительный знак почему-то....

Слушай, а что, у WideString-а первые байты забиты под служебную информацию, что ли?


← →
Tack   (2004-10-27 15:50) [5]

И я понял, почему вылез спереди вопросительный знак. Потому что строка в файле начинается с двухбайтового кода FFFE. Это признак кодировки, да?



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

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



Память: 0.46 MB
Время: 0.022 c
14-1098695957
Debugger
2004-10-25 13:19
2004.11.14
LOL


1-1098894974
td
2004-10-27 20:36
2004.11.14
OLE и потоки


1-1098873200
Phoenix
2004-10-27 14:33
2004.11.14
Проблема при сбросе данный в Exel


1-1099335963
dolphin
2004-11-01 22:06
2004.11.14
динамическое создание форм


1-1098966076
Николай
2004-10-28 16:21
2004.11.14
Методы борьбы с ошибками




   Наверх