En principio, el código que te envío debiera ejecutarse mas rápido... probalo e informanos de la diferencia en el desempeño.
Código Delphi
[-]
procedure TfrmGenerador.salvar_txt(Datos: Tdataset);
var
I: Integer;
Registro: string;
Strs: TStringList;
begin
Strs := TStringList.Create;
Datos.DisableControls;
try
Datos.First;
while not Datos.Eof do
begin
Registro := '';
for I := 0 to Datos.FieldCount - 1 do
Registro := Registro + ',' + Datos.Fields[i].AsString;
Delete(Registro, 1, 1);
Strs.Add(Registro);
Datos.Next;
end;
Strs.SaveToFile(ExtractFileDir(Application.ExeName) + '\tmp\Datos.txt');
finally
Strs.Free;
Datos.EnableControls;
end;
end;
Saludos.