Autor |
Mensaje |
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
¿ Y si se pudieran manipular las fechas de los archivos ?
uhmmm..... la propiedad .LastModified de la Clase Stat() solo es para Leer.
Pero puede ayudarte la librería externa de C... y en particular la función externa utime() :
Library "libc:6"
Public Struct utimbuf
actime As Long ' Access time.
modtime As Long ' Modification time.
End Struct
' int utime (const char *__file, const struct utimbuf *__file_times)
' Set the access and modification times of FILE to those given in *FILE_TIMES.
' If FILE_TIMES is NULL, set them to the current time.
Private Extern utime(__file As String, file__fimes As Utimbuf) As Integer
Public Sub Main()
Dim ut As New Utimbuf
Dim ruta As String
ruta = "/tmp/a"
' Creamos un archivo como ejemplo:
File.Save(ruta, Null)
' Vamos a ver el su ultimo cambio:
Print Stat(ruta).LastModified
Print
' ...solo para un efecto escénico:
Wait 1
' Determinamos arbitrariamente la fecha de la última modificación del archivo: 1111111111 secundos desde la fecha 01/01/1070
ut.actime = 0
ut.modtime = 1111111111
' Aplicamos la nueva fecha de la ultima modificación del archivo:
utime(ruta, ut)
' ...y vamos a verla:
Print Stat(ruta).LastModified
End
Consul Shell: " Ubi nullum gambas, ibi C ! "
última edición por vuott el Jueves, 14 Enero 2016, 23:29; editado 5 veces
|
#11 Jueves, 14 Enero 2016, 17:12 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
Citar: ...sigue inventando la rueda
No estoy siempre en contra de inventar la rueda una y otra vez. En condiciones de producción es una estupidez, pero en condiciones de laboratorio, cuando lo que importa es aprender a replantearte problemas y dar soluciones alternativas, etc. etc., inventar ruedas enseña muchísimo.
=================== No podemos regresar
|
#12 Jueves, 14 Enero 2016, 17:38 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
[quote user="codificador" post="29625"] codificador:
No conocía crc32.............
Citar: noooo lo conocias.... espero que no hayas estudiado informática
Si, claro que me suena, pero usarlo, usarlo, no. Si acaso he llegado ver la extensión en archivos antiguos del msdos.
Ten en cuenta que lo del checksum mas bien siempre lo he visto al bajar las distros para comprobar si estaba correcta.
Citar: pero si no te gusto cksfv que ya hace todo sigue inventando la rueda
Todo sea por aprender.
Hacer, hacer, md5sum lo hace a su manera, la cosa es luego usar esos comandos, entenderlo y aprovecharlos en un frontend
hecho en gambas.
En principio pensaba que gambas tenía algo sobre este tema ( como ví md5), pero va mas dedicado a criptografía. gb.crypt.
Y hablando de checksum. Creo que se me ha ocurrido una pregunta para "nostálgicos".
Pues si que os ha gustado el tema. Tendré que contestar un poco más tarde.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#13 Jueves, 14 Enero 2016, 19:32 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
Vuott:
Citar:
Tienes que cambiar las fechas de los archivos ?
No. Tu decías comprobar la fecha, solamente. Si es una "intrusión" con conocimientos y al archivo se le puede "cambiar"
las fechas dejándole la que tenía anteriormente a la "intrusión", no sabrás si lo han cambiado. Si fuera solo un valor, claro,
distinto es comprobar el interior.
El código que has puesto tengo que probarlo.
Citar:
Consul Shell: " Ubi nullum gambas, ibi C ! "
Et semper erit pythonis!.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#14 Viernes, 15 Enero 2016, 09:57 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
no sabrás si lo han cambiado.
Claro que hace falta un archivo donde guardar las fechas de los archivos para futuras comprobaciones.
Et semper erit pythonis!
" Exsecratio !
Padre, perdonalo, porque no sabe con que él programa ! "
última edición por vuott el Viernes, 15 Enero 2016, 12:39; editado 2 veces
|
#15 Viernes, 15 Enero 2016, 12:33 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
estaría muy bien que luego de tanta discusión , lleguen a un código depurado y lo publiquen para que lo usemos todos
|
#16 Viernes, 15 Enero 2016, 13:46 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
estaría muy bien que luego de tanta discusión , lleguen a un código depurado y lo publiquen para que lo usemos todos
aqui esta el codigo bien depurado para que lo vean
http://zakalwe.fi/~shd/foss/cksfv/
|
#17 Sabado, 16 Enero 2016, 00:41 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
tercoIDE:
Citar:
estaría muy bien que luego de tanta discusión , lleguen a un código depurado y lo publiquen para que lo usemos todos
Como ves cada uno barre para casa.
Tenemos opiniones distintas. Pero todas con el mismo fin.
Todo es cuestión de ver cual es manera más fácil de comprender y de hacer. La comodidad tambien es un aliciente.
En principio no es difícil hacerlo con una o con otra. Las utilidades externas te lo dan "mas mascado".
Solo hay que entender como es el formato que deja y usarlo en Gambas.
Controlar todo un disco...complicado. Tengo otra pregunta sobre el tema y es complicado.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#18 Sabado, 16 Enero 2016, 10:24 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
...crc32...
Shel, podes usa Shell mira este fragmento de código, tal vez te resulte útil.
' Obtencion del crc32 para el nombre de los archivos
Shell "crc32 '" & strRutacompletaDelArchivo & "' 2>&1" To stCrc32
stCrc32 = Replace(stCrc32, "\n", "")
stCrc32 = String.UCase(stCrc32)
Yo lo uso en el programa Destornishador, para poner este texto crc32 en el nombre del archivo renombrado además de la fecha y otros datos (que saco del exif del archivo)
|
#19 Sabado, 16 Enero 2016, 14:49 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Comprobar Cambios En Los Archivos De Un Directorio
Citar: Yo lo uso en el programa Destornishador...
Sólo por curiosidad... ¿de dónde sale esa sh? ¿Es por la pronunciación que hacen en Argentina de la "LL" y la "Y" españolas? ¿O tiene otro significado?
=================== No podemos regresar
|
#20 Sabado, 16 Enero 2016, 15:20 |
|
|
|