Public Function formatGetStringFromByte(buf() As Byte, length As Integer) As String
    Dim i As Integer
    
    formatGetStringFromByte = ""
    
    For i = 0 To length - 1
        If buf(i) <= &HF Then
            formatGetStringFromByte = formatGetStringFromByte & " 0" & Hex(buf(i))
        Else
            formatGetStringFromByte = formatGetStringFromByte & " " & Hex(buf(i))
        End If
    Next
End Function
请问这个如何转成delphi 谢谢!

解决方案 »

  1.   

    Function   formatGetStringFromByte(buf: array of Byte;  length :Integer):String ;
    var
    i:integer;
    begin
       formatGetStringFromByte :='';
       For   i   =   0   To   length   -   1  do
       begin
                    If   buf[i]   <=   $0F   Then 
                            formatGetStringFromByte   :=   formatGetStringFromByte   +  inttoHex(buf[i],2); 
                    Else 
                            formatGetStringFromByte   :=   formatGetStringFromByte   +  inttoHex(buf[i],2);
                    End   If 
         end; 
    End;
     
      

  2.   


    function formatGetStringFromByte(buf:array of Byte;length:Integer):string;
    var
      i:integer;
    begin
      result:= ' ';
      for  i:=0 to length-1 do
      begin
        if buf[i]<=$0F Then
          result:=result + ' 0' + inttoHex(buf[i],2)
        else
          result:=result + ' '+inttoHex(buf[i],2);
       end;
    end;
      

  3.   

    哈哈,我的有几处错误!
    黑马王子的基本上正确,inttoHex函数指定的十六进制输出字符数,这里为2,也就是F,是以0F输出的,不需额外加0
    if buf[i]<=$0F Then
          result:=result + inttoHex(buf[i],2)
        else
          result:=result + inttoHex(buf[i],2);
       end;
      

  4.   

    还有一个就是vb中的一个Cint函数,在delphi中是什么?vb转成delphi真痛苦啊!
      

  5.   

    他不是单纯的字符转为integer,我查到了,是用round
      

  6.   

    四舍五入函数,取整
    delphi的round函数就是,但有点怪,不要用它!!!你到网上找找,很多的