我用SPCCOM做串口通讯,但上来的是ASCII码,有谁可以
告诉我如何把之转换成十六进制吗?最好可以说说原理,我
是菜鸟,谢谢大家啊!
  我是用DELPHI6.0做的,谢谢!

解决方案 »

  1.   

    IntToHex(StrToInt(YourTEXT),4);进来'10',出去000A;?这样么?
      

  2.   

    不好意思,好象老是出错啊,还是不行,我的//接收程序//是这样的:
    procedure TFcomm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer; //当有数据输入时处理
      BufferLength: Word);
       var
          strReceive: string;
          buffer:     pointer;
          bufferlength: word;
       begin
          Setlength(strReceive,Bufferlength);
          Move(Buffer^,PChar(StrReceive)^,BufferLength);//作用是复制byte
          memo1.Lines.Add(strreceive);
          Memo1.Invalidate;//  这一行是什么意思?我不太清楚,请问大家?
       end;  请问一下如果是定义十六进制的变量,是用HEX还是STRING啊?我太菜了,不好意思,谢谢!
      

  3.   

    Memo1.Invalidate;//  这一行是什么意思?我不太清楚,请问大家?
    Repaint,
      

  4.   

    好了,谢谢(我曾经不是一头猪),用下面这个参考程序就可以把数据转成十六进制的了。
    edit1.Text:=memo1.Text;
          for t := 1 to 13 do
           begin
            try
               edit2.Text:=edit2.Text+IntToHex(ord(edit1.text[t]),2);           except
                    Beep;
               end;
        呵呵,ORD的问题啊。
           end;