PDA

Ver la Versión Completa : fichero de texto con tabulaciones


davidgaldo
30-11-2005, 12:42:36
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
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:

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:

DataSetToFile(MiDataSet, 'c:\Fede.csv');

Saludos!

davidgaldo
30-11-2005, 16:23:38
gracias por todo amigos.