Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2003
robero espinoza robero espinoza is offline
Registrado
 
Registrado: may 2003
Posts: 9
Poder: 0
robero espinoza Va por buen camino
De una tabla a un archivo texto

Hola a todos espero esten bien, quiero ver si me pueden ayudar con un problema que tengo, quiero pasar de una tabla a un archivo texto los registros que contiene la tabla esto para ese archivo texto me funcione en una importacion que tengo que hacer, asea que tomar la informacion de la tabla y crear un archivo texto y que ahi contenga la informacion de la tabla pero en el archivo, espero me entiendan y me puedan ayudar.
muchas gracias y saludos....
Responder Con Cita
  #2  
Antiguo 11-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Una forma rápida de implementarlo sería recorriendo la tabla y por cada registro agregar una línea al archivo de texto formada por los valores de los campos separados por comas:

Código:
var
  Lineas: TStringList;
  Linea: String;

begin
  Lineas := TStringList.Create;

  while not Table.Eof do
  begin
    Linea := '';
    for I := 0 to Table.Fields.Count - 1 do
      if Linea = ''
        then Linea := Table.Fields[i].AsString
        else Linea := Linea + ',' + Table.Fields[i].AsString;

    Lineas.Add(Linea);
    Table.Next;
  end;

  Lineas.SaveToFile('tuarchivo.txt');
  Lineas.Free;
end;
De esta manera obtienes un archivo CSV (Comma Separated Values) que pueden leer muchos programas como por ejemplo Excel.

// Saludos
Responder Con Cita
  #3  
Antiguo 11-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Supongo que te hayas dado cuenta que a nuestro amigo y moderador Román se le olvidó declarar la variable I.

Código:
var
  Lineas: TStringList;
  Linea: String;
  I:Integer;
....
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 12-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Nada, lo que sucede es que me gusta ahorrar índices y por ello uso uno solo declarado en una variable global.



// Saludos
Responder Con Cita
  #5  
Antiguo 12-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo también trabajo de esa manera para situaciones en las que necesito repetidamente ciertas variables, las declaro como globales, aunque hay gente que es contraria a esta idea.

Un Saludo,
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 12-10-2003
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
No tiene sentido usar una variable global porque no se ahorra nada.
El hecho de definir una variable local dentro de la funcion no hace que el programa sea mas lento ni que ocupe mas memoria, es más, el uso de variables globales si que puede hacer que el ejecutable sea mas grande.
Otros problemas de usar esas variables globales:
-Hacen menos entendibles los programas.
-Las funciones que las usen no son Thread Safe.
-El tamaño del ejecutable y la memoria usada es mayor.
-En determinados casos podria ser mas lenta la ejecucion del codigo.

En definitiva, no se gana absolutamente nada por usar variables globales, sino que al contrario se pierde.


Salud2 !!!
Responder Con Cita
  #7  
Antiguo 12-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
El hecho de definir una variable local dentro de la funcion no hace que el programa sea mas lento
En mi caso, me refiero a que por ejemplo si utilizo una variable llamada estado, que permite saber cuando abro un formulario si estoy:
  • Añadiendo
  • Modificando
  • Consultando

Simplemente antes de llamar al formulario le paso un valor a esta variable que es de tipo global y esta en unit a parte, y dicha variable me sirve para todos los formularios de toda la aplicación, en mi caso busco la unicidad y la simplicidad, y este es el motivo de trabajar así.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 13-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por mi mismo
Nada, lo que sucede es que me gusta ahorrar índices y por ello uso uno solo declarado en una variable global.


Noten por favor las caritas sonrientes: yo no uso variables globales para índices. Sin embargo, para casos como el que indica marcoszorrilla sí que las uso. Por ejemplo, en un sistema en el que deseo mantener el id del usuario para poder verificar los derechos que tiene para cada módulo, una variable global me parece apropiada.

Hace poco vi (no recuerdo dónde, quizá aquí mismo) un truquito que no he puesto en práctica pero me pareció ingenioso: este tipo de variables globales que luego no recordamos bien cuáles son, podemos meterlas dentro de una clase:

Código:
unit VarGlobales;

interface

type
  TGlobales = class
    UsuarioId: Integer;
    Estado: Boolean;
    Etcetera: Char;
  end;

var
  Globales: TGlobales;

implementation

initialization
  Globales := TGlobales.Create;

finalization
  Globales.Free;
end.
Des esta manera, incluyendo la unidad VarGlobales en cada módulo qua las necesite, al escribir

Globales.

en el editor de Delphi, se desplegará la lista de donde seleccionaremos la que necesitemos. Así además, en el código quedará claroque estamos usando una variable global:

Globales.Estado

// Saludos
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


La franja horaria es GMT +2. Ahora son las 17:42:51.


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