I have a class and functions for making a "packet" to send. Basically it's just code to be decoded on the other side. I use HIBYTE and LOBYTE to change characters to numbers, but I don't think it works. Is there anything wrong with the code?
Code:class CPaintTool { public: BYTE ToolID; //All use CWCOORD pStart; //All use CWCOORD pEnd; //Rectangle and Line only WORD LineWidth; //All use WORD Radius; //Circles only BYTE cRed; //All use BYTE cGreen; //All use BYTE cBlue; //All use char szPacket[20]; void MakePacket(); void BreakPacket(); }; void CPaintTool::MakePacket() { ZeroMemory(&szPacket, 20); wsprintf( szPacket, "%c%c%c%c%c%c%c%c%c%c%c%c%c%c\r\n", ToolID, HIBYTE(pStart.x), LOBYTE(pStart.x), HIBYTE(pStart.y), LOBYTE(pStart.y), HIBYTE(pEnd.x), LOBYTE(pEnd.x), HIBYTE(pEnd.y), LOBYTE(pEnd.y), HIBYTE(LineWidth), LOBYTE(LineWidth), cRed, cGreen, cBlue ); } void CPaintTool::BreakPacket() { ToolID = (BYTE)szPacket[0]; pStart.x = MAKEWORD((BYTE)szPacket[2], (BYTE)szPacket[1]); pStart.y = MAKEWORD((BYTE)szPacket[4], (BYTE)szPacket[3]); pEnd.x = MAKEWORD((BYTE)szPacket[6], (BYTE)szPacket[5]); pEnd.y = MAKEWORD((BYTE)szPacket[8], (BYTE)szPacket[7]); LineWidth = MAKEWORD((BYTE)szPacket[10], (BYTE)szPacket[9]); cRed = (BYTE)szPacket[11]; cGreen = (BYTE)szPacket[12]; cBlue = (BYTE)szPacket[13]; }



LinkBack URL
About LinkBacks


