Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Quitar los acentos (y otros caracteres) de una cadena (https://www.clubdelphi.com/foros/showthread.php?t=80424)

dec 07-06-2006 21:20:11

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;

radenf 29-01-2013 01:55:38

Excelente
La he estado buscando por semanas.
Muchas gracias
Salu2


La franja horaria es GMT +2. Ahora son las 15:45:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi