ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
295557 Топик полностью
feo_kos (28.12.2011 20:17, просмотров: 80) ответил T.Дocтoeвcкий на На char в 16 бит похоже. А где строчка которой отправляешь?
Вот кусок функции, которой отправляю. Сделал в MFC. Все эти циклы, потому что в окне я набираюсь как бы hex, а отправляется,без циклов, символы по отдельности. char NumBuf[10]={0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0}; char WordBuf[6]={0xF,0xE,0xD,0xC,0xB,0xA}; wchar_t buf[256]; int f=0; NumOfBytes=sizeof(char)*(m_SendInfo.GetWindowTextLength()); m_SendInfo.GetWindowText((LPTSTR)buf,NumOfBytes+1); for(unsigned int BytesToWrite=0; BytesToWrite<NumOfBytes;BytesToWrite++)//только большие буквы { if(BytesToWrite%2==0) { if(buf[BytesToWrite]<0x40) buf[BytesToWrite]=(NumBuf[0x39-buf[BytesToWrite]]<<4)&0xF0; else buf[BytesToWrite]=(WordBuf[0x46-buf[BytesToWrite]]<<4)&0xF0; } else { if(buf[BytesToWrite]<0x40) buf[BytesToWrite]=NumBuf[0x39-buf[BytesToWrite]]; else buf[BytesToWrite]=WordBuf[0x46-buf[BytesToWrite]]; f++; buf[BytesToWrite-f]=buf[BytesToWrite-1]|buf[BytesToWrite]; } } WriteFile(FilePath,buf,NumOfBytes/2,&i,NULL); } Всё это дело работает корректно в отладчике.