while (aPattern[0] <> ']') and (aPattern[0] <> #0) do Inc(aPattern); if (aPattern[0] = #0) then begin //Invalid Pattern - missing "]" Result := False; Exit; end else Inc(aPattern); end else Exit; end; else begin //Match given single char. if (aSource[0] <> aPattern[0]) then begin Result := False; Break; end; //Continue testing next char... Inc(aSource); Inc(aPattern); end; end; end; end; function MatchPattern(const aPattern, aSource: string): Boolean; begin Result := _MatchPattern(PChar(aPattern), PChar(aSource)); end;
|