Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-02-2010
Rogersito Plus Rogersito Plus is offline
Miembro
 
Registrado: oct 2005
Posts: 35
Poder: 0
Rogersito Plus Va por buen camino
EXPORTAR/IMPORTAR en archivo de TEXTO TXT

Gracias anticipadamente amigos foristas por responder...

Lo que quiero hacer es EXPORTAR/IMPORTAR mis datos de tablas en archivos de TEXTO TXT; desde luego que los datos a EXPORTAR/IMPORTAR estan datos con SELECT

Por cierto trabajo con DELPHI 2007 + IBX y FIREBIRD
Responder Con Cita
  #2  
Antiguo 03-02-2010
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
echale un vistazo a debajo de este mensaje y veras temas con la misma cuestion resuelta. Un saludo.
Responder Con Cita
  #3  
Antiguo 04-02-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
¿ Te sirve esta utilidad ?

http://fbexport.sourceforge.net/

Son utilidades de linea de comandos, por lo que las puedes ejecutar desde tu propia aplicación Delphi (función ShellExecute), con los parámetros correspondientes.

Saludos.
Responder Con Cita
  #4  
Antiguo 09-02-2010
Rogersito Plus Rogersito Plus is offline
Miembro
 
Registrado: oct 2005
Posts: 35
Poder: 0
Rogersito Plus Va por buen camino
LEER - archivo separado por comas

Gracias por responder amigos, despues de haber leido un poco,,, encontré un código, lo he implementado asi:
Código Delphi [-]
procedure TForm1.ExportClick(Sender: TObject);
var F : TextFile;
begin
  Qprov.Open;
  Qprov.First;
  AssignFile(F,'D:\EXPORT\PROVEE.TXT');
  Rewrite(F);
  while not Qprov.Eof do
    begin
      WriteLn(F, Qprov.FieldByName('ID_PROVEEDOR').AsString + ',' +
              Qprov.FieldByName('RUC').AsString + ',' +
              Qprov.FieldByName('RAZON').AsString + ',' +
              Qprov.FieldByName('DIRECCION').AsString);
      Qprov.Next;
    end;
  CloseFile(F);
  Qprov.Close;
end;

Bueno, eso me sirve muy bien pa' EXPORTAR
ahora para LEER el archivo(SEPARADO POR COMAS) como hago ?
Responder Con Cita
  #5  
Antiguo 09-02-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

¿ Con la utilidad que te sugerí anteriormente ?, ¿ la has mirado ?.

Saludos.
Responder Con Cita
  #6  
Antiguo 09-02-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Estoy a favor de usar una utilidad o componente como el sugerido por guillotmarc, te lo dan hecho, te facilita el trabajo y te evita errores y dolores de cabeza, por ejemplo, en el código que has puesto, si la dirección tiene una coma... pierdes datos!!!
Código:
WriteLn(F, Qprov.FieldByName('ID_PROVEEDOR').AsString + ',' +
Qprov.FieldByName('RUC').AsString + ',' +
Qprov.FieldByName('RAZON').AsString + ','+
Qprov.FieldByName('DIRECCION').AsString);
Imagina que tienes un registro:
Cita:
ID_PROVEEDOR: 55
RUC: 12345678S
RAZON: HOLAQUETAL
DIRECCION: C/ LAS AMAPOLAS VERDES, 25 - PORTAL 2, IZQUIERDA
Te quedarías con "C/ LAS AMAPOLAS VERDES" y el resto ¿?
Tal vez sea mejor separar por tabuladores, también puedes meter todos los datos entre comillas: "C/ LAS AMAPOLAS VERDES, 25 - PORTAL 2, IZQUIERDA", y buscar comillas en lugar de comas, aunque fallaría si alguien pone: "LLAVE INGLESA DE 2" PULGADAS" ¡¡¡otro error!!!, te quedarías sin " PULGADAS"
Responder Con Cita
  #7  
Antiguo 09-02-2010
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Utiliza esta rutina que elabore hace años para exportar un dataset a un archivo texto.

Código Delphi [-]
//Dado un Dataset exporta el resultado de la consulta a un archivo plano,
//normalmente separado por comas.  El formato de las fechas depende de la
//definicion del parametro global ShortDateFormat que se encuentra en el
//evento DataModuleCreate de FrmDataModulo
function _exportar_datos (var Consulta: TIBDataSet; const nombre_archivo: string; const separador: string; encabezado:boolean) : boolean;
var
  DelimOutput : TIBOutputDelimitedFile;
  F:  TextFile;  //para manejar el archivo y convertir mayusculas a minusculas
  Archivo: File;
  cadena: string;
  Buffer: array[0..1023] of Char;
  funciono: boolean;
begin
  funciono := true;

  if (Consulta.IsEmpty) or (nombre_archivo = '') then
    funciono := false
  else begin
    try
      DelimOutput := TIBOutputDelimitedFile.Create;
      DelimOutput.OutputTitles := encabezado; //true si necesita el archivo plano encabezado
      // Estos son delimitadores de Columna y de fila
      DelimOutput.ColDelimiter := separador;
      // DelimOutput.RowDelimiter := chr(13) + chr(10);
      DelimOutput.Filename := nombre_archivo;
      Screen.Cursor := crHourglass;
      Consulta.DisableControls;
      try
        Consulta.BatchOutput(DelimOutput);
      except
        funciono := false;
      end;
      Consulta.EnableControls;
      Screen.Cursor := crDefault;
    finally
      DelimOutput.Free;
    end;  //try

    //Excel genera un error 'File SYLK error' cuando un archivo empieza por 'ID' mayusculas
    //para solucionarlo, reescribir la linea de encabezado en minusculas
    //ejecutar esta opcion solamente si se indica que se genere encabezado para el archivo
    if encabezado then
      try
        AssignFile(F, nombre_archivo);
        Reset(F);
        Readln(F,cadena);
        CloseFile(F);
        cadena := LowerCase(cadena);
        StrPcopy(buffer,cadena); //permite copiar de un string a un arreglo char (buffer)
        //
        AssignFile(Archivo, nombre_archivo);
        Reset(Archivo,1);
        Seek(Archivo,0);
        BlockWrite(Archivo, buffer,  length(cadena));
        CloseFile(Archivo);
        //Fin arreglo para excel
      except
        funciono := false;
      end;
  end; //del else
  //si no hubo error logro generarse exitosamente la creacion del archivo
  _exportar_datos := funciono;
end;

Forma de uso:

Código Delphi [-]
procedure TFrmExplorador_Tablas.ExportarDatos1Click(Sender: TObject);
begin
 SaveDialog1.Filename :=  'Resultado.txt';
 if SaveDialog1.Execute then begin
      Refresh;
      try
        _exportar_datos(DSConsulta,SaveDialog1.FileName,';',true);
      except
        MessageDlg('No fue posible Exportar los datos', mtWarning, [mbOK], 0);
      end;
   end;
end;

Espero que sea de utilidad.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #8  
Antiguo 12-04-2010
dalsim dalsim is offline
Miembro
 
Registrado: jul 2008
Posts: 47
Poder: 0
dalsim Va por buen camino
HOla hay que poner algo en uses

trato de hacer funcionar tu rutina pero me marca error no

DelimOutput : TIBOutputDelimitedFile
podrias decirme si hay que poner mas componentes en el form o en las uses del progecto y si hay manera de pasarlo directamente a excell con las rutinas que dice el compañero mas arriba las que son comandos FBExport como lo utilizo podrias poner un ejemplo estoy tratando de utilizar un cxgrid de las devExpress gracias
Responder Con Cita
  #9  
Antiguo 12-04-2010
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Debes en la clausula uses adicionar IBSQL, en esta biblioteca esta definida la clase TIBOutputDelimitedFile.

Prueba y si tienes dificultad nos comentas.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #10  
Antiguo 12-04-2010
dalsim dalsim is offline
Miembro
 
Registrado: jul 2008
Posts: 47
Poder: 0
dalsim Va por buen camino
siguen te error

indeclarado identificador
SaveDialog1.Filename := 'Resultado.txt';
Responder Con Cita
  #11  
Antiguo 12-04-2010
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
La linea SaveDialog1.Filename := 'Resultado.txt'; asigna por defecto el nombre Resultado.txt a la salida despues de escoger un archivo por medio del objeto SaveDialog1.

Debes colocar en tu formulario un objeto de clase TSaveDialog con nombre TSaveDialog1

Si lo que quieres es exportar a diferentes formatos puedes usar los maxconponents u otra familia de componentes. Lamentablemente la pagina de los maxcomponents el autor la retiró y no tiene soporte para las versiones Delpi 2010 y posteriores.

Puedes revisar los componentes DevExpress, tal vez ellos tenga componentes para lo que necesites, echate una pasada por www.board4all.com, te registras, y revisa el foro Delphi , puedes ver componentes gratis y otros con crack para que hagas tus pruebas.

Cordialmente,

Luis Fernando Buelvas Tovar
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #12  
Antiguo 12-04-2010
dalsim dalsim is offline
Miembro
 
Registrado: jul 2008
Posts: 47
Poder: 0
dalsim Va por buen camino
Hola

hola te agradesco hare ese movimento los molestare con alguna duda gracias lbuelvas estare en contacto las debv si tienen pero no encuentro ejemplos pero que utilicen las ib o las Firevbird
Responder Con Cita
  #13  
Antiguo 12-04-2010
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Pero tu puedes conectar desde DevExpress con un objeto de la clase TDataSource (pestaña Data Access) que son genericos y a su vez el TDataSource lo conectas a tu objeto contenedor de datos ya sea DBExpress, IBX, etc
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #14  
Antiguo 12-04-2010
dalsim dalsim is offline
Miembro
 
Registrado: jul 2008
Posts: 47
Poder: 0
dalsim Va por buen camino
Hoal sigo con el problema de las variables

_exportar_datos(dsConsulta,SaveDialog1.FileName,';',true);

dsConsulta variable no identificada
Responder Con Cita
  #15  
Antiguo 13-04-2010
dalsim dalsim is offline
Miembro
 
Registrado: jul 2008
Posts: 47
Poder: 0
dalsim Va por buen camino
Hola bien a corrido la rutina

pero no me arroja nada ni me graba ningun archivo he cambiado el Clientedataset por otros componetes en la grilla si me pararecen entiempo de diseño puedo verlos pero a mandar exportar solo me pide el nombre y hace coo que graba pero no manda nada
Responder Con Cita
  #16  
Antiguo 14-04-2010
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 22
lbuelvas Va por buen camino
Cambia la ruta del archivo, o revisa en que carpeta está posiblemente grabando el archivo. Puedes colocarle un nombre poco comun y buscas con F3 en el explorador de windows.
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #17  
Antiguo 01-02-2015
Jasan_Records Jasan_Records is offline
Registrado
NULL
 
Registrado: ene 2015
Posts: 6
Poder: 0
Jasan_Records Va por buen camino
Problemas con las Variables

Cita:
Empezado por dalsim Ver Mensaje
_exportar_datos(dsConsulta,SaveDialog1.FileName,';',true);

dsConsulta variable no identificada
Hola, amigo lbuelvas, con respecto al codigo que compartiste aqui, tengo problema con la variable DSConsulta, me podrias explicar por favor, como solucionarlo??? Gracias, Soy nuevo en esto
Responder Con Cita
  #18  
Antiguo 02-02-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Responder Con Cita
  #19  
Antiguo 02-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Jasan_Records Ver Mensaje
Cita:
_exportar_datos(dsConsulta,SaveDialog1.FileName,';',true);

dsConsulta variable no identificada
Hola Jasan_Records.

Si miras con atención la declaración de la función en el mensaje de ibuelvas, podrás ver que el primer parámetro es de tipo TIBDataSet y su paso es por referencia:
Código Delphi [-]
function _exportar_datos (var Consulta: TIBDataSet; const nombre_archivo: string; 
  const separador: string; encabezado:boolean) : boolean;
Por lo tanto deberás enviar como argumento el nombre de un componente TIBDataSet, que ibuelvas llamó DSConsulta a fines del ejemplo.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Exportar datos de firebird a archivo de texto capo979 Firebird e Interbase 37 17-08-2007 14:45:14
Importar archivo de texto rtf para un adotable mairelr Conexión con bases de datos 0 24-12-2006 16:13:58
Importar a SQL desde Archivo de Texto erasmorc MS SQL Server 8 03-06-2005 20:39:04
Importar archivo de texto trabuc Varios 3 01-12-2004 11:40:22
exportar data a archivo de texto morfeo21 Varios 2 13-06-2003 17:07:23


La franja horaria es GMT +2. Ahora son las 02:42:16.


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