Bueno solo era usar un poco la inmaginacion pero aca esta el codigo.
no se si es el mejor pero que funciona Funciona,
Igualmente podes hacerle cualquier modificacion.
solo puse dos MEMOS.. MEmo1 y memo2 y un boton.
en el evento onClick va esto...
Código Delphi
[-]
Const
enter='#$D#$A';
var s,aux:string;
I,x:integer;
begin
i:=0;
x:=0;
s:='';
aux:=Memo1.Text;
x:=pos(#13#10,aux);
while (x>0) and (I<>x) do begin
i:=x;
if x=1 then begin
s:=enter;
delete(aux,1,Length(#13#10));
end else begin
s:=s+copy(aux,1,x-1)+enter;
delete(aux,1,x+Length(#13#10)-1);
end;
x:=pos(#13#10,aux);
end;
Memo2.Lines.Add(s);
end;
Editado unos minutos despues
Jejeje Bueno no anda Perfecto Dado un Caso, (entre el que se me ocurre) te puede llegar a cortar la cadena. asique eso te lo dejo para vos. como comentario para hacertelo mas facil, es una de las comparaciones.
Bue eran mas de uno y no pude con mi genioo aca esta el codigo bien
Código Delphi
[-]
Const
enter='#$D#$A';
var s,aux:string;
I,x:integer;
begin
i:=0;
x:=0;
s:='';
aux:=Memo1.Text;
x:=pos(#13#10,aux);
while (x>0) do begin
i:=x;
if x=1 then begin
s:=s+enter;
delete(aux,1,Length(#13#10));
end else begin
s:=s+copy(aux,1,x-1)+enter;
delete(aux,1,x+Length(#13#10)-1);
end;
x:=pos(#13#10,aux);
end;
s:=s+aux;
Memo2.Lines.Add(s);
end;