Código
function TrocaCaracterEspecial(aTexto : string; aLimExt : boolean) : string;
const
//Lista de caracteres especiais
xCarEsp: array[1..38] of String = ('á', 'à', 'ã', 'â', 'ä','Á', 'À', 'Ã', 'Â', 'Ä',
'é', 'è','É', 'È','í', 'ì','Í', 'Ì',
'ó', 'ò', 'ö','õ', 'ô','Ó', 'Ò', 'Ö', 'Õ', 'Ô',
'ú', 'ù', 'ü','Ú','Ù', 'Ü','ç','Ç','ñ','Ñ');
//Lista de caracteres para troca
xCarTro: array[1..38] of String = ('a', 'a', 'a', 'a', 'a','A', 'A', 'A', 'A', 'A',
'e', 'e','E', 'E','i', 'i','I', 'I',
'o', 'o', 'o','o', 'o','O', 'O', 'O', 'O', 'O',
'u', 'u', 'u','u','u', 'u','c','C','n', 'N');
//Lista de Caracteres Extras
xCarExt: array[1..48] of string = ('<','>','!','@','#','$','%','¨','&','*',
'(',')','_','+','=','{','}','[',']','?',
';',':',',','|','*','"','~','^','´','`',
'¨','æ','Æ','ø','£','Ø','ƒ','ª','º','¿',
'®','½','¼','ß','µ','þ','ý','Ý');
var
xTexto : string;
i : Integer;
begin
xTexto := aTexto;
for i:=1 to 38 do
xTexto := StringReplace(xTexto, xCarEsp[i], xCarTro[i], [rfreplaceall]);
//De acordo com o parâmetro aLimExt, elimina caracteres extras.
if (aLimExt) then
for i:=1 to 48 do
xTexto := StringReplace(xTexto, xCarExt[i], '', [rfreplaceall]);
Result := xTexto;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009