Модераторы: 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   Вверх
Song
Дата 1.8.2005, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


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

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



Конкретно с едит-контролами дельфей не могу добиться знаков вопроса smile
Так бы можно было пободаться


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


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


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

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



Цитата(Song @ 1.8.2005, 09:36)
Конкретно с едит-контролами дельфей не могу добиться знаков вопроса
Так бы можно было пободаться


Яж говорю как пропрёт винду. У меня вопросы где-то раз в месяц.

===============================
Напутствие пыонэрам:

Ловить вам нужно не бабочек и не буфер а WM_COPY посланное в окно, далее
определить кодировку этого окна, а потом уже решать менять ему language или нет.

Это сообщение отредактировал(а) RAdmin - 1.8.2005, 12:35
PM   Вверх
Bog d`An
Дата 2.8.2005, 03:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(RAdmin @ 1.8.2005, 12:34)
Цитата(Song @ 1.8.2005, 09:36)
Конкретно с едит-контролами дельфей не могу добиться знаков вопроса
Так бы можно было пободаться


Яж говорю как пропрёт винду. У меня вопросы где-то раз в месяц.

===============================
Напутствие пыонэрам:

Ловить вам нужно не бабочек и не буфер а WM_COPY посланное в окно, далее
определить кодировку этого окна, а потом уже решать менять ему language или нет.

У меня XP проявляет достойное похвал постоянство на этот счёт smile

WM_COPY посылаетссся... поссылается... а куда? Не в моё же приложение smile

Есть ли более простой способ отследить это дело, кроме общего хука? Спасибо.

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


Sysman.ru
***


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

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



Bog d`An
Зато WM_PASTE в твоё.


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Bog d`An
Дата 3.8.2005, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Song @ 2.8.2005, 07:46)
Bog d`An
Зато WM_PASTE в твоё.

Копирую в буфер русский текст:
Вариант 1. При английской раскладке
а. Вставляю в TEdit - в результате знаки вопроса
б. Переключаю раскладку на русскую и вставляю в TEdit - в результате знаки вопроса
Вариант 2. ПЕРЕД КОПИРОВАНИЕМ переключаю раскладку (т.е. копирую при руской раскладке)
а. Вставляю в TEdit - в результате РУССКИЙ ТЕКСТ - THE BEST!!!
б. Переключаю раскладку на английскую и вставляю в TEdit - в результате РУССКИЙ ТЕКСТ - THE BEST!!!

И кто после этого ставит хук на вм_паст? А главное смысл? Тем более наЮга хук если паст в твоём приложении???

Добавлено @ 04:14
Цитата(Romikgy @ 1.8.2005, 08:14)
А не в том ли проблема , что винда при копировании в буфер конвертит текст в юникод????

Нельзя ли рассказать подробнее? pls smile

ЗЫ: "THE BEST!!!" - это не русский текст, а эмоция такая, вроде смайлика ":)"

ЗЗЫ: Может всё-таки кто-нибудь посоветует, как обойтись без общего хука?

ЗЗЗЫ: Той вместо такого, к-й сканит все сообщений винды на предмет вм_копи?

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


Sysman.ru
***


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

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



Bog d`An
у меня такого нет, поэтому не могу и лекарство поэксперементировать.
А что у тебя за система?


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Bog d`An
Дата 3.8.2005, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



профессиональная свинья
Добавлено @ 07:47
с сервиспаком1 русифицированная
Добавлено @ 07:52
с сервиспаком1 русифицированная


Song, а у тебя?

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


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


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

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



Цитата(Bog @ 3.8.2005, 04:05)
Нельзя ли рассказать подробнее?

У меня стоит английская версия ХР без руссификации, в настройке--регионы и языки --
понял на русский регион, и самое главное в закладке advanced (у меня так, она третья) поменять на русский , вроде как я понял не-Юникод раскладки, как я понимаю, если винда не догоняет какая раскладка она ее представляет как юникод, отсюда и вопросики smile


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

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


Sysman.ru
***


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

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



SP2 native english


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Bog d`An
Дата 4.8.2005, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Romikgy @ 3.8.2005, 08:24)
закладке advanced (у меня так, она третья) поменять на русский

у меня там тоже русский выбран
Добавлено @ 08:13
если русская раскладка, винда догоняет что за кодировка, если английская -//- нет?
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Romikgy
Дата 4.8.2005, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Попробуй еще ниже , этого выбраного все таблицы перекодировок русского языка выбрать, более я и сам не знаю smile че знал то сказал, хотя и странная ситуёвина smile
Добавлено @ 08:22
Цитата(Bog @ 4.8.2005, 08:09)
если русская раскладка, винда догоняет что за кодировка, если английская -//- нет?

Может быть , где то винда прописала , что кирилица это кодировка анси , а англ. это юникод , у меня такого небыло, так догадки, мож шрифт по умолчанию поменять надо ???


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

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


Бывалый
*


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

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



Цитата(Romikgy @ 4.8.2005, 08:19)
Попробуй еще ниже , этого выбраного все таблицы перекодировок русского языка выбрать, более я и сам не знаю smile че знал то сказал, хотя и странная ситуёвина smile
...
Может быть , где то винда прописала , что кирилица это кодировка анси , а англ. это юникод , у меня такого небыло, так догадки, мож шрифт по умолчанию поменять надо ???

Ладно, щас полезу ставить галочки на китайские языки smile

Шрифт по умолчению - напомни это где?

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


Бывалый
*


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

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



а как програмно эти галочки проставить кто-нибудь в курсе?

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


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


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

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



Цитата(Bog @ 5.8.2005, 06:59)
Шрифт по умолчению - напомни это где?

Я ж сказал , это чисто моя догадка!!! Но и по умолчанию что-то должно быть, это тоже 100%
Цитата(Bog @ 5.8.2005, 07:12)
а как програмно эти галочки проставить кто-нибудь в курсе?

Так что получилось????


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

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


Бывалый
*


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

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




Цитата(Romikgy @ 5.8.2005, 08:39)
Цитата (Bog d`An @ 5.8.2005, 06:59)
Шрифт по умолчению - напомни это где?


Я ж сказал , это чисто моя догадка!!! Но и по умолчанию что-то должно быть, это тоже 100%

Цитата (Bog d`An @ 5.8.2005, 07:12)
а как програмно эти галочки проставить кто-нибудь в курсе?


Так что получилось????


Romikgy нет, не помогло smile
просто интерестно... было... Вопрос снимаю так как он не по теме... Оба...: smile

Цитата(Bog @ 5.8.2005, 06:59)
Шрифт по умолчению - напомни это где?


Цитата(Bog @ 5.8.2005, 07:12)
а как програмно эти галочки проставить кто-нибудь в курсе?


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


Бывалый
*


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

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



Информация для размышлений: при перетаскивании файлов в приложение
Код

type
  TMainForm = class(TForm)
...
  private
    { Private declarations }
    procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES; //получение сообщений о переносе файла в окно приложения
...
Procedure TMainForm.WMDropFiles(var Msg: TWMDropFiles);
var
  CFileName: array[0..MAX_PATH] of Char; // переменная, хранящая имя файла
  NumberFiles, counter: Cardinal;
begin
  CurList:=TStringList.Create;
  try
    NumberFiles:=DragQueryFile(Msg.Drop, $FFFFFFFF, CFileName, MAX_PATH); // получение количества файлов
    for counter:=0 to Numberfiles-1 do
    Begin
      DragQueryFile(Msg.Drop, counter, CFileName, MAX_PATH);
        MainForm.Memo1.Lines.Add(CFileName); //пути к файлам
    End;
    Msg.Result := 0;
  finally
    DragFinish(Msg.Drop); // отпустить файл
  end;
end;
//------------------------------------------------------------------------------
...
procedure TMainForm.FormCreate(Sender: TObject);
begin
...
  DragAcceptFiles(Handle, True);
...
end;



а также при перетаскивании на иконку приложения (передача как параметра комадной строки)
Код

...
procedure TMainForm.FormCreate(Sender: TObject);
Var 
  counter:Integer;
begin
...
    for Counter:=1 to ParamCount do
     MainForm.Memo1.Lines.Add(ParamStr(Counter));
...
end;


РУССКИЕ БУКВЫ ОТОБРАЖАЮТСЯ ПРАВИЛЬНО. Теперь если скопировать текст из мемо при любой раскладке - то глюк пропадает - вставляется нормальный русский текст...

может кого этот факт натолкнёт на мысль?



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


Sysman.ru
***


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

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



А чего тут думать? Всё дело в юникодах.


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Bog d`An
Дата 9.8.2005, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

Наверное всё же прейдётсяя создавать глобальную ловушку... smile
поскольку это единственное предложенное решение smile
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Song
Дата 9.8.2005, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


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

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



Ловишь WM_PASTE, берёшь ClipBoard.asText, преобразуешь его из юникодов, так чтобы убрать кракозябры. Далее посылаешь сообщение тому же контролу асинхронно для вставки исправленноно текста.


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


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


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

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



Вобщем вот то очём я писал. Не испытывал, ибо условия не позволяють.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Hook.rar 0,50 Kb
PM   Вверх
Bog d`An
Дата 11.8.2005, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



ок, проведу испытания smile если справлюсь с этой непростой задачей %) отчитаюсь...
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Bog d`An
Дата 12.8.2005, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



RAdmin, спасибо, но мне не всё понятно в твоём примере - например что за сообщение такое $0400 + 2
Код

...
//SendMessage( MainWnd, $0400 + 2, wParam, k );
...
и как на него отвечать smile
После прочтения ещё десятка страниц мануала от разных авторов, взял за основу статью Aleksey'я Pavlov'а (а точнее пример №3).
Так вот - или у меня руки кривые или не всё так просто и WM_COPY не обрабатывается smile
(я, конечно, предпочёл бы второй вариантsmile )
Буду признателен, если ты посмотришь код...
Так как я ещё не разобрался как прикреплять к мессажам файлы, то вышлю тебе на почту, ок?
Если не лень дать адресок...
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Bog d`An
Дата 12.8.2005, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



так... кажется уже разобрался с прикреплёнными файлами...
Итак вот моё "творчество"

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  ClipboardHook.rar 11,77 Kb
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Bog d`An
Дата 12.8.2005, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



а вот то, что я переработал... присутствует статейка по ловушкам...

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  Aleksey_Pavlov.rar 40,74 Kb
--------------------
Удача откроет двери даже там, где их нет.Генри Морган--------------------[Furry team][Agent`s team][СРУКер]   
PM MAIL WWW   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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