我正在尝试将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;
}
我刚刚转换了函数声明:
function bCOmpare( pData: PBYTE; bMask: PBYTE; szMask: PCHAR):boolean;
begin
//...
end;
如何转换?
由于
答案 0 :(得分: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;