Y
YB_unique
Unregistered / Unconfirmed
GUEST, unregistred user!
字符串匹配函数
function MatchStrings(source, pattern: String): Boolean;
; var
; pSource: Array [0..255] of Char;
; pPattern: Array [0..255] of Char;
; function MatchPattern(element, pattern: PChar): Boolean;
; ; function IsPatternWild(pattern: PChar): Boolean;
; ; ; var
; ; ; t: Integer;
; ; begin
; ; ; Result := StrScan(pattern,'*') <> nil;
; ; ; if not Result then Result := StrScan(pattern,'?') <> nil;
; ; end;
; begin
; ; if 0 = StrComp(pattern,'*') then
; ; ; Result := True
; ; else if (element^ = Chr(0)) and (pattern^ <> Chr(0)) then
; ; ; Result := False
; ; else if element^ = Chr(0) then
; ; ; Result := True
; ; else begin
; ; ; case pattern^ of
; ; ; '*': if MatchPattern(element,@pattern[1]) then
; ; ; ; ; ; ;Result := True
; ; ; ; ; ;else
; ; ; ; ; ; ;Result := MatchPattern(@element[1],pattern);
; ; ; '?': Result := MatchPattern(@element[1],@pattern[1]);
; ; ; else
; ; ; ; if element^ = pattern^ then
; ; ; ; ; Result := MatchPattern(@element[1],@pattern[1])
; ; ; ; else
; ; ; ; ; Result := False;
; ; ; end;
; ; end;
; end;
begin
; StrPCopy(pSource,source);
; StrPCopy(pPattern,pattern);
; Result := MatchPattern(pSource,pPattern);
end;
function MatchStrings(source, pattern: String): Boolean;
; var
; pSource: Array [0..255] of Char;
; pPattern: Array [0..255] of Char;
; function MatchPattern(element, pattern: PChar): Boolean;
; ; function IsPatternWild(pattern: PChar): Boolean;
; ; ; var
; ; ; t: Integer;
; ; begin
; ; ; Result := StrScan(pattern,'*') <> nil;
; ; ; if not Result then Result := StrScan(pattern,'?') <> nil;
; ; end;
; begin
; ; if 0 = StrComp(pattern,'*') then
; ; ; Result := True
; ; else if (element^ = Chr(0)) and (pattern^ <> Chr(0)) then
; ; ; Result := False
; ; else if element^ = Chr(0) then
; ; ; Result := True
; ; else begin
; ; ; case pattern^ of
; ; ; '*': if MatchPattern(element,@pattern[1]) then
; ; ; ; ; ; ;Result := True
; ; ; ; ; ;else
; ; ; ; ; ; ;Result := MatchPattern(@element[1],pattern);
; ; ; '?': Result := MatchPattern(@element[1],@pattern[1]);
; ; ; else
; ; ; ; if element^ = pattern^ then
; ; ; ; ; Result := MatchPattern(@element[1],@pattern[1])
; ; ; ; else
; ; ; ; ; Result := False;
; ; ; end;
; ; end;
; end;
begin
; StrPCopy(pSource,source);
; StrPCopy(pPattern,pattern);
; Result := MatchPattern(pSource,pPattern);
end;