Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Verificación de los datos grabados en CD o DVD (https://www.clubdelphi.com/foros/showthread.php?t=39267)

roman 16-01-2007 04:00:26

Yo no me la corto pero sí que concuerdo en la simplicidad de la prueba.

// Saludos

rretamar 16-01-2007 04:02:32

Si saco el CD, Windows sabe que el medio no está presente y la funcion devuelve un error. Pero si lo vuelvo a insertar, Windows reconoce que es el mismo CD y como los datos aún están cacheados, me vuelve a leer la cache y no la unidad fisica.

Saludos, Tux

dec 16-01-2007 04:13:39

Hola,

Bueno. Tienes razón... la prueba de simple es un poco absurda, porque, ¿cómo podrías comprobar si existen los archivos en un cederrón si no está el cederrón en la unidad? Pero, es que en mi opinión para las funciones de lectura debería ser lo mismo: olvidemos "FileExists" (que yo mismo introduje en este Hilo), pero, ¿es que si utilizo una función "GetFileMd5('E:\archivo.bmp')" Windows va a poner en medio una caché?

En el caso de que la pusiera... Windows debiera comprobar que primero existe el archivo en el cederrón, por no ir más lejos, porque bien podría poner la caché por medio para acelerar determinadas tareas como copiar archivos, por ejemplo, pero, si le pregunto específicamente por el MD5 de un archivo... de una ruta en concreto... no estaría nada bien que se me respondiera con el archivo de una caché... porque eso no es lo que yo quiero saber.

No sé si alguien mencionó (creo que fue Román) que está bien que Windows use una caché cuando le sea menester para lo que le sea menester, pero, esta caché se tornaría ineficaz si se mete donde no la llaman, y yo creo que en el caso que nos ocupa nadie la llama... yo no quiero copiar archivos, por ejemplo, y la caché debería utilizarla Windows para este tipo de menesteres, pero no para cualquier cosa.

No sé. Me da qué sé yo insistir más, porque, supongo que habrás hecho tus pruebas, pero, chico, es que no lo entiendo.

rretamar 16-01-2007 06:30:24

Cita:

Empezado por dec
Pero, es que en mi opinión para las funciones de lectura debería ser lo mismo: olvidemos "FileExists" (que yo mismo introduje en este Hilo), pero, ¿es que si utilizo una función "GetFileMd5('E:\archivo.bmp')" Windows va a poner en medio una caché?

Exactamente. Pone la caché en el medio y en forma "transparente".

Cita:

Empezado por dec
En el caso de que la pusiera... Windows debiera comprobar que primero existe el archivo en el cederrón

Como el CD se terminó de grabar hace diez segundos y no se expulsó de la unidad, Windows supone que los datos que tiene en memoria y que recogió durante la escritura son los mismos que están fisicamente grabados en el CD....es que justamente lo que yo quiero comprobar manualmente con mi programa.

Cita:

Empezado por dec
, por no ir más lejos, porque bien podría poner la caché por medio para acelerar determinadas tareas como copiar archivos, por ejemplo, pero, si le pregunto específicamente por el MD5 de un archivo... de una ruta en concreto... no estaría nada bien que se me respondiera con el archivo de una caché... porque eso no es lo que yo quiero saber.

Lo hace. Incluso al expulsar el CD y volverlo a insertar lo vuelve a hacer, porque Windows se da cuenta que es el mismo CD e insiste en devolver datos de la cache de lectura.

Si reinicio la PC, obviamente la cache se borra y entonces sí mi programa realiza una lectura "real" del CD. Tambén ocurre si hago otras lecturas de otros CDs, lo que hace que el contenido del cache sea
reemplazado por otro y al volver a insertar el CD recién grabado, ahí sí lo lee físicamente.


Saludos, Tux :confused:

roman 16-01-2007 06:32:47

¿Y ya consideratse lo que te dije?

Haz una prueba alterando un poco los datos de un sólo archivo antes de grabarlo. ¿Qué pasa al hacer la comprobación?

// Saludos


La franja horaria es GMT +2. Ahora son las 03:24:45.

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