Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   ¿Como elimino las tablas temporales que me genera mi Exe? (https://www.clubdelphi.com/foros/showthread.php?t=1014)

IcebergDelphi 01-06-2003 02:44:43

¿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.

marcoszorrilla 01-06-2003 11:34:55

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.

andres1569 02-06-2003 15:36:32

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


La franja horaria es GMT +2. Ahora son las 10:03:56.

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