Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение информации в MDI и консольном прилож.. кодировка приложений и раскладка клавиат 
V
    Опции темы
_hunter
Дата 17.10.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



Цитата(NewLine @  17.10.2006,  16:23 Найти цитируемый пост)
Так передаются почему-то только латинские буквы.Конечно если я задамCString m_msg="п";m_ptrComSocket->Send(m_msg, sizeof(m_msg)); Так оно успешно передаться  и отобразится.

опять я ничего не понял. так передаются русские буквы или нет?

кстати насчет 
CString m_msg="п";
sizeof(m_msg)
я уже писал. так делать нельзя.

из всего вышесказанного я делаю вывод что проблема у тебя не с передачей а с преобразованием virtual key code в char. это так?

Добавлено @ 16:40 
http://delphi.about.com/od/adptips2006/qt/vkey2char.htm


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
NewLine
Дата 17.10.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да русские буквы передаются, но только если их явно задать. 
Да, не получается из virtual key code получить нажатый символ.

Цитата

кстати насчет 
CString m_msg="п";
sizeof(m_msg)
я уже писал. так делать нельзя.

А почему нельзя???

Цитата

эта проблема решается банальным приведением типов. а именно:
int code = 0;
recv(s,  (char*)&code,  sizeof(code),  flags); 

Она так не решается. Мне кажется функция
int recv(SOCKET s,  char* buf,  int len,  int flags);
Ждет окончания строки, а так как мы передаем ей целое число, то она окончания строки не находит и поэтому дальше не идет.



Это сообщение отредактировал(а) NewLine - 17.10.2006, 17:31
--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
_hunter
Дата 17.10.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



Цитата(NewLine @  17.10.2006,  17:29 Найти цитируемый пост)
А почему нельзя???

читай выше.

Цитата(NewLine @  17.10.2006,  17:29 Найти цитируемый пост)
Она так не решается

описанная тобой проблема именно так и решается.

Цитата(NewLine @  17.10.2006,  17:29 Найти цитируемый пост)
Мне кажется функцияint recv(SOCKET s,  char* buf,  int len,  int flags);Ждет окончания строки, а так как мы передаем ей целое число, то она окончания строки не находит и поэтому дальше не идет.

ничего она не ждет (для того и передается размер ожидаемых данных)


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
NewLine
Дата 18.10.2006, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо большое _hunter .
Все замечательно получилось.
Особенно ссылка очень помогла
 http://delphi.about.com/od/adptips2006/qt/vkey2char.htm . 
Тема закрыта.

--------------------
Компания NewLineStudio - Разработка программного обеспеченияOn-CRM.ru - интернет CRM система
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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