一个VB函数,在改为Delphi时碰到些问题,请那位帮着改写一下,万分感谢!
Function getfloat(a() As Byte, offs As Integer) As Single
Dim fltapp As Single, i As Integer, bytapp As Byte
For i = 0 To 3
bytapp = a(i + offs)
CopyMemory ByVal VarPtr(fltapp) + (3 - i), ByVal VarPtr(bytapp), 1
Next i
getfloat = fltapp
End Function在Delphi中指针的加减只是对Integer和字符类型有效,何故
Function getfloat(a() As Byte, offs As Integer) As Single
Dim fltapp As Single, i As Integer, bytapp As Byte
For i = 0 To 3
bytapp = a(i + offs)
CopyMemory ByVal VarPtr(fltapp) + (3 - i), ByVal VarPtr(bytapp), 1
Next i
getfloat = fltapp
End Function在Delphi中指针的加减只是对Integer和字符类型有效,何故
TSingle = Record
s1, s2, s3, s4 : Byte;
end;
...
f : single;
TSingle(f).s1 := 1;
TSingle(f).s2 := 1;
TSingle(f).s3 := 1;
TSingle(f).s4 := 1;
我的QQ:78094438