C++译成Pascal(20分)

  • 主题发起人 主题发起人 praisesoft
  • 开始时间 开始时间
P

praisesoft

Unregistered / Unconfirmed
GUEST, unregistred user!
void PutByte(char *pPacket, BYTE value, int &nPos)
{
*(BYTE*)(pPacket + nPos) = value;
nPos += sizeOf(BYTE);
}
/*
*(BYTE*)(pPacket + nPos)//是什么意思
*/
 
*(BYTE*)(pPacket + nPos)
意思是说把nPacket这个指针表示的地址值加上nPos这个偏移量之后,得到的新地址值作为指向BYTE数据类型的指针。所以这个函数转换成Delphi形式的就是--
procedure PutByte(pPacket:PChar;value:Byte;var nPos:integer);
begin
inc(pPacket,nPos);
PByte(pPacket)^:=value;
inc(nPos,SizeOf(Byte)
end;
 
procedure PubByte(pPacket:PChar;Value:Byte;var nPos:integer);
begin
Inc(pPacket,nPos);
pPacket^ := Char(Value);
Inc(nPos,SizeOf(Byte));
end;
 
谢谢两位!
 
后退
顶部