Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   fichero de texto con tabulaciones (https://www.clubdelphi.com/foros/showthread.php?t=27767)

davidgaldo 30-11-2005 12:42:36

fichero de texto con tabulaciones
 
Hola estoy programando en delphi 7 y necesito crear un fichero de texto escribiendo datos en las lineas con tabulaciones es decir:
dato1 dato2 dato3 dato4
dato111 davo2111 dat1 dato2222

como puedo hacer esto??

delphi.com.ar 30-11-2005 13:16:23

¿Quieres que lo tome de un DataSet?...Prueba los ExportSuite que puedes bajar de mi página..
¿Quieres hacerlo a mano?... Puedes valerte de un TFileStream e ir escribiendo los datos secuencialmente (No se de donde los estas tomando)

davidgaldo 30-11-2005 13:17:43

quiero hacerlo a mano, como?

delphi.com.ar 30-11-2005 13:30:10

Cita:

Empezado por davidgaldo
quiero hacerlo a mano, como?

Yo te recomiendo leer los datos de donde los tengas que leer o inventar (no especificas) e ir escribiendolos en un TFileStream.

delphi.com.ar 30-11-2005 13:47:05

Te escribí esto, no lo probé, eso lo dejo por cuenta tuya, espero que te sirva al menos de referencia:
Código Delphi [-]
procedure DataSetToStream(ADataSet: TDataSet; AStream: TStream);
var
  i: Integer;
  S: string;
begin
  if not ADataSet.IsEmpty then
  begin
    ADataSet.EnableControls;
    try
      ADataSet.First;
      repeat
        S := '';
        for i := 0 to ADataSet.Fields.Count -1 do
          if ADataSet.Fields[i].Visible then
          begin
            if i > 0 then S := S + #9;
            S := S + ADataSet.Fields[i].DisplayText;
          end;
        S := S + #13#10;
        AStream.Write(S[1], Length(S));
        ADataSet.Next;
      until ADataSet.Eof;
    finally
      ADataSet.DisableControls;

    end;
  end;
end;

procedure DataSetToFile(ADataSet: TDataSet; AFileName: TFileName);
var
  Stream: TStream;
begin
  Stream := TFileStream.Create(AFileName, fmCreate);
  try
    DataSetToStream(ADataSet, Stream);
  finally
    Stream.Free;
  end;
end;
El uso sería algo como:
Código Delphi [-]
  DataSetToFile(MiDataSet, 'c:\Fede.csv');
Saludos!

davidgaldo 30-11-2005 16:23:38

gracias por todo amigos.


La franja horaria es GMT +2. Ahora son las 21:12:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi