Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Convetir us stringgrid en txt (https://www.clubdelphi.com/foros/showthread.php?t=40873)

jhcaboverde 28-02-2007 22:56:53

Convetir us stringgrid en txt
 
Estoy creando una aplicacion de revisiones en tablas que me esta quedando buenisima sin embargo no la he puesto en uso porque uno de los usuarios me pidio que el resultado de toda la revision que queda en un dbgrid lo lleve a un txt y que se enviara por correo.

roman 28-02-2007 23:35:52

Todo dependerá de que es lo que el usuario entiende por pasar a un txt y de que te decidas entre un stringgrid (como en el título de tu mensaje) y un dbgrid (como en el texto de tu mensaje).

Si estamos hablando de un dbgrid y suponiendo que lo que deseas es exportar a un formato de valores separados por comas (CSV) u otro delimitador, o bien campos de ancho fijo, te recomiendo que uses la componente TDataToAscii del paquete ExportSuite del compañero Federico, que podrás encontrar en su página.

Esa componente la conectas directamente con el dataset que alimenta a tu dbgrid y ajustas sus propiedades en el inspector de objetos. En código, simplemente abres el dataset y usas el método SaveToFile de la componente para guardar en formato de texto.

// Saludos

jhcaboverde 01-03-2007 16:56:49

sobe tu opinion
 
lo que necesito es exportar los datos que contiene un stringgrid o un dbgrid a un ficheros txt, entre en el sitio que me indicaste y no encuentro el componente TDataToAscii a lo mejor me puedes facilitar una ruta mas especifica.

mil gracias de todas formas.

delphi.com.ar 01-03-2007 17:16:44

http://www.delphi.com.ar/vcl/expsuitsrc.zip

Saludos!

seoane 01-03-2007 17:25:17

Casi me da verguenza sugerir algo tan simple :o , pero puede que te sirva:

Código Delphi [-]
procedure Guardar(Archivo: String; Grid: TStringGrid);
var
  i: integer;
begin
  with TStringList.Create do
  try
    for i:= 0 to Grid.RowCount - 1 do
      Add(Grid.Rows[i].CommaText);
    SaveToFile(Archivo);
  finally
    Free;
  end;
end;

// Por ejemplo
Guardar('C:\Archivo.txt',StringGrid1);

roman 01-03-2007 18:08:33

Sencillo y efectivo claro que lo es. Pero sólo funcionará para el StringGrid y no para el DBGrid. La componente de Federico sería más bien para este caso, además de que sirve también para un formato de columnas de ancho fijo.

// Saludos

jhcaboverde 01-03-2007 23:51:13

respondiendo tu frase
 
seras bueno en delphi para para que se te reconozca no te averguences de ayudar a los demas que estoy seguro que cuando lo necesites seran tu ayuda mas proxima, en fin tu ejemplo me ayudo espero que este texto te ayude a ti.

Juan

Cita:

Empezado por seoane
Casi me da verguenza sugerir algo tan simple :o , pero puede que te sirva:


Código Delphi [-]
procedure Guardar(Archivo: String; Grid: TStringGrid);
var
i: integer;
begin
with TStringList.Create do
try
for i:= 0 to Grid.RowCount - 1 do
Add(Grid.Rows[i].CommaText);
SaveToFile(Archivo);
finally
Free;
end;
end;

// Por ejemplo
Guardar('C:\Archivo.txt',StringGrid1);





La franja horaria es GMT +2. Ahora son las 02:26:46.

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