求救以下Delphi代码,使用C#怎样实现。

yangys yangys 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1、
  
function CheckSum(var CommData: TClientCommPacket): Boolean;
var
Buf: array of Byte;
i: Integer;
Sum: LongWord;
begin
SetLength(Buf, SizeOf(CommData));
CopyMemory(@Buf[0], @CommData, SizeOf(CommData));
Sum := 0;
for i := Low(Buf) to High(Buf) - SizeOf(LongWord) do
Sum := Sum + Buf[i];
Result := (CommData.Sum = Sum);

for i := Low(CommData.Data) to High(CommData.Data) do
CommData.Data[i] := CommData.Data[i] xor $FA;
/////////////////////////////////////////////////////
end;


TClientCommPacket 为结构体,重点是SetLength()函数;SizeOf()函数。
或者使用C#完全实现CheckSum()函数功能。也行。

2、

type
TBusinessFunc = function(const cIP: PChar; const Port: Word; const InData: Pchar; var OutData: Pchar): Boolean of object; stdcall;

procedure acceptClient(const SVRHandle: Integer; ProDataFunc: TProDataFunc); stdcall; External SVRDLL;



很急,能解答者重奖。

谢谢!


...全文
评论 2
收藏 已收藏
分享
返回顶部
yangys
.NET技术其他语言 1,979 成员 12,447 内容