Estimados buenas tardes.
Mi inconveniente es el siguiente, estoy ocupando un TDBadvGrid para mostrar los datos desde un procedimiento almacenado de SQL. Necesito exportar esta información a un archivo plano ASCII, hasta ahora funciona bien solo que el archivo aparece con los nombres de las columnas (encabezado) del SQL y no encuentro la forma de eliminarlo.
desde ya les agraedezco su apoyo.
saludos cordiales.

Eliminar Titulos al exportar TDBadvGrid a un archivo ASCII
Started by
bcp9520
, Sep 10 2013 01:50 PM
6 replies to this topic
#1
Posted 10 September 2013 - 01:50 PM
#2
Posted 10 September 2013 - 02:34 PM
¿podrías decirnos como estás generando el archivo?
#3
Posted 10 September 2013 - 02:35 PM
Solo identifica el índice de la línea en la que se encuentran los títulos, y pásala al siguiente procedimiento, igualmente la ruta en la que guardas el archivo.
Saludos.
delphi
procedure BorrarLinea(Linea: integer; sFileName: string); var Contenido: TStringList; begin Contenido := TStringList.Create; try if FileExists(sFileName) then Contenido.LoadFromFile(sFileName); with Contenido do begin Delete(Linea); SaveToFile(sFileName); end; // with finally Contenido.Free; end; end;
Saludos.
#4
Posted 10 September 2013 - 03:17 PM
Gracias por sus respuestas...
Es simple la forma como genero el archivo, les adjunto el codigo...Como les comentaba leo un procedimento almacenado desde SQL y se carga en forma automatica a un TDBadvGrid.
gracias.
Wilson, gracias por tu información pero tengo que decirte que me cuesta un poco ver como inserto el codigo que me enviaste con el que ya tengo desarrollado.
Es simple la forma como genero el archivo, les adjunto el codigo...Como les comentaba leo un procedimento almacenado desde SQL y se carga en forma automatica a un TDBadvGrid.
delphi
procedure TForm1.GenerarArchivoElectronico1Click(Sender: TObject); begin try case CbxLibro.ItemIndex of 0 : begin Guardar.FileName := 'C:\201303'+'LD'+'.txt'; if Guardar.Execute then begin Grilla1.SaveToASCII(Guardar.FileName); end; end; 1 : begin Guardar.FileName := 'C:\201303'+'LM'+'.txt'; if Guardar.Execute then begin Grilla1.SaveToASCII(Guardar.FileName); end; end; 2 : begin Guardar.FileName := 'C:\201303'+'LV'+'.txt'; if Guardar.Execute then begin Grilla1.SaveToASCII(Guardar.FileName); end; end;....
gracias.
Wilson, gracias por tu información pero tengo que decirte que me cuesta un poco ver como inserto el codigo que me enviaste con el que ya tengo desarrollado.
#5
Posted 10 September 2013 - 03:32 PM
Suponiendo que el título está en la primera línea todo se reduce a esto:
Ahora si Guardar es TSaveDialog, y ya sabes que los archivos van al C a una ruta determinada, pues ya no la necesitas, y todo quedaría así:
delphi
procedure BorrarLinea(Linea: integer; sFileName: string); var Contenido: TStringList; begin Contenido := TStringList.Create; try if FileExists(sFileName) then Contenido.LoadFromFile(sFileName); with Contenido do begin Delete(Linea); SaveToFile(sFileName); end; // with finally Contenido.Free; end; end; procedure TForm1.GenerarArchivoElectronico1Click(Sender: TObject); var RutaArchivo: string; begin case CbxLibro.ItemIndex of 0: RutaArchivo := 'C:\201303' + 'LD' + '.txt'; 1: RutaArchivo := 'C:\201303' + 'LM' + '.txt'; 2: RutaArchivo := 'C:\201303' + 'LV' + '.txt'; end; if Guardar.Execute then begin Guardar.FileName := RutaArchivo; Grilla1.SaveToASCII(Guardar.FileName); BorrarLinea(0, RutaArchivo); end; end;
Ahora si Guardar es TSaveDialog, y ya sabes que los archivos van al C a una ruta determinada, pues ya no la necesitas, y todo quedaría así:
delphi
procedure BorrarLinea(Linea: integer; sFileName: string); var Contenido: TStringList; begin Contenido := TStringList.Create; try if FileExists(sFileName) then Contenido.LoadFromFile(sFileName); with Contenido do begin Delete(Linea); SaveToFile(sFileName); end; // with finally Contenido.Free; end; end; procedure TForm1.GenerarArchivoElectronico1Click(Sender: TObject); var RutaArchivo: string; begin case CbxLibro.ItemIndex of 0: RutaArchivo := 'C:\201303' + 'LD' + '.txt'; 1: RutaArchivo := 'C:\201303' + 'LM' + '.txt'; 2: RutaArchivo := 'C:\201303' + 'LV' + '.txt'; end; Grilla1.SaveToASCII(RutaArchivo); BorrarLinea(0, RutaArchivo); end;
#6
Posted 11 September 2013 - 07:32 AM
Perfecto, muchas gracias Wilson ahora me quedo claro.
Lo pruebo y te comento.
saludos.
Lo pruebo y te comento.
saludos.
#7
Posted 11 September 2013 - 07:50 AM
!!!!!Exelente!!!!! funciono sin problemas el procedimiento, muchas gracias Wilson.
Saludos Cordiales.
Saludos Cordiales.