Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2018
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Cool Hacer un registro de las Copias a dispositivos USB

Hola a todos
Pues me pidieron hacer un software que monitorice todas las copias de archivos que se hagan a cualquier dispositivo USB, para tener el control de la cantidad de archivos que se copian diariamente y en cuantos dispositivos USB.

Este registro se guardara en una base de datos, donde necesita los siguientes datos:
- Nombre del Dispositivo
- Capacidad
- Fecha de insertado
- Lista de los archivos copiados
* Nombre del archivo
* Ruta desde donde se copio

Ya tengo como detectar cuando se inserta un dispositivo USB, y obtener su nombre, ruta y capacidad.
Tambien en el foro encontré como monitorizar "una ruta" para saber lo que se copia, borra, etc.

El problema lo tengo, en que no se como implementar el registro de copias cuando hay mas de un dispositivo insertado y copiandose cosas diferentes.

En el caso de que sea un solo dispositivo el que se inserta en un dia, no me parece complicado.
El problema esta cuando se inserta mas de uno a la vez, o el mismo varias veces en el dia, como enviar a la BD los archivos que se copian al dispositivo correcto.
Es decir, si el disp. se inserto varias veces, que cada copia sea la del momento en que se inserto, y si es a otro disp. como identificarlo en la BD si su nombre coincide con el de otro.

Me podrian dar alguna idea de como implementar esto?
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
Responder Con Cita
  #2  
Antiguo 30-10-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoAnCa Ver Mensaje
El problema lo tengo, en que no se como implementar el registro de copias cuando hay mas de un dispositivo insertado y copiandose cosas diferentes.
Al final lo único que diferencia los N dispositivos que puedan estar conectados (a nivel de copiar ficheros) es la unidad que le ha asignado el sistema (y el identificativo de cada USB). Puedes tener perfectamente 2 dispositivos con la misma carpeta c:\Datos a los que se esté copiando el mismo fichero al mismo tiempo. Por lo tanto en la Base de Datos no basta con guardar el path destino, sino que además debes asociar la letra (y el ID del dispositivo).

Cita:
Empezado por JoAnCa Ver Mensaje
Es decir, si el disp. se inserto varias veces, que cada copia sea la del momento en que se inserto, y si es a otro disp. como identificarlo en la BD si su nombre coincide con el de otro.
Deberás guardar la fecha en que se realizó la operación y tal y como he comentado antes in ID del dispositivo insertado. Sea el número de serie, nombre, fabricante,...

Ten en cuenta que pudes tener un HUB con 3 dispositivos conectados al mismo puerto y debes saber distinguir sobre cual de ellos se hare la copia (volvemos à la letra asignada a cada dispositivo).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 31-10-2018
jairo10 jairo10 is offline
Registrado
NULL
 
Registrado: oct 2018
Posts: 4
Poder: 0
jairo10 Va por buen camino
Esta interesante el tema para llevar un monitoreo
Responder Con Cita
  #4  
Antiguo 31-10-2018
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Quizas no explique bien mi duda, o no completamente. Lo explico mejor paso a paso como lo tengo pensado

Se detecta la insercion del 1er disp. usb (E:\), comienzo el monitoreo de E: que se lo paso como parametro al componente que hace el monitoreo, y guardo en la BD

Se detecta la insercion del 2do disp. usb (F:\), esto mientras E: no ha terminado, comienzo el monitoreo de F: con el componente de monitoreo ..., peeero aqui es donde puede surgir el problema que temo, al comenzar a monitorear F:, entonces dejara de monitorear E: ?

Despues de analizar mejor el problema, me parece que si uso un hilo por cada dispositivo que se inserte, se solucionaria el problema?

Nunca he trabajado con hilos, tendre que comenzar a estudiarlos. No recuerdo bien si existe algun componente para el uso de threads, esto me facilitaria el trabajo
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes

Última edición por JoAnCa fecha: 31-10-2018 a las 14:27:29.
Responder Con Cita
  #5  
Antiguo 31-10-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JoAnCa Ver Mensaje
..., peeero aqui es donde puede surgir el problema que temo, al comenzar a monitorear F:, entonces dejara de monitorear E: ?

No explicas cómo vas a realizar el monitoreo, si utilizando algún componente de los que existen (RxLib o JVCL tienen alguno) o mediante la API de Windows.
No recuerdo si el componente permite añadir una única ruta o varias. En todo caso, si el componente sólo permite 1 ruta (path) bastaría con que crearas varios componentes en ejecución (uno cada vez que empiezas a monitorizar una ruta).



No creo que sea necesario que lo hagas en hilos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 31-10-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Acabo de revisar el componente de las JVCL y en este caso un único componente permite que le añadas varios paths de "monitorización". Así que sólo con un único componente deberías poder hacerlo.


__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 31-10-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Poder: 11
bucanero Va camino a la fama
Hola a todos

revisa este enlace, hay un programa con su correspondiente código fuente que hace el monitoreo de una carpeta con sus correspondientes subcarpetas creando un logs de todos los cambios que se realizan tanto a nivel de ficheros como de carpetas.

http://forum.codecall.net/topic/7631...r-for-changes/

un saludo
Responder Con Cita
  #8  
Antiguo 31-10-2018
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
No explicas cómo vas a realizar el monitoreo, si utilizando algún componente de los que existen (RxLib o JVCL tienen alguno) o mediante la API de Windows.
No recuerdo si el componente permite añadir una única ruta o varias. En todo caso, si el componente sólo permite 1 ruta (path) bastaría con que crearas varios componentes en ejecución (uno cada vez que empiezas a monitorizar una ruta).


No creo que sea necesario que lo hagas en hilos.



Estaba usando TMitec_DiskMonitor que permite una sola ruta, pero ya que me sugieres el de la JCVL, probare cambiando de componente
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes

Última edición por JoAnCa fecha: 31-10-2018 a las 19:03:46.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Hacer Copias de Seguridad NeoWorld Tablas planas 5 12-01-2012 20:10:48
¿Conocéis algún programa para hacer copias? Casimiro Notevi La Taberna 31 29-07-2011 10:53:04
Demora en ir al ultimo registro para hacer insert JoanKa Firebird e Interbase 3 14-02-2005 19:46:31
Al hacer tabla.edit se cambia de registro, porque? URBANO Varios 3 25-01-2005 13:32:39
Como hacer los calculos de un solo registro? CRIS SQL 1 20-10-2003 17:05:25


La franja horaria es GMT +2. Ahora son las 17:32:49.


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