|
楼主 |
发表于 2020-6-6 10:15:01
|
显示全部楼层
非常感谢xclzc17 ( ) 的热心帮助,虽然没有帮我解决问题,但我真的很感激!!
转Delphi3个月了,总体上感觉delphi的程序员大多数很冷漠。 在delphi群里问问题无人问津,在verysource的基础类里问问题,也是人少的可怜。
为了发泄我心中的不满,我还是要忍不住骂一句,去他妈的verysource的delphi的基础类!! 俩斑竹早鸡巴换了吧!!
没办法自己写了个函数,不能再等了....
procedure TLT.Z_SerialLongWord(iValue:LongWord;SerialBuf:Pointer); //将delphi的longword按右对齐序列化到缓冲区内 $1=00 00 00 01,而不是01 00 00 00(delphi默认的)
var
desBuf:Array[0..3] of byte;
tmpBuf:Array[0..3] of byte;
begin
zeromemory(@desBuf,sizeof(tmpBuf));
zeromemory(@tmpBuf,sizeof(tmpBuf));
copymemory(@desBuf,@iValue,sizeof(iValue));
tmpBuf[0]:=desBuf[3];
tmpBuf[1]:=desBuf[2];
tmpBuf[2]:=desBuf[1];
tmpBuf[3]:=desBuf[0];
copymemory(@desBuf,@tmpBuf,sizeof(tmpBuf));
copymemory(SerialBuf,@desBuf,sizeof(desBuf));
end;
//3037142018=$b5071c02 存入缓冲区内: b5071c02 而不是 02 1c 07 b5
{ //调用示例:
var
iSourceNode:Longword;
tmpBuf:Array[0..3] of Byte;
begin
iSourceNode:=$b5071c02;
Lt.Z_SerialLongWord(iSourceNode,@tmpBuf);
end;
} |
|