Ver Mensaje Individual
  #5  
Antiguo 30-11-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
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!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita