Cita:
Empezado por radenf
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 .