Ver Mensaje Individual
  #3  
Antiguo 15-11-2014
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Reputación: 13
danielmj Va por buen camino
Hola nelson,

gracias por tu ayuda pero me surgen dos problemas, a saber:

1º Tu código me guarda el contenido de la lista así:


Es decir, no guarda todo el contenido, todas las columnas.

El código que me pusiste yo lo tengo de esta manera:
Código Delphi [-]
procedure TrForm.Button4Click(Sender: TObject);
var
  i,j: integer;
  fTxt: TextFile;
  F : TFileStream;
  Buffer : String;

begin
...
   SetCurrentDir(ExtractFilePath(Application.ExeName));

   F := TFileStream.Create('factura.txt', fmCreate);

   for i := 0 to Lista.Items.Count - 1 do
   begin

      Buffer := Buffer + Lista.Items.Item[i].Caption + ', ';

      for j := 0 to Lista.Items.Item[i].SubItems.Count - 1 do
         Buffer := Buffer + Lista.Items.Item[i].SubItems.Strings[j] + ', ';
         Delete(Buffer, Length(Buffer), 1);
         Buffer := Buffer + #13 + #10;
         F.Write(Buffer[1], Length(Buffer));
         Buffer := EmptyStr;
   end;

   F.Free;


end;
end;

2º Aunque consiga que me guarde todo el contenido de la lista, como realmente quiero que lo guarde sería de este modo:


No sé si es posible guardar así el contenido de una lista. Si no fuera posible ¿que otra alternativa me sugeris?

Por otra parte tengo también este código aunque lo tenía entre {}
Código Delphi [-]
procedure TrForm.Crearinforme1Click(Sender: TObject);
var
  i : Integer;

begin
  with TStringList.Create do
  try
    for i := 0 to Lista.Items.Count-1 do
      Add(Lista.Items[i].Caption +','+
          Lista.Items[i].SubItems.CommaText);
          SaveToFile((ExtractFilePath(Application.ExeName) + 'factura.txt'));
  finally
    Free
  end
end;

Me devuelve todo el contenido de la lista pero sigue sin incluirse de forma ordenada el caption de cada columna, me refiero al nombre de cada columna.

Un saludo y gracias.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.

Última edición por danielmj fecha: 15-11-2014 a las 22:16:26.
Responder Con Cita