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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодировкой. WM_CHAR, Как корректно отправить текст приложению 
:(
    Опции темы
superwolf
Дата 3.11.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблема в следующем. Посылаю текст стороннему приложению, долго мучался. Функции наподобе sendmessage с параметрами типа wm_settext не работали. Выход нашел только один. Работает! Но стороннее приложение корректно воспринимает только латиницу.

я отправляю текст так:

Код

s:=edit1.Text;
for i:=1 to length(s) do
    PostMessage(WindowHandler,WM_CHAR,ord(s[i]),0);


где

Код

s : String;


в поле Edit1 содержится текст "Edit1 Привет!"

CHARSET у всей формы стоит ANSI_CHARSET и наследуется всеми объектами на ней, как я понимаю.

В стороннее приложение приходит текст "Edit1 Ïðèâåò!" Такой же кстати, как  при компировании сюда в эту HTML форму!!
Что это за проблема и как ее решать, подскажите пожалуйста!
PM MAIL   Вверх
superwolf
Дата 3.11.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Только что заметил что когда в windows ключена русская раскладка, то программа нормально отправляет текст в нормальной кодировке и точно также нормально выводит его из буфера обмена (или вводит). Что это за баг такой? неужели перед отправкой текста придется программно каждый раз менять раскладку клавиатуры? Oo
PM MAIL   Вверх
superwolf
Дата 9.11.2009, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Up! Прочитал имеющуюся здесь информацию по изменению charset и проч. Но ни один из способов не подошел, текст из компонентов типа TEdit или TMemo не корректно копируется если стоит EN раскладка. Приходится динамически менять раскладку на русскую перед компрованием в буфер или вставкой русского текста с помощью апи-функций в другое приложение. Неужели у такой серьезной проблемы нет решения в Delphi 7?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

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

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

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

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

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


 




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


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

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