
Comparar cadenas
Delphi
Publicado el 28 de Mayo del 2003 por Edgar Fernando
14.113 visualizaciones desde el 28 de Mayo del 2003
Función que sirve para determinar si una cadena de caracteres cumple un determinado patrón pasado como parámetro.
function CompararStrings(Origen, Patron: String): Boolean;
var
pOrigen: Array [0..255] of Char;
pPatron: Array [0..255] of Char;
function CompararPatron(elemento, Patron: PChar): Boolean;
begin
if 0 = StrComp(Patron,'*') then
Result := True
else
if (elemento^ = Chr(0)) and {Si no letras en elemento}
(Patron^ <> Chr(0)) then {Si no se terminó patron}
Result := False {es porque son diferentes}
else
if elemento^ = Chr(0) then
Result := True
else begin
case Patron^ of
'*': if CompararPatron(elemento,@Patron[1]) then
Result := True
else
Result := CompararPatron(@elemento[1],Patron);
'?': Result := CompararPatron(@elemento[1],@Patron[1]);
else
if elemento^ = Patron^ then{iguales, compare siguientes}
Result := CompararPatron(@elemento[1],@Patron[1])
else
Result := False;
end;
end;
end;
begin
StrPCopy(pOrigen,Origen);
StrPCopy(pPatron,Patron);
Result := CompararPatron(pOrigen,pPatron);
end;
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios