Форум: "KOL";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизUnicode Найти похожие ветки
← →
Bartov (2003-03-11 14:37) [0]var
ws: WideString;
st: string;
begin
st := "#1048";
ws := st; ??????
end;
Как сделать чтоб ws приняла от st значение как символ, а не строку.
т.е. ws := #1048, а НЕ ws := "#1048".
← →
mdwmdw (2003-03-11 16:51) [1]Примерно вот так:
var
ws: WideString;
begin
SetLength(WS, 1);
WS[1]:= WideChar($1048);
end;
← →
Bartov (2003-03-11 19:26) [2]2mdwmdw
Не катит... Выдает знак "?", а должна быть "И".
Пипл, подскажите кто че может.
← →
SPeller (2003-03-11 19:54) [3]А может вместо $1048 по ставить просто 1048 ?
← →
Bartov (2003-03-11 22:31) [4]2SPeller
> А может вместо $1048 по ставить просто 1048 ?
Нет.
Так, объясню попонятние.
В unicode код #1048 - это заглавная русская буква "И".
И это ни какой не hex или int.
Т.е. если st := #1048; это тоже самое что и st := "И";
Получается один символ!!!
А вот st := "#1048" - это строка из 5 символов.
В АПИ я не нашел ни одной функции, которая смогла бы строку перевести в 1 символ unicode. Вот что мне надо.
MultiByteToWideChar - не прокатывает, она не для этого.
Так-то я сделал перевод всей строки из unicode в ansi, но может можно как-то по другому?...
Вот пример: http://delphikol.narod.ru/progs/DfmUn2An.zip
← →
centronix (2003-03-12 01:04) [5]Ну, дык, вроде ws:=WideChar(1048) (без "$") эквивалентно ws:=#1048. По крайней мере для st:=Char(65) и st:=#65 это справедливо...
← →
Bartov (2003-03-12 02:12) [6]2 centronix
Сенкс, ws := WideChar(1048) получилось, что-то я стормозил...
А для составление строки unicode:
SetLength(ws, 2);
ws[1] := WideChar(1044);
ws[2] := WideChar(1072);
ShowMessage(ws);
Результат: "Да"
← →
SPeller (2003-03-12 03:49) [7]2 Bartov (12.03.03 02:12)
Ну дык я ж тебе то же самое говорил :-)
← →
Bartov (2003-03-12 07:59) [8]2 SPeller
Ну я ж говорю, стормозил ;-)
← →
Yury Sidorov (2003-03-12 10:36) [9]Вообще-то проще всего объявить строковой литерал как resourcestring, а затем присвоить строке типа WideString. Ресурсы всегда хранятся в UNICODE.
← →
Bartov (2003-03-12 11:54) [10]2 Yury Sidorov
Резон в том, что я читаю текстоваый файл, а там
Caption = #1048#1085#1092#1086#1088#1084#1072#1094#1080#1103
вот такая цепочка.
Поэтому надо сначало в integer переводим, а потом в string.
Я вот и хотел узнать как можно по другому сделать, оказывается ни как...
← →
Yury Sidorov (2003-03-12 12:51) [11]Ну, тогда, действительно, ручками :)
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c