![]() |
Модераторы: 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 ) ![]() |
|||
|
||||
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 ) ![]() --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
Bog d`An |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.3.2005 Где: Украина:Днепропет ровск Репутация: нет Всего: 3 |
а вот то, что я переработал... присутствует статейка по ловушкам...
Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() --------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер] |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |