Cerrar los ficheros de texto

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

Responder
rafa_esteller
vRookie
vRookie
Mensajes: 2
Registrado: 08 Sep 2009, 12:05

Cerrar los ficheros de texto

Mensaje por rafa_esteller » 26 Ago 2010, 09:26

Hola, en primer lugar, agradecer a todos el tiempo dedicado a ayudar a los que estamos empezando. Se aprende mucho aquí.
Me gustaría saber si alguien ha tenido el siguiente problema y ha encontrado solución:

En un proceso de velneo, utilizo ficheros de texto. Hago una exportación de una tabla a 4ficheros txt. Este proceso se ejecuta siempre sobre el mismo directorio, el cual se tiene que vaciar justo antes de la siguiente exportación. Aquí viene el problema. Al parecer, algunos de estos ficheros se quedan abiertos por el proceso de velneo y no los elimina antes de la siguiente exportación. He revisado las instrucciones Fichero:Abrir, Lectura/Escritura. Crea o Limpia, y se repiten para todos los ficheros del proceso exactamente igual. ¿Por qué ni Velneo ni windows permite elimiar o modificar alguno de estos ficheros tras una exportación? Huele a que el manejador de fichero no ejecuta una instrucción de cierre... ¿Podríamos forzar el cierre del fichero desde Velneo?
¿Alguna otra sugerencia?

Muchas gracias de antemano

Francisco Hoyos
vLeader
vLeader
Mensajes: 2712
Registrado: 22 Sep 2005, 17:56
Ubicación: Gijón (Asturias) España GMaps: 43.538740, -5.661970

Mensaje por Francisco Hoyos » 26 Ago 2010, 09:47

Se me ocurre que es posible que necesites dar un tiempo de espera entre una instrucción y otra para que Windows tenga tiempo suficiente para finalizar los operaciones en disco. 500 milisegundos pueden ser suficientes.

Un saludo.
Francisco Hoyos
frhoydon@gmail.com

Avatar de Usuario
Gillem
vAdviser
vAdviser
Mensajes: 515
Registrado: 15 Jun 2010, 07:39

Mensaje por Gillem » 26 Ago 2010, 10:50

Otra opción es crear un bucle de apertura, es decir intentar abrirlo mientras no se abre lo dejas en el bucle, así cuando la abre cambiar el OK y sales del bucle con el fichero abierto, también puedes poner un mensaje de fichero ocupado que te permita finalizar el proceso.

Al exportar hay que tener en cuenta al Sr.Windows que no siempre sabe liberar los archivos cerrados (quien sabe porque), de todas formas finalizando los procesos correctamente y dejando un tiempo como dice Francisco no tienes porque tener problemas para manipular el archivo .txt externamente.

Salut y Suerte
I love Velneo

rafa_esteller
vRookie
vRookie
Mensajes: 2
Registrado: 08 Sep 2009, 12:05

Mensaje por rafa_esteller » 26 Ago 2010, 11:17

Muchas gracias. Voy a hacer unas pruebas tratando de darle un tiempo de espera antes de la apertura de cada fichero.

Saludos

Avatar de Usuario
motos
vCool
vCool
Mensajes: 142
Registrado: 30 Abr 2006, 08:08
Ubicación: Albacete
Contactar:

Mensaje por motos » 27 Ago 2010, 08:02

Hola, habitualmente debes de darle tiempo a Windows a que termine de escribir el fichero y lo deje cerrado, est depende de la cantidad de información que contenga el fichero y la velocidad general de tu equipo... en cuanto al borrado, puedes crear un archivo .bat en elmismo directorio que te borre los archivos. Debes de Lanzar aplicación y esperar a que acabe y tendrías el directorio vacío de los ficheros que tú elijas.

Un saludo.

Responder