Inicio > Difícil, Trucos > Eliminar los «saltos de línea» de un TStrings

Eliminar los «saltos de línea» de un TStrings

viernes, 2 de noviembre de 2007 Dejar un comentario Ir a comentarios
Share Button

A veces es interesante poder acceder al contenido de un TStrings (de un TMemo, por ejemplo) como un único string o cadena.
Para eso, Delphi ha dotado a la clase TStrings del método Text, que devuelve el contenido del TStrings como una cadena simple. El inconveniente, es que dentro del resultado van incluídos los caractreres de «Salto de línea» y «Retorno de carro». ¿Cómo eliminarlos?

Con ésta sencilla función se pueden eliminar y/o susituir por otro caracter (espacio,…).

1
2
3
4
5
6
7
8
9
10
{:Elimina los saltos de línea (caracteres #10 y #13; salto de linea y salto
de carro) de un TStrings.}
function QuitarSaltosLinea(Strs: TStrings;  
                          CharReplace:String=STR_EMPTY):String;
var
   Str:string;
begin
   Str := AnsiReplaceStr(Strs.Text, #10, CharReplace);
   Result := AnsiReplaceStr(Str, #13, CharReplace);
end
Vota este post
Subscribe
Notify of
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

8 Comments
Inline Feedbacks
Ver todos los comentarios
pacman
pacman
13 years ago

no sirve

Omar Romero
Omar Romero
13 years ago

Lo probe y funciona perfectamente. Es la solución ya que probe varias y nada.

Muchas gracias

fernandox
fernandox
13 years ago

hola, yo tengo una duda…
tengo una rutina para ‘postear’ en un foro, donde le paso como variable el contenido de un Tmemo como cuerpo del post.. el problema es que no reconoce los saltos de linea. la parte del codigo que manda el post es:

…..
parametros.Add(‘title=’ + Edit2.text ); // edit 2 el titulo del post
//aqui el problema en memo6
parametros.Add(‘message=’ + Memo6.Text);//el cuerpo en un memo

parametros.Add(‘wysiwyg=’ + ‘0’);//otros parametros…..
parametros.Add(‘taglist=’ + »);

……..

parametros es de tipo:
parametros: TStringlist;

y para el post utilizo el «idhttp» de las indy…
todo bien, manda el post, pero en el texto no reconoce los saltos de linea y sale todo junto…

ya probe con #10, #13, [br], /n , etc
probe (en el area del foro donde se publica los temas usa ‘bbcode’..) pero no me da el salto de linea.. todo junto sale

en un archivo de texto que guarda un programa posteador vi que separa las lineas con un simbolo que es un cuadrito pequeno vacio, que es el salto de linea, si lo copio y lo pego digamos aqui en este texto, no pega el cuadrito sino que salta de linea (al hacer ctrl V).
creo que es ese simbolo que necesito insertar en el tmemo en cada linea antes de enviar como parametro al foro, pero no se como…. pense que era el #13 pero como dije no da.. sabes algo de eso?

RamHerFer
8 years ago

Genial como siempre neftali. Funciona a la perfección.

ALEX
ALEX
4 years ago

Hola tengo un problema, deseo quitar únicamente los saltos de línea al inicio de un párrafo y al final del mismo, como le hago?

en php he metido la función trim() pero esa me quita los espacios nadamas al inicio y al final pero no los retornos de carro
si pongo un código como
REPLACE(REPLACE(REPLACE(`PARRAFO`, CHAR(10), »), CHAR(13), »), CHAR(9), »)
ME QUITA LOS RETORNOS DE TODO EL PARRAFO! QUEPUEDO HACER?

8
0
Would love your thoughts, please comment.x
()
x