我没用过MSComm控件,曾经用过BCB做过类似的程序,当时是用了一个字符数组来存放接收的内容,然后根据我和别人的通讯协议,分析字符数组中,那几个字符代表什么数字,那个字符的那几位代表什么数字,因为在计算机中,有些数可以用一个字节来表示,有些数可能就需要两个或三个字节来表示,这还和机器的字长有关,而且,你要明白,其实即使是字符,也是一些二进制的代码,你要做的,只是把二进制的数字转换为16进制的数据,具体怎么转,要看你接收的数据代表的含义。在BCB里可以直接把字符看作数字,然后用intToHex来转换,不知道Delphi里怎么样。