Главная страница
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.05 c
3-1098083044
alsov1
2004-10-18 11:04
2004.11.14
Глюки с TSQLConnection


1-1099248611
er_
2004-10-31 21:50
2004.11.14
Stringgrid


1-1099311228
Артем К.
2004-11-01 15:13
2004.11.14
Компонент-панель для отображения открытых окошек (как в 1С).


14-1098702718
}|{yk
2004-10-25 15:11
2004.11.14
Прикупил Creative SB Live! 5.1


1-1099084457
Ol_G
2004-10-30 01:14
2004.11.14
Какая функция осуществляет перевод кодировки KOI8 в ANSI