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 16-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question pasar un registro completo a un archivo txt

una vez consultando a los grandes gurus de este sitio

si yo quisiera grabar en un archivo de texto una consulta de registros

como los podria pasar

Código Delphi [-]
table2.Fields[i].Value := query2.Fields[i].Value;


y el resultado lo deseo guardar en un archivo de texto

Código Delphi [-]
table2.Fields[i].Value


es posible ????


gracias por toda su ayuda !!!
Responder Con Cita
  #2  
Antiguo 16-08-2011
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
Hola pmtzg.

Espero no haber supuesto mal en que buscas copiar todos los registros de la tabla a un archivo de texto y no uno sólo...

Este código lo va a realizar con cualquier descendiente de TDataSet (TIBDataSet, TIBQuery,TIBTable,TADOQuery,...,TTable), lo comenté lo mejor que pude:
Código Delphi [-]
procedure PasarATexto(ADataSet: TDataSet; const Destino: string);
var
  BM: TBookMarkStr;
  TF: TextFile;
  i: Integer;
  r,s: string;
begin
  AssignFile(TF, Destino);       // Asociar variable con nombre de arhivo
  try
    Rewrite(TF);                 // Crear archivo y abrir
    try
      BM:= ADataSet.Bookmark;    // Salvar posición actual en TDataSet
      AdataSet.DisableControls;  // Desactivar presentación en controles
      ADataSet.First;            // Al primer dato
      while not ADataSet.Eof do
      begin
        s:= '';
        for i:= 0 to ADataSet.FieldCount -1 do
        begin
          // Llenar con espacios a la derecha y concatenar en s
          s:= s + ADataSet.Fields[i].AsString +
              StringOfChar(' ',ADataSet.Fields[i].DisplayWidth -
                           Length(ADataSet.Fields[i].AsString));
        end;
        Writeln(TF, s);          // Guardar línea de texto
        ADataSet.Next;           // Siguiente registro
      end;
    finally
      CloseFile(TF);
      ADataSet.Bookmark:= BM;    // Regresar a posición salvada
      AdataSet.EnableControls;   // Restaurar presentacion en controles
    end;
  except
    raise Exception.Create(SysErrorMessage(GetLastError));
  end;
end;
El argumento Destino deberá ser la suma de Ruta + Nombre_Archivo.
Usé BookmarkStr, DisableControls/EnableControls, por si estás mostrando los datos en algún control data-aware en ese momento. Pero si no es así podés quitar toda referencia a esas líneas.

Ejemplos de uso:
Código Delphi [-]
   PasarATexto(IBDataSet1, 'C:\Desde_IBDataSet.txt');
   PasarATexto(IBQuery1, 'C:\Desde_IBQuery.txt');
   ...

Un saludo.
__________________
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
insertar o modificar un registro completo a otro osvrom SQL 10 23-01-2013 20:10:14
Pasar un registro dinámicamente goduquez OOP 1 17-08-2010 04:27:07
Pasar Registro por Referencia NEG1414 C++ Builder 8 27-11-2009 07:58:08
En red, las BD Access ¿en con SQLs, ¿viaja el archivo completo igual que paradox...? Wonni Tablas planas 4 17-05-2007 18:21:01
Como leer un registro completo StartKill Conexión con bases de datos 1 26-02-2004 09:32:55


La franja horaria es GMT +2. Ahora son las 08:26:41.


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