![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
При вставке в TEdit моего приложения текста из буфера обмена вместо русских букв отображаются знаки вопроса, что не есть правильно. Как сделать правильно? Если можно, кусок кода. Зарание спасибо.
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Rrader |
|
|||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Откуда скопирован текст?
|
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Это баг самого XP.
|
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
Не знаю, у меня всё правильно вставляется, но одно время такой же косяк был (не помню как исправил), могу только посоветовать:
1. В свойствах Edit1 (TEdit) попробуй разные значения Font\Charset (по умолчанию там стоит Defaut_Charset) 2. Такой косяк возникает и с другими прогами, там делается следующий обход: при копировании и вставке русских символов должная стоять русская раскладка клавиатуры. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
ТоляМБА не поможет, это чисто XP-шный баг. Где-то на форуме этот вопрос уже обсуждался.
|
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
RAdmin, ну сегодня я утром дома посмотрел Винда ХР русифицированная без сервис паков. Делфя 7 Enterprise, не русифицированная. Создал форму с эдитом, скомпилировал, запускил экзэшник: если из ворда копировать, то даже на английской раскладке русские буквы в эдит копируются без проблем, а если из блокнота копировать или имя файла из папки, то при англий ской раскладке действительно "??????? ?????", но если переключить на русскую раскладку, скопировать, вставить, то всё читается нормально. Значит всё-таки грабли не в ХР или может в ней но в английской версии? |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Bog d`An
Просто перед копированием в буфер переведи раскладку на RU -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
ТоляМБА Грабли в XP, так как текст в виде "???????" ты получишь даже при вставке его в блокнот.
|
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
см ответ Song-a
|
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Это конечно выход Теперь серьёзно: те же исходные но теперь текст уже в буфере. Типа юзер что-то делает а прога пытается перехватить буфер обмена... Это сообщение отредактировал(а) Bog d`An - 28.7.2005, 06:08 --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Поставить хук на копирование в буфер, и перед копирование менять раскладку активному окну.
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Возможно даже будет работать
однак я в ХР для решения данной проблемы , где только можно , в ее настройках, ставил русские локали, и все работало. Хотя мож эт только у меня все так хорошо -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Romikgy Это всё как пропрёт, у меня после установки SP2 этот баг то проявляется то нет, закономерность немогу понять.
|
|||
|
||||
| Bog d`An |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
эх... попрет не попрёт... а стабильность работы проге не помешает
Хорошая идея! Не скажешь как сделать наиболее просто ловушку на буфер? В смысле оказать гуманитарную помощь куском кода Как я понимаю, надо поставить общий хук и перехватывать сообщения о копировании в буфер? Тогда возникают вопросы: 1. Какие сообщения на это дело генерит винда? 2. Это сообщение генерится ДО копирования в буфер или ПОСЛЕ 3. Нельзя ли это сделать проще? Ну и от себя: работающий код для переключения/определения раскладки.
Сейчас скопировал этот кусок сюда с делфи - тот же глюк токо вместо знаков вопроса крокозяблики ЗЫ: Лечится, как и было сказано Song`ом, переключением раскладки, спасибо... Это сообщение отредактировал(а) Bog d`An - 1.8.2005, 04:45 --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
||||||
|
|||||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
А не в том ли проблема , что винда при копировании в буфер конвертит текст в юникод????
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Конкретно с едит-контролами дельфей не могу добиться знаков вопроса
Так бы можно было пободаться -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Яж говорю как пропрёт винду. У меня вопросы где-то раз в месяц. =============================== Напутствие пыонэрам: Ловить вам нужно не бабочек и не буфер а WM_COPY посланное в окно, далее определить кодировку этого окна, а потом уже решать менять ему language или нет. Это сообщение отредактировал(а) RAdmin - 1.8.2005, 12:35 |
|||
|
||||
| Bog d`An |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
У меня XP проявляет достойное похвал постоянство на этот счёт WM_COPY посылаетссся... поссылается... а куда? Не в моё же приложение Есть ли более простой способ отследить это дело, кроме общего хука? Спасибо. --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
||||
|
|||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Bog d`An
Зато WM_PASTE в твоё. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Bog d`An |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Копирую в буфер русский текст: Вариант 1. При английской раскладке а. Вставляю в TEdit - в результате знаки вопроса б. Переключаю раскладку на русскую и вставляю в TEdit - в результате знаки вопроса Вариант 2. ПЕРЕД КОПИРОВАНИЕМ переключаю раскладку (т.е. копирую при руской раскладке) а. Вставляю в TEdit - в результате РУССКИЙ ТЕКСТ - THE BEST!!! б. Переключаю раскладку на английскую и вставляю в TEdit - в результате РУССКИЙ ТЕКСТ - THE BEST!!! И кто после этого ставит хук на вм_паст? А главное смысл? Тем более наЮга хук если паст в твоём приложении??? Добавлено @ 04:14
Нельзя ли рассказать подробнее? pls ЗЫ: "THE BEST!!!" - это не русский текст, а эмоция такая, вроде смайлика ":)" ЗЗЫ: Может всё-таки кто-нибудь посоветует, как обойтись без общего хука? ЗЗЗЫ: Той вместо такого, к-й сканит все сообщений винды на предмет вм_копи? Это сообщение отредактировал(а) Bog d`An - 3.8.2005, 04:29 --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
||||
|
|||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Bog d`An
у меня такого нет, поэтому не могу и лекарство поэксперементировать. А что у тебя за система? -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
профессиональная свинья
Добавлено @ 07:47 с сервиспаком1 русифицированная Добавлено @ 07:52 с сервиспаком1 русифицированная Song, а у тебя? --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
У меня стоит английская версия ХР без руссификации, в настройке--регионы и языки -- понял на русский регион, и самое главное в закладке advanced (у меня так, она третья) поменять на русский , вроде как я понял не-Юникод раскладки, как я понимаю, если винда не догоняет какая раскладка она ее представляет как юникод, отсюда и вопросики -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
SP2 native english
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
у меня там тоже русский выбран Добавлено @ 08:13 если русская раскладка, винда догоняет что за кодировка, если английская -//- нет? --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Попробуй еще ниже , этого выбраного все таблицы перекодировок русского языка выбрать, более я и сам не знаю
Добавлено @ 08:22
Может быть , где то винда прописала , что кирилица это кодировка анси , а англ. это юникод , у меня такого небыло, так догадки, мож шрифт по умолчанию поменять надо ??? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Ладно, щас полезу ставить галочки на китайские языки Шрифт по умолчению - напомни это где? --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
а как програмно эти галочки проставить кто-нибудь в курсе?
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Я ж сказал , это чисто моя догадка!!! Но и по умолчанию что-то должно быть, это тоже 100%
Так что получилось???? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
| Bog d`An |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Romikgy нет, не помогло просто интерестно... было... Вопрос снимаю так как он не по теме... Оба...:
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
||||||
|
|||||||
| Bog d`An |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Информация для размышлений: при перетаскивании файлов в приложение
а также при перетаскивании на иконку приложения (передача как параметра комадной строки)
РУССКИЕ БУКВЫ ОТОБРАЖАЮТСЯ ПРАВИЛЬНО. Теперь если скопировать текст из мемо при любой раскладке - то глюк пропадает - вставляется нормальный русский текст... может кого этот факт натолкнёт на мысль? --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
||||
|
|||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
А чего тут думать? Всё дело в юникодах.
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
Наверное всё же прейдётсяя создавать глобальную ловушку... поскольку это единственное предложенное решение --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Ловишь WM_PASTE, берёшь ClipBoard.asText, преобразуешь его из юникодов, так чтобы убрать кракозябры. Далее посылаешь сообщение тому же контролу асинхронно для вставки исправленноно текста.
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Вобщем вот то очём я писал. Не испытывал, ибо условия не позволяють.
Присоединённый файл ( Кол-во скачиваний: 8 )
Hook.rar 0,50 Kb |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
ок, проведу испытания
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
RAdmin, спасибо, но мне не всё понятно в твоём примере - например что за сообщение такое $0400 + 2
После прочтения ещё десятка страниц мануала от разных авторов, взял за основу статью Aleksey'я Pavlov'а (а точнее пример №3). Так вот - или у меня руки кривые или не всё так просто и WM_COPY не обрабатывается (я, конечно, предпочёл бы второй вариант Буду признателен, если ты посмотришь код... Так как я ещё не разобрался как прикреплять к мессажам файлы, то вышлю тебе на почту, ок? Если не лень дать адресок... --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
так... кажется уже разобрался с прикреплёнными файлами...
Итак вот моё "творчество" Присоединённый файл ( Кол-во скачиваний: 10 )
ClipboardHook.rar 11,77 Kb--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
| Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
а вот то, что я переработал... присутствует статейка по ловушкам...
Присоединённый файл ( Кол-во скачиваний: 9 )
Aleksey_Pavlov.rar 40,74 Kb--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |