Ver Mensaje Individual
  #1  
Antiguo 07-06-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Quitar los acentos (y otros caracteres) de una cadena

La siguiente función elimina los acentos y otros determinados caracteres de la cadena que pasemos como parámetro. Esta función la escribió el compañero Federico (delphi.com.ar) en algún Hilo de los Foros del ClubDelphi:

Código Delphi [-]
function QuitarAcentos(const cadena: string) : string;
const
  CA = 'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛáéíóúàèìòùäëïöüâêîôû';
  CB = 'AEIOUAEIOUAEIOUAEIOUaeiouaeiouaeiouaeiou';
var
  Ch: Char;
  L, P: Integer;
  Source, Dest: PChar;
begin
  L := Length(cadena);
  SetLength(Result, L);
  Source := Pointer(cadena);
  Dest := Pointer(Result);
  while L <> 0 do
  begin
    Ch := Source^;
    P := Pos(Ch, CA);
    if P > 0 then
      Dest^ := CB[P]
    else
      Dest^ := Ch;
    Inc(Source);
    Inc(Dest);
    Dec(L);
  end;
end;
Responder Con Cita