FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como saber si un fichero está abierto
Buenas!
Tengo que mover de directorio una serie de ficheros (algunos son word, un fdb, varios ini's...) pero antes de hacerlo, necesito saber si alguno de esos ficheros están abiertos por otra aplicación antes de moverlos de directorio. Sabéis si hay alguna función que devuelva el estado del fichero? Muchas gracias.
__________________
ash nazg durbatulûk ash nazg gimbatul ash nazg thrakatulûk agh burzum-ishi krimpatul |
#2
|
||||
|
||||
#3
|
|||
|
|||
Mi problema no es saber si un programa está en ejecución, es saber si un fichero (.doc, .fdb, .ini....) está abierto.
El directorio que quiero mover es el directorio donde se encuentra la base de datos de otra aplicación nuestra. Si la base de datos está abierta, ya sea por la aplicación o por el IBExpert, no debo intentar moverla, al igual que el resto de ficheros que hay en el mismo directorio.
__________________
ash nazg durbatulûk ash nazg gimbatul ash nazg thrakatulûk agh burzum-ishi krimpatul |
#4
|
||||
|
||||
Buscando un poco en la internet, se encuentran algunas funciones interesantes
http://mc-computing.com/languages/De...lphiFileIO.htm También algo sobre el manejo de las excepciones: http://zarza.fis.usal.es/~fgarcia/do...bajos/S2T5.pdf Quizá te sirvan mientras |
#5
|
||||
|
||||
Hola,
En realidad a mí me parece que no hay forma de saber si un archivo está abierto o qué, a no ser que la aplicación que lo abra lo haga "de forma exclusiva". En este caso tal vez uno podría comprobar si el archivo, efectivamente, fue abierto de esa forma, dicho mal y pronto. Pero, si la aplicación que abre un archivo (y es lo normal) no lo abre de forma exclusiva, ya digo, puedo estar equivocado, pero, ¿cómo podría averiguarse que el archivo en cuestión está abierto? Te pondré un ejemplo. Una aplicación de Delphi cuenta con un "TMemo" en el que carga el contenido de un archivo. La aplicación lee el archivo, y pone su contenido en el "TMemo". Y ahí se acaba todo. El archivo puede incluso eliminarse a continuación, que, el contenido del mismo seguirá en el "TMemo". Si otra aplicación quiere saber si la mía abrió el archivo de marras, ¿cómo iba a hacerlo? Última edición por dec fecha: 04-12-2008 a las 17:34:51. |
#6
|
||||
|
||||
Yo pensé en los atributos del documento en ese momento... como cuando abres dos veces un archivo de excell te dice en "modo de solo lectura", quizá el se refiera a eso...
|
#7
|
||||
|
||||
Bueno, yo también me he enfrentado a ese problema y la solución que le di es lo que dice dec, abrir, ademas, de forma exclusiva, guardar el manejador del fichero para luego "liberarlo" al cerrar. De esa manera detectaba que el fichero no podía ser "tocado".
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ClientdataSet como saber si esta abierto? | Coco_jac | Varios | 4 | 13-04-2012 19:36:43 |
Cómo saber si un fichero esta marcado de sólo lectura ? | David | Varios | 2 | 13-08-2008 16:20:19 |
¿Está abierto un fichero? | Wellnic | API de Windows | 1 | 14-06-2008 14:07:14 |
Saber si un puerto esta abierto | Besto | Varios | 12 | 10-10-2007 16:30:00 |
Saber si esta abierto un documento Word | Investment | Servers | 2 | 13-05-2004 12:02:26 |
|