Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разные кодировки, определить и преобразовать, помогите разобратся 
:(
    Опции темы
Bog d`An
Дата 26.7.2005, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.3.2005
Где: Украина:Днепропет ровск

Репутация: нет
Всего: 3



При вставке в TEdit моего приложения текста из буфера обмена вместо русских букв отображаются знаки вопроса, что не есть правильно. Как сделать правильно? Если можно, кусок кода. Зарание спасибо.


--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Rrader
Дата 26.7.2005, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Откуда скопирован текст?


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
RA
Дата 26.7.2005, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Это баг самого XP.
PM   Вверх
ТоляМБА
Дата 26.7.2005, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Не знаю, у меня всё правильно вставляется, но одно время такой же косяк был (не помню как исправил), могу только посоветовать:
1. В свойствах Edit1 (TEdit) попробуй разные значения Font\Charset (по умолчанию там стоит Defaut_Charset)
2. Такой косяк возникает и с другими прогами, там делается следующий обход: при копировании и вставке русских символов должная стоять русская раскладка клавиатуры.
PM   Вверх
RA
Дата 26.7.2005, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



ТоляМБА не поможет, это чисто XP-шный баг. Где-то на форуме этот вопрос уже обсуждался.
PM   Вверх
ТоляМБА
Дата 27.7.2005, 05:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Цитата(RAdmin @ 26.7.2005, 09:14)
ТоляМБА не поможет, это чисто XP-шный баг. Где-то на форуме этот вопрос уже обсуждался.

RAdmin, ну сегодня я утром дома посмотрел
Винда ХР русифицированная без сервис паков. Делфя 7 Enterprise, не русифицированная. Создал форму с эдитом, скомпилировал, запускил экзэшник: если из ворда копировать, то даже на английской раскладке русские буквы в эдит копируются без проблем, а если из блокнота копировать или имя файла из папки, то при англий ской раскладке действительно "??????? ?????", но если переключить на русскую раскладку, скопировать, вставить, то всё читается нормально.
smile
Значит всё-таки грабли не в ХР или может в ней но в английской версии?
PM   Вверх
Song
Дата 27.7.2005, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Bog d`An
Просто перед копированием в буфер переведи раскладку на RU


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
RA
Дата 27.7.2005, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



ТоляМБА Грабли в XP, так как текст в виде "???????" ты получишь даже при вставке его в блокнот.
PM   Вверх
Bes
Дата 27.7.2005, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 806
Регистрация: 8.12.2004

Репутация: 5
Всего: 7



см ответ Song-a
PM MAIL   Вверх
Bog d`An
Дата 28.7.2005, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.3.2005
Где: Украина:Днепропет ровск

Репутация: нет
Всего: 3



Цитата(Song @ 27.7.2005, 07:30)
Bog d`An
Просто перед копированием в буфер переведи раскладку на RU

Это конечно выход smile
Теперь серьёзно: те же исходные но теперь текст уже в буфере.
Типа юзер что-то делает а прога пытается перехватить буфер обмена...


Это сообщение отредактировал(а) Bog d`An - 28.7.2005, 06:08
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
RA
Дата 28.7.2005, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Поставить хук на копирование в буфер, и перед копирование менять раскладку активному окну.
PM   Вверх
Romikgy
Дата 28.7.2005, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Возможно даже будет работать smile
однак я в ХР для решения данной проблемы , где только можно , в ее настройках, ставил русские локали, и все работало. Хотя мож эт только у меня все так хорошо smile smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
RA
Дата 28.7.2005, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Romikgy Это всё как пропрёт, у меня после установки SP2 этот баг то проявляется то нет, закономерность немогу понять. smile
PM   Вверх
Bog d`An
Дата 1.8.2005, 04:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 26.3.2005
Где: Украина:Днепропет ровск

Репутация: нет
Всего: 3



Цитата

RAdmin Дата 28.7.2005, 08:51
  Romikgy Это всё как пропрёт, у меня после установки SP2 этот баг то проявляется то нет, закономерность немогу понять. 

эх... попрет не попрёт... а стабильность работы проге не помешает smile
Цитата

RAdmin Дата 28.7.2005, 07:36
  Поставить хук на копирование в буфер, и перед копирование менять раскладку активному окну. 

Хорошая идея! Не скажешь как сделать наиболее просто ловушку на буфер? В смысле оказать гуманитарную помощь куском кода smile

Как я понимаю, надо поставить общий хук и перехватывать сообщения о копировании в буфер? Тогда возникают вопросы:
1. Какие сообщения на это дело генерит винда?
2. Это сообщение генерится ДО копирования в буфер или ПОСЛЕ smile
3. Нельзя ли это сделать проще? smile

Ну и от себя: работающий код для переключения/определения раскладки.
Код


procedure SetLenguage(CodePage:String);
var
  Layout: array[0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout(StrCopy(Layout,PChar(CodePage)),KLF_ACTIVATE);//На русский  00000419 // На английский 00000409 // На украинский 00000422
end;
//------------------------------------------------------------------------------

Function GetLenguage:String;
var
  RA: Array[0..$FFF] of Char;
begin
 GetKeyboardLayoutName(RA) ;
 Result:= StrPas(RA);
end;
//------------------------------------------------------------------------------


Сейчас скопировал этот кусок сюда с делфи - тот же глюк токо вместо знаков вопроса крокозяблики smile
ЗЫ: Лечится, как и было сказано Song`ом, переключением раскладки, спасибо...

Это сообщение отредактировал(а) Bog d`An - 1.8.2005, 04:45
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Romikgy
Дата 1.8.2005, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



А не в том ли проблема , что винда при копировании в буфер конвертит текст в юникод????


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0841 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.