Чего здесь главное, спрашивается...
А вот глядишь ты на этот код, и как-то это отражается на твоей мозговой деятельности.
По разному написано, по разному и отражается.
Вот посмотрел я на обероновский код выше, посмотрел, посмотрел -- и подумал себе: а может вот эдак красивше будет ???
function _StrCmp(Str,Msk:PChar):boolean;
begin
while (Str^<>#0)and(Msk^<>#0) do begin
if Msk^ = '*' then begin
Result := _StrCmp(Str,Msk+1);
if Result then exit;
end else begin
if Msk^='#' then Result := Str^in['0'..'9']
else Result := (Msk^='?')or(Msk^=Str^);
if Result then Inc(Msk)
else exit;
end;
Inc(Str);
end;
while Msk^ = '*' do inc(Msk);
Result := (Str^ = #0)and(Msk^ = #0);
end;