Ver Mensaje Individual
  #9  
Antiguo 20-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por radenf Ver Mensaje
Quisera saber como se podría en esta función reemplazar el carácter eliminado por un espacio.
Desconozco si será la mejor opción en tu cso, pero puedes hacerlo con una función como la siguiente. Esta sustituye los caracteres que le indiques por otro en particular:
Código Delphi [-]
  Function ghReplace (Const Value :String; Const Chrs :TSysCharSet;
    Const NewChr :Char) :String;
  Var
    I :Integer;
  Begin
    Result := Value;

    For I := 1 To Length (Result) Do
      If Result [i] In Chrs Then
        Result [i] := NewChr;
  End;

Ejemplo de llamada:
Código Delphi [-]
String2 := ghReplace (String1, [#0..#31], ' ');
La sentencia anterior obtiene una cadena (String2) a partir de otra (String1), reemplazando todos los caracteres ASCII "invisibles" por un espacio. Y claro está, puedes usar la misma variable String para guardar el resultado:
Código Delphi [-]
S := ghReplace (S, [#0..#31], ' ');

O, como cualquier otra función, pasar su resultado directamente a otra rutina:
Código Delphi [-]
Objeto.HacerAlgoCon (ghReplace (S, [#0..#31], ' '), True);

El tipo TSysCharSet (conjunto de caracteres) es de la unidad estándar SysUtils .

Última edición por Al González fecha: 20-01-2013 a las 20:11:50.
Responder Con Cita