Страница 1 из 2

Setclipboard и кириллица.

Добавлено: 04 Октябрь 2012, 23:51
kreator
Столкнулся с проблемой: делаю setclipboard(Text), где Text - по-русски, вставка в другие программы - абракадабра. Можно победить?

Re: Setclipboard и кириллица.

Добавлено: 05 Октябрь 2012, 9:28
Дед Пахом
Попробуй вставку делать при включённой русской раскладке

Re: Setclipboard и кириллица.

Добавлено: 05 Октябрь 2012, 13:21
kreator
Спасибо за наводку! Получилось если setclipboard выполнять при кириллической раскладке. Самое интересное, что Ctrl+C работает правильно всегда. Наверно, все-таки надо SoftVelocity добавить параметр к функции setclipboard по аналогу с clipboard.

Re: Setclipboard и кириллица.

Добавлено: 07 Октябрь 2012, 12:04
Губин Игорь
1. Это проблема не велосипедистов, а Виндоус
2. В переключателе клавиатуры у Юрия Философова был кусок отвечающий за принудительную установку русской раскладки. Можешь использовать.

Re: Setclipboard и кириллица.

Добавлено: 08 Октябрь 2012, 16:32
kreator
Да надо попробовать запихнуть WinApi функцию для принудительного переключения клавиатуры, но не кул это. Ctrl+C ведь работает по-любому. Windows же знает когда в буфер обмена посылать картинку, текст, аудио и т.д., есть соответствующие параметры. Значит, Windows не причём. Опять же, Clarion посылает картинку в буфер обмена как? ImageBits. Могли бы сделать setclipboard(Image, CF_BITMAP). И в этом случае я бы использовал - setclipboard(Text, CF_OEMTEXT). Надо полазить по msdn в поисках WinApi'шной функции послать объект в буфер обмена. Во!!!

Re: Setclipboard и кириллица.

Добавлено: 08 Октябрь 2012, 16:42
Губин Игорь
kreator писал(а):Значит, Windows не причём.
Ну не буду убеждать... Лично я встречал эту проблему у массы программ не имеющих отношения к Clarion. Да и описана сия проблема на форумах виндов.

Я поборол эту бяку (не специально, а так, по ходу дела) тем, что работаю с TEXT с атрибутом RTF.

Re: Setclipboard и кириллица.

Добавлено: 08 Октябрь 2012, 17:56
Дед Пахом
kreator писал(а):Надо полазить по msdn в поисках WinApi'шной функции послать объект в буфер обмена. Во!!!
Эта тема настолько мутная... На Clipboard завязан механизм Drag-n-Drop, там надо столько искорячиться, чтобы данные послать/прочитать, мама не горюй!
Одних COM интерфейсов 5 штук.

Re: Setclipboard и кириллица.

Добавлено: 15 Октябрь 2012, 9:36
Yufil
>> 2. В переключателе клавиатуры у Юрия Философова был кусок отвечающий за принудительную установку русской раскладки. Можешь использовать.

Не у меня. Зато класс для работы с Буфером обмена у меня есть. Если интересно...

С уважением,
Юрий Философов

Re: Setclipboard и кириллица.

Добавлено: 15 Октябрь 2012, 12:12
Губин Игорь
Ну извини, что перевёл стрелки. С другой стороны, можешь гордиться, что ты уже в роли классика: тебе приписывают всё, даже то, что ты не делал. :P
Ну у кого-то же я этот кусок взял?! :?:

А что там в твоём классе особенного? Может мне как раз его для полного счастья и не хватает? :idea:

Re: Setclipboard и кириллица.

Добавлено: 15 Октябрь 2012, 13:02
Yufil
Там превращение Буфера обмена в обычную кларионовскую очередь с типами и значениями записей. Например, после копирования фрагмента с помощью MS Word будет получена очередь с текстом, RTF, OEM-текстом, OLE-объектом, HTML и так далее, откуда можно выдернуть нужный тип.

Есть возможность вернуть содержимое Буфер обмена из этой очереди обратно, если программа его поуродовала.

И на сладкое формирование буфера обмена в RTF или HTML для разных полезных целей, например, для вставки в Word-документ или в письмо.

В общем, ничего особенного :wink:

Re: Setclipboard и кириллица.

Добавлено: 15 Октябрь 2012, 13:22
Губин Игорь
Понятно. Посмотреть интересно, но использовать не буду, просто негде использовать такой функционал.
Если не жалко, то кинь, пожалуйста, в личку. Обязуюсь выдрать из него самые интересные идеи и использовать без ссылки на автора! 8)

Re: Setclipboard и кириллица.

Добавлено: 09 Ноябрь 2012, 0:55
muskin
?

Re: Setclipboard и кириллица.

Добавлено: 09 Ноябрь 2012, 1:35
muskin
muskin писал(а):
kreator писал(а):Столкнулся с проблемой: делаю setclipboard(Text), где Text - по-русски, вставка в другие программы - абракадабра. Можно победить?
Вызываю setclipboard('Привет Всем!'), далее -> в приложениях Text-> Word-> Excel - из clipboard-а вставляю текст 'Привет Всем!' - без всяких проблем, независимо от раскладки клавиатуры при нажатии Ctrl-C. Все четабильно.
Посмотри в реестре( если это Xp) HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage -> кодовые страницы 1250-1252 должны иметь параметр c_1251.nls
А может я неправильно понял вопрос?

Re: Setclipboard и кириллица.

Добавлено: 15 Ноябрь 2012, 10:24
kreator
Не, я проверил на нескольких машинах. Если setclipboard делать при английской раскладке, то будет абракадабра. А при вставке в Winword раскладка уже не важна. Важен момент setclipboard'а.

Re: Setclipboard и кириллица.

Добавлено: 17 Ноябрь 2012, 23:35
musкin
kreator писал(а):Не, я проверил на нескольких машинах. Если setclipboard делать при английской раскладке, то будет абракадабра. А при вставке в Winword раскладка уже не важна. Важен момент setclipboard'а.
Извини меня, kreator, забыл тебе сказать, что во всех своих программах использую его шаблон для перекладки клавиатуры, и он решит твои вопросы (XP Keyboard Switcher for Windows, если ты член клуба "Мушкетеров", зайди в приват и скачай этот шаблон..., если на входе появится грузное тело ПАХОМЫЧА -> бей его в ПАХ и тут-же уноси свои ноги (надеюсь,что у тебя в кармане хотя-бы Кольт 22 калибра)-> но если на выходе появится милое дружелюбное лицо главного Копа, Капитана (я сожалею, что ты не прихватил Кольт 45-ого калибра), имя которого мне просто страшно произнести, то ...? ), жалко, что он не указал свой счет -> я с большим удовольствием отправил бы ему 30 $USD за его труд.