Substituir inteligentes especiais em Delphi cadenas

O ando aprendendo nesta caminhada sobre una Terra

Substituir inteligentes especiais em Delphi cadenas

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;

2 Respuestas

  1. Punto de referencia Dice:

    Podría corregirlo? y sin traducir
    Es aún mejor entender, do que tentar decifrar o que é “;para eu”; e “;final”;

Contesta

Su dirección de correo electrónico no se publicará. Los campos obligatorios están marcados *

Este sitio utiliza Akismet para reducir el spam. Aprender cómo se procesaron los datos de comentario.