Hoy tuve que modificar un sistema antiguo hecho en Delphi para generar archivos que contienen información. Nestas informações há elementos que se utilizam de caracteres não Alpha-numéricos como “;:”; e “;/”; y he aquí, para mi sorpresa yo estoy obligado a eliminarlos.
Procurei por uma função que substituísse caracteres como “;Ç”; para “;C”; y sólo se encuentran las funciones de eliminación.
Entonces he creado mi que está justo debajo.
{
Reemplaza caracteres especiales de equivalentes ASCII
}
Función ReplaceNonAscii(const s: Cadena) : Cadena;
var, POS: Entero;
undesiredchars const : Cadena = ' / ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ × ØÙÜÚÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ';
reemplaza const : Cadena = 'AAAAAAACEEEEIIIIDNOOOOOxOUUUbBaaaaaaaceeeeiiiionooooo ouuuby';
Begin SetLength(Resultado, Longitud(s));
para := 1 a la longitud(s) Hacer Comenzar Pos := ord(s[me]);
If (s[me] en [#32, #48..#57, #65..#90, #97..#122]) luego Resultado[me] := s[me]
Else Begin Pos := AnsiPos(s[me], undesiredchars);
Resultado[me] := reemplaza[POS + 1];
final;
final;
final;
Contesta