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 谢谢!
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 谢谢!
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;
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;
黑马王子的基本上正确,inttoHex函数指定的十六进制输出字符数,这里为2,也就是F,是以0F输出的,不需额外加0
if buf[i]<=$0F Then
result:=result + inttoHex(buf[i],2)
else
result:=result + inttoHex(buf[i],2);
end;
delphi的round函数就是,但有点怪,不要用它!!!你到网上找找,很多的