FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Saber si un archivo ha sido modificado desde fuera
Veréis...
tengo un programa, que utiliza archivos de texto... Bueno, tengo un archivo visualizado en un TMemo, y alguien, mientras está mi aplicación ejecutándose, alguien modifica ese archivo con el Bloc de Notas. ¿Cómo puedo saber, cuando mi aplicación toma el foco, que ese archivo ha sido modificado y cargarlo con los cambios en el TMemo? Uso Delphi 3 Standard. Gracias |
#2
|
||||
|
||||
Hola,
Un posible forma que se me ocurre a bote pronto sería utilizar la fecha del archivo como referencia. Cuando carges el archivo te quedas con su fecha, además de con su contenido. En el momento en que este contenido se modifique, es decir, cuando el usuario modifique el contenido del "TMemo" que muestra el contenido del archivo, en el evento de turno, podría volverse a mirar la fecha del archivo, y, si no coincide con la que guardaste... es que ha sido modificado desde fuera de tu aplicación. |
#3
|
||||
|
||||
Además de comprobar la fecha de la ultima modificación se me ocurre también que puedes usar el atributo FILE_ATTRIBUTE_ARCHIVE , es decir, cuando abres el archivo le quitas ese atributo, si otra aplicación hace algún cambio este atributo vuelve a estar presente. Algunas aplicaciones de backup lo usan para saber que archivos tienen que actualizar y cuales no.
Y la otra solución que se me ocurre, aunque pueda parecer una tontería, es comparar lo que tienes con lo que hay guardado. Aunque si son textos muy largos puede que no sea lo mas conveniente. |
#4
|
||||
|
||||
Muchas gracias por la sugerencia.
La verdad es que tenía otra cosas mejor: usar una función de la API, SHChangeNotify (o algo así, no lo recuerdo bien). Lo que pasa es que en mi versión de Delphi (3 standard) no está declarada en ninguna parte, y el ejemplo que vi era para Delphi 7. |
#5
|
||||
|
||||
Hola,
Cita:
|
#6
|
||||
|
||||
quizás mañana, a esta misma hora (es que tengo que pedírselo a la persona que me lo pasó, pues yo no lo tengo ahora mismo)
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Último fichero modificado ? | spab | API de Windows | 3 | 30-11-2005 03:36:33 |
Como saber si un Formulario ha sido creado | Durbed | OOP | 7 | 13-10-2005 13:06:28 |
Rapido con Delphi, y Lento desde fuera de delphi | JoseQ | Varios | 0 | 08-09-2005 10:54:48 |
Modificar un dfm desde fuera del entorno | wendigo | Varios | 5 | 07-05-2004 16:55:32 |
Registro modificado | ander | Firebird e Interbase | 2 | 28-05-2003 08:16:19 |
|