Hola Delshire, bienvenido a los foros de Club Delphi
La observación
maeyanes es correcta, y dado que en el código original usas
return yo emplearía el procedimiento
Exit en lugar de
Break.
No hice comprobaciónes, pero fijate si te funciona de este modo:
Código Delphi
[-]
function Match(pData: PByte; bMask: PByte; szMask: PChar): Boolean;
begin
Result := True;
while (szMask^ <> #0) and Result do
begin
if (szMask^ = 'x') and (pData^ <> bMask^) then
begin
Result := False;
Exit;
end;
Inc(szMask);
Inc(pData);
Inc(bMask);
end;
Result := szMask^ = #0;
end;
Saludos
