cpueblo's
Programming
     

Google
 
Programming | Tools | Money | Blog | ±âÁ¸ ÀÚ·á½Ç | ÄÚµå»ç¶û ¹æ¸í·Ï | About Me | English | °Ë»ö   
¾ð¾îº°:


ÁÖÁ¦º°:


Àüü Ç׸ñº°


±âŸ


±¤ÈñÀÇ ÀÚÀÛÅø

cpueblo's Library

 

µ¥ÀÌŸ ¹öÆÛ¸¦ HEX °ª°ú ASC ÇÔ²² Ãâ·Â

µî·ÏÀÚ : À¯±¤Èñ, 02-07-26 01:50:05


ASC °ª Áß¿¡ ÀÌ»óÇÑ ¹®ÀÚ´Â . À¸·Î 󸮸¦ ÇØ¼­ È­¸é 󸮽à ¿À·ù°¡ ¾øµµ·Ï ÇÑ´Ù. ¾Æ·¡ ¸ñ·Ï Áß¿¡ Buf[20480]; Àº ¶«»§À̸ç.. Col ÀÇ °æ¿ì ¾Æ·¡´Â 21 °³ÀÇ ¹öÆÛ¸¦ ÇÑ ¶óÀÎÀ¸·Î 󸮸¦ ÇÑ´Ù
void TfrmSerialTest::ShowHex(BYTE *Buffer, int Size)
{
    const int Col = 21;

    BYTE Buf[20480];
    String Str;

    BYTE tmp[Col + 1];

    int i = 0;

    memset(Buf, 0, sizeof(Buf));
    memcpy(Buf, Buffer, Size);

    while(1)
    {
        String Hex = "";
        memset(&tmp, 0, sizeof(tmp));

        for (int c = 0; c < Col; c ++)
        {
            if (i + c >= Size)
            {
                Hex += "   ";
                tmp[c] = ' ';
            }
            else
            {
                String Tmp;
                Tmp.printf("%02X ", Buf[i + c]);
                Hex += Tmp;

                if (Buf[i + c] > 32 && Buf[i + c] < 127)
                    tmp[c] = Buf[i + c];
                else
                    tmp[c] = '.';
            }
        }
        WriteMessage(Hex + " " + (char *)tmp, clRed);
        i+=Col;
        if (i > Size)
            break;
    }

    WriteMessage("");
}

void TfrmSerialTest::WriteMessage(String Message, int Color)
{
    redtMessage->SelAttributes->Color = (TColor)Color;
    redtMessage->Lines->Add(Message);
}

/* Code To HTML Generated by WannyCodeHTML. À¯±¤Èñ yurchi@hanmail.net */

World of World. http://cpueblo.com by À¯±¤Èñ. mail to cpueblocpueblo.com