| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Помогите разобраться с TextOutW |
| Автор: leonidus2011 11.7.2011, 10:51 |
| В файле есть строка в юникоде. Я читаю ее с помошью библиотеки TNT в строку widestring после чего мне нужно вывести эту строку на канву формы. Делаю так: var l:ttntstringlist; s:widestring; begin l:=ttntstringlist.Create; l.LoadFromFile('с:\1.txt'); s:=l.Strings[0]; TextOutW(form1.Canvas.Handle, 10, 10, pWideChar(s), Length(s)); в итоге получаю вместо набора проверочных символов êëÅÃÁ пять вертикальных черных черточек. Что я сделал не так? |
| Автор: Keeper89 11.7.2011, 11:36 |
| Дельфи какая? Если не юникодная, так загрузить не получится |
| Автор: leonidus2011 11.7.2011, 11:53 |
| Делфи 6-я, не юникодная само собой. А что именно загрузить не получится? Юникодный файл читаю с диска юникодной библиотекой TNT. |
| Автор: nicestep 12.7.2011, 08:00 | ||||
Посмотри отладчиком через Run-Evaluate значение переменной s после этой строки:
Скорее всего, ты увидишь êëÅÃÁ |
| Автор: leonidus2011 12.7.2011, 08:06 |
| У меня 6-я делфа, она не поддерживает юникод поэтому вижу eeAAA и что это значит? |
| Автор: Keeper89 13.7.2011, 01:41 |
| leonidus2011, в файле какая кодировка? Возможно надо смотреть в сторону Utf8Decode или UnicodeToUTF8. |
| Автор: leonidus2011 13.7.2011, 11:19 |
| Всем спасибо, вопрос снят |