Maks150988
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mandor Sawall Работает. Но я проверить то не могу как на китайской системе, допустим, все это пойдет... Хотелось бы тогда какие-нибудь гарантии. =) На немецком форуме программистов нашел функцию: Код: function AnsiToWide(Text : AnsiString; Charset : Cardinal) : WideString; var I : TCharsetInfo; L : Integer; begin TranslateCharsetInfo(Charset, I, TCI_SRCCHARSET); L := MultiByteToWideChar(I.ciACP, MB_PRECOMPOSED, @Text[1], Length(Text), nil, 0); SetLength(Result, L); MultiByteToWideChar(I.ciACP, MB_PRECOMPOSED, @Text[1], Length(Text), @Result[1], L); end; | Использовал как: Код: STRING_ABOUT : string = 'О программе...'; /// AppendMenuW(hSysMenu, MF_BYPOSITION, CONTEXT_ABOUT, PWideChar(AnsiToWide(STRING_ABOUT, CP_UTF8))); | Не знаю, правилен ли такой уж подход, либо я уже мудрить начинаю. =) Вдальнейшем мне все равно надо будет строки подавать через LoadStringW, поэтому хочется точно знать какой из способов уж точно сработает. Все равно сомнения есть. =) |