![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
s-mike |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 16.1.2005 Где: Киев Репутация: 9 Всего: 16 |
Практически было установлено, что если в настройках системы установлен английский язык для программ, не поддерживающих юникод, то ни один из этих способов не помогает. Проверено на WinXP SP2 Rus с измененными настройками, BDS2006 Update 2. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
В заголовке темы указаны версии с 6-9. С 7-кой проверял на виндах с 98 по 2005. Работает отлично. 2006 еще не исследовал. Все еще работаю на 7-ке. Возможно там можно будет найти другое решение. |
|||
|
||||
s-mike |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 16.1.2005 Где: Киев Репутация: 9 Всего: 16 |
Моя реплика относится к этой фразе:
Хотя насколько я помню в этой версии проблем с языками стало меньше, но не помню точно в каком месте ![]() |
|||
|
||||
forever |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 3.9.2006 Репутация: нет Всего: нет |
Не нашлось пока решения? Использую Delphi 10Lite. Такая проблема: копирую в проводнике путь к файлу, вставляю в стандартный TEdit - кириллица заменяется на ????. RUSSIAN_CHARSET и SetThreadLocale(1049) ничего не дают. В остальном проблем с русским нет. Как побороть вставку? |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Так эти настройки должны относится к делфи, а не проекту, ведь редактор их коряво отображает. Обычно, перед копированием переключают раскладку на "RU" анолгично при вставке, после чего текст уже проблемы исчезают ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
forever |
|
||||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 3.9.2006 Репутация: нет Всего: нет |
alexeis1,
Юзеру на это с высокой колокольни.
1. Если попробовать последовать сказанному - результат ничтожен. 2. Даже если бы так было - как объяснить юзеру что он должен танцевать с бубном и как ответить на его здоровое недоумение "зачем?". Ведь в тот же Блокнот все вставляется нормально - почему здесь криво? |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
forever, а все это я неправельно понял, я думал проблема при копировании текста в редактор кода делфи, просто и такая тоже встречается...
Добавлено @ 09:08 Так это и на семерке тоже не помогает, тот же глюк. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
forever |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 3.9.2006 Репутация: нет Всего: нет |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
forever,
Попробуйте вставлять текст из буфера обмена нажатием кнопки
Добавлено @ 10:56 У меня сработало, если сработает и у вас, то можно будет сделать перехват WM_TEXT всего приложения с тем чтобы исправить эту проблему для всех полей ввода сразу. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Кстати эту проблему действительно надо решать вручную, поскольку это глюк windows а не борланд! Я только что проверил вставку того же текста в поле едит созданое на MFC абсолютно тот же эффект, просто сам windows контрол edit не верно обрабатывает сообщение WM_PASTE, т.е. не верно конвертирует юникодную строку в ansi строку, вероятно он не использует для этого настройки локализации.
Добавлено @ 11:47 От этой проблемы изначально избавлены юникодные версии контролов Например вот такой Едит отлично вставляет русский текст
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
SetThreadLocale(1049) это также WinAPI комманда, а не борланда.
Мы говорим винде, что для юникодной конвертации мы хотим использовать русскую локаль. В этом и смысл данной строки. Замечено: если приложение использует XP манифест, то используется локаль, указанная там. По умолчанию - это локаль 0 - нейтральная. Пока этот вопрос не исследовал. Я может ещё не проснулся, но не пойму о чём спор... |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Snowy, а фокус в том что при копировании пути содержащего русские буквы из проводника в буффер обмена, они сохраняются в юникоде, а при вставке их в поле едита при помощи отправки сообщения WM_PASTE, едит игнорирует локаль и ставит свою дефолтную, потому текст и получается с вопросами.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
forever |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 3.9.2006 Репутация: нет Всего: нет |
Тут такой полтергейст проявился: у товарища D7 и XP SP1, у меня D10 и XP SP2. Компилю прогу - в эдитах кириллица вставляется как ??????, отправляю exe ему - у него на системе кириллица вставляется в эдиты без проблем (в скомпиллированном у меня exe!). Неразбериху вносит обратный эксперимент: в скомпиллированный у него exe и у меня кириллица вставляется нормально. Где копать? |
|||
|
||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
У меня точно такая же проблема. Глюк с искажением текста при копировании в буфер происходит на скомпилированных на моем рабочем ПК проектах. Причем если проект скомпилирован у меня, то искажение происходит на всех ПК. Если проект компилируется у моего коллеги, то проблем c искажением текста нет ни на одном ПК. Скорее вcего так, вопрос в том, имеется ли возможность этот глюк преодолеть ? -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Fedia, я же привел рабочий код вставки из буфера обмена от http://forum.vingrad.ru/index.php?showtopi...;st=15&hl=#
Напишите наследника в котором переопределена обработка WM_PASTE. Либо пишите на апи с использованием юникодных компонентов -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |