jonydread,
Cita:
Empezado por jonydread
...stringlist quitar salto de linea de items...
|
Revisa este código basado en la solución propuesta en el
Msg #2:
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function DeleteLineBreaks(const S: String): String;
var
Source, SourceEnd : PChar;
begin
Source := Pointer(S);
SourceEnd := Source + Length(S);
while Source < SourceEnd do
begin
case Source^ of
#10 : Source^ := #32;
#13 : Source^ := #32;
end;
Inc(Source);
end;
Result := S;
end;
procedure TForm1.Button1Click(Sender: TObject);
const
DELIM = ' - ';
CRLF = #13 + #10;
var
AuxText : String;
StrList : TStringList;
i : Integer;
begin
StrList := TStringList.Create;
for i := 0 to 9 do
StrList.Add('Item ' + IntToStr(i) + CRLF);
for i := 0 to 9 do
AuxText := AuxText + StrList.Strings[i];
ShowMessage(AuxText);
AuxText := EmptyStr;
for i := 0 to 9 do
AuxText := AuxText + Trim(DeleteLineBreaks(StrList.Strings[i])) + DELIM;
SetLength(AuxText, Length(AuxText) - Length(DELIM));
ShowMessage(AuxText);
StrList.Free;
end;
end.
El código anterior
muestra la forma de generar valores en un TStringList con un Retorno de Carro y Salto de Línea y luego eliminar el mismo adicionando un separador entre los elementos a visualizar.
Nota: Se asume que el problema planteado en el
Msg #1 se debe a un
CRLF que forma parte de cada elemento del TStringList.
Espero sea útil
Nelson.