PDA

Просмотр полной версии : [Помогите!] Вопрос по юникоду


Relli
22.08.2012, 14:49
Какая команда в делфи,чтобы вернуть Юникод символа на указанной позиции в строке?(PS короче говоря - аналог charCodeAt из JavaScript,только на делфи)

J-Fobos
22.08.2012, 21:23
function toUnicodSymbols(c:WideChar):string;
var
w:word;
begin
w:=short(c);
result := '&#'+inttostr(w)+';';
end;
Пример использования или объяснение принципа работы нужны?

Relli
22.08.2012, 21:27
И то и то,если не затруднит Вас.
Пысы "<<" и ">>" равносильно же "shl" и "shr"?

J-Fobos
22.08.2012, 22:02
В делфи 2010 и выше все строки в Unicode-формате. В таком формате один символ занимает 2 байта. И как не странно эти 2 байта являются кодом символа. Это значит нам надо функцию, в которую мы будем передавать символ, а получать 2 байта этого символа.
Что мы и делаем. Передали в функцию символ c:WideChar. Принудительно записали 2 байта переменной с в переменную w:word w:=short(c). И вывели полученый результат в виде строки &#код;

Пысы: не равносильно :)

Relli
22.08.2012, 22:07
пысы,а какой им аналог?)Просто читать то я читал про эти операнды,но найти аналог на делфи не могу.
Спс за помощь

J-Fobos
22.08.2012, 22:18
Гы, я не верно понял пысы)) Извиняюсь :) Просто с js только поверхностно знаком.
LEFT SHIFT(левый сдвиг) ( << )
RIGHT SHIFT(правый сдвиг) ( >> )
shl и shr действительно являются аналогами.
Извиняюсь за ошибку в прошлом посте.

Relli
22.08.2012, 23:18
Благодарю за помощь)