Niestandardowe znaki

0

Witam,
bez większych problemów mogę przypisać pod stringa znak nieznajdujący się w unicode:

str_String:='Д';

jednak problem się pojawia kiedy chcę ten znak podstawić pod dokładny znak w stringu - wyświetla się całkiem co innego (bez względu na to czy to string czy widestring):

str_String[1]:=widechar('Д');

natomiast coś takiego:

str_String[1]:=widechar('⁹');

w ogóle się nie kompiluje (znak dziewiątki w indeksie górnym zdaje mi się, że nie jest w ogóle w unikode)... jak przypisać takie znaki pod konkretny znak stringa by się następnie dobrze wyświetlał?

0

Plączesz się. Zarówno Д (U+0414 CYRILLIC CAPITAL LETTER DE) jak i ⁹ (U+2078 SUPERSCRIPT NINE) są w Unicode. W przeciwnym przypadku w ogóle nie byłbyś w stanie ich wkleić czy "napisać".

ALE

Jakiego typu jest u ciebie str_String — shortstring? ansistring? widestring? unicodestring? jeżeli jest to po prostu "string", to zależnie od wersji Delphi i ustawień kompilatora string może być każdym z powyższych. Jakie Delphi więc posiadasz?

0

dzięki za wyjaśnienie o unicode. Mam delphi7, próbowałem ze zwykłym string jak i z widestring, ale w obu wypadkach źle działa. Chcę po przypisaniu tych znaków do stringa wyświetlić je w labelu, wyświetlają mi się różne chińskie znaczki, a jak już mówiłem podstawianie znaku ⁹ się nawet nie kompiluje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1