Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2012, 22:55   #1
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,152
По умолчанию ClipBoard, буфер обмена, вставка русс. текста в окно с англ. раскладкой

Есть ли у буфера обмена свойство, которое бы указывало, в какой кодировке в нем текст?
_____________________________

Как я докопался, если в окне активна английская раскладка (1033), то вставка русского проходит через ANSI кодировку с американским набором символов.
Появляются всякие дифтонги, умляуты и прочее мракобесие, которое там записано с 224 знака.
Если принудительно менять раскладку на русский, а уж потом копипастить через keybd_event, то все нормально.

Вопрос, почему Виндоуз правильно выбирает нужную кодировку при ручном Cntrl-C, Cntrl-V, не взирая на активную раскладку или раскладку по умолчанию?

Так, словно, у буфера есть свойство, указывающее, в какой раскладке был скопирован текст и соответственно в какой вставлять. А после
Код:
var
Str: string;
.....
Str:=Clipboard.AsText;
.....                             // что-то делать
Clipboard.AsText:=Str;
оно затирается и сбрасывается на умолчания.

Может, надо через UNICODE каким-то образом работать?

Последний раз редактировалось Smogg; 14.04.2012 в 22:59.
Smogg вне форума Ответить с цитированием
Старый 14.04.2012, 23:53   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

http://www.sql.ru/forum/actualutils....51&msg=2174191
phomm вне форума Ответить с цитированием
Старый 15.04.2012, 11:49   #3
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,152
По умолчанию

Спасибо!
То, что надо.
Smogg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7, БД, русс-англ словарь Kapez4elove4kam Помощь студентам 2 07.06.2011 09:39
буфер обмена DeDoK Win Api 1 25.10.2010 19:08
буфер обмена olimpus Microsoft Office Excel 2 19.09.2009 08:52
буфер обмена __@cmd@__ Общие вопросы Delphi 2 04.02.2009 12:24
Вставка данных(Excel) из clipboard в DBGrid mahsus Общие вопросы Delphi 1 07.10.2007 02:02