Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-10-2008
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Esperar que se genere archivo e imprimirlo.

Hola a todos:

Necesito saber cuando se termina de generar un archivo en una carpeta.

Son varios listados de una aplicación DOS, mi aplicación con un timer revisa la carpeta donde se generan los listados, si hay un archivo lo imprime y lo borra.

El problema es que hay listados que a veces se demoran poco en salir (no hay problema) y otras veces se demoran más y mi aplicación no sabe como esperar a que termine de generar el archivo, el resultado es que los imprime incompletos.

De antemano muchas gracias.
Responder Con Cita
  #2  
Antiguo 20-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
en teoria, mientras se va dando datos a un archivo este esta abierto en modo escritura por lo que intentar acceder a el de esta misma manera te deberia dar error. Ahora bien, de la manera que lo estas contando, parece ser que puedes borrar el archivo aunque este este aun incompleto, por lo que se deduce que el programa que va generando el archivo lo va abriendo y cerrando paulatinamente. Si es este ultimo el caso, entonces lo veo muy dificil, pues tu aplicacion nunca sabria si el archivo esta acabado ya o aun le falta recibir mas datos. Una manera seria mirar si la aplicacion generadora esta activa, y si es asi, no hacer nada.
Responder Con Cita
  #3  
Antiguo 20-10-2008
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 16
TOPX Va camino a la fama
Hola,

Y otra podría ser que, la aplicación que está generando, en un segundo archivo confirme la finalización de la generación. Ya sea con uno con el mismo nombre y otra extensión, o un archivo para todos, que tendrá una lista de los que va terminando.
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
  #4  
Antiguo 20-10-2008
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Gracias por sus respuestas.

La idea realizar las modificaciones mínimas (no quiere más el programador, no lo puedo obiligar ) al sistema que genera el archivo, ahora la aplicación siempre está activa, genere el listado o no.

Nuevamente muchas gracias.

Cita:
Empezado por TOPX Ver Mensaje
Hola,

Y otra podría ser que, la aplicación que está generando, en un segundo archivo confirme la finalización de la generación. Ya sea con uno con el mismo nombre y otra extensión, o un archivo para todos, que tendrá una lista de los que va terminando.
Responder Con Cita
  #5  
Antiguo 20-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
¿y como imprimes? probaria de abrirlo en modo escritura antes de imprimir y si salta error, es que el archivo esta siendo actualizado.
Responder Con Cita
  #6  
Antiguo 04-11-2008
lavtaro lavtaro is offline
Miembro
 
Registrado: jun 2003
Ubicación: Chile
Posts: 88
Poder: 21
lavtaro Va por buen camino
Cita:
Empezado por coso Ver Mensaje
¿y como imprimes? probaria de abrirlo en modo escritura antes de imprimir y si salta error, es que el archivo esta siendo actualizado.
Gracias amigos solucioné el problema con este código:

Código Delphi [-]
     nEspera := 0;

     while nEspera = 0 do
     begin
       FileHandle := FileOpen(cNombreOrigen, fmOpenWrite );
       if FileHandle <>  -1 then nEspera := 1;
     end;

     FileClose(FileHandle);

No es muy elegante pero funciona.

Muchas gracias a todos.
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
Ejecutar archivo y esperar que termine Ana María API de Windows 2 05-09-2008 19:57:54
como hacer que mi aplicacion genere sonidos yack99281588 Varios 4 28-10-2007 14:09:25
Como hacer que se limpie genere un nuevo registro en un formulario difesa Tablas planas 2 01-11-2006 15:07:49
antes de cerrar genere un mesaje el_barto Firebird e Interbase 2 01-11-2005 20:29:22
ejecutar archivo y esperar que termine agustincs API de Windows 4 18-08-2004 22:53:21


La franja horaria es GMT +2. Ahora son las 12:14:18.


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