Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1098909229
dms_main
2004-10-28 00:33
2004.11.14
debug DLL


1-1097750096
panov
2004-10-14 14:34
2004.11.14
Пул потоков.


3-1097490239
JohnS
2004-10-11 14:23
2004.11.14
EhLib + сортировка


3-1097559368
wild_arg
2004-10-12 09:36
2004.11.14
Вычисление процента


14-1098686675
syte_ser78
2004-10-25 10:44
2004.11.14
Как сделать чтобы DmClient 2.1.2 запомнил имя и емейл в форме ?