将C++ FOR循环转换为Delphi

pau*_*ohr -1 c++ delphi

可能重复:
将C"FOR"循环转换为Delphi

我正在尝试将C++ FOR循环转换为Delphi,但我不知道该怎么做...

这是C++函数:

bool bCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
    for(;*szMask;++szMask,++pData,++bMask)
        if(*szMask=='x' && *pData!=*bMask)   return 0;
    return (*szMask) == NULL;
}
Run Code Online (Sandbox Code Playgroud)

我刚刚转换了函数声明:

function bCOmpare( pData: PBYTE; bMask: PBYTE; szMask: PCHAR):boolean;
begin
//...
end;
Run Code Online (Sandbox Code Playgroud)

如何转换?

谢谢

Dav*_*nan 7

function bCOmpare(pData: PByte; bMask: PByte; szMask: PAnsiChar): Boolean;
begin
  while szMask^<>#0 do
  begin
    if ((szMask^='x') and (pData^<>bMask^)) then
    begin
      Result := False;
      exit;
    end;
    inc(szMask);
    inc(pData);
    inc(bMask);
  end;
  Result := True;//the test in the C code is pointless
end;
Run Code Online (Sandbox Code Playgroud)