Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2003
IcebergDelphi IcebergDelphi is offline
Miembro
 
Registrado: may 2003
Ubicación: VillaFlores, Chiapas, Mexico
Posts: 81
Poder: 21
IcebergDelphi Va por buen camino
¿Como elimino las tablas temporales que me genera mi Exe?

Hola amigos, hace dias termine un pequeño modulo en Delphi que crea reportes con FastReport, las tablas que uso y a las que me conecto via BDE , son de VFox Pro, en mi Form utilizo Tquerys para filtrar los reportes por fechas, al ejecutar mi exe ya compilado siempre , me arroja unas tablas temporales de Tipo VFox, y ahi se quedan , imaginense cada que ejecuto mi exe se generan esas dichosas tablas, ya mi carpeta es un basurero, ahora imaginense como va a quedar en la maquina de mi cliente, ¿ alguien sabe como evitar que aparescan esas tablas temporales y porque salen?

Las tablas que aparecen dicen mas o menos asi:
_QSQLxxx.DBF

es decir:
_QSQL244.DBF

Muchisimas gracias.
__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software
Responder Con Cita
  #2  
Antiguo 01-06-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 crearía una función que al cerrar la aplicación borrara todos los archivos de ese tipo.

Te pongo un ejemplo, tendrías que darlo unos retoques mínimos para construirte una Procedure o Funcion lo que más te convenga.

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
MiDir:String;//Donde están los ficheros
MisFicheros:String;//Cadena que contiene el nombre con comodines
Rbusqueda:TSearchRec;//Está definida en la unidad SysUtils

begin
MiDir:='d:\Pruebas\';
MisFicheros:='_*.Dbf';

if FindFirst(MiDir+MisFicheros,faanyfile, Rbusqueda)= 0 then
begin
 DeleteFile(Pchar(MiDir+Rbusqueda.Name)); //Borro el primero si Existe

   //Busco todos los del mismo patrón y los borro
   While FindNext(Rbusqueda) = 0 do
   begin
   DeleteFile(Pchar(MiDir+Rbusqueda.Name));
   end;

   //Ambas funciones devuelven 0 si la búsqueda tiene éxito.
end;
Un Saludo.
Responder Con Cita
  #3  
Antiguo 02-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

Te aconsejo que asignes un directorio adrede para esos archivos temporales, esto lo haces mediante la propiedad PrivateDir del Session (si no quieres colocar un componente TSession a propósito para esto, lo puedes asignar a la veriable global Session en el OnCreate del Datamodule principal). De esta forma el borrado de archivos basura te será más fácil y no te arriesgarás a borrar algo sagrado.

Como dice Marcos Zorrilla, lo ideal es que sea tu programa quien se encargue de esa labor (aunque a veces se quedan ahí precisamente porque el programa se ha colgado o cualquier imprevisto).

Aún recuerdo cuando estos archivos se me quedaban en el mismo directorio que el ejecutable y por teléfono le decía al cliente cómo borrarlos (me recorría un sudor frío por el cuerpo).

Un saludo
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 04:24: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