![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
El problema es (voy a usar las letras de unidades de tu mensaje) es que cuando leo la unidad E: ,no me lee fisicamente el CD, sino que (al ser pocos datos los que grabo en el CD, 150 Mb como mucho) a los archivos los lee de la memoria (ya que Windows cachea las lecturas en las unidades removibles, y al ser un CD recién grabado, entonces su contenido está "cacheado"). Y al no leer fisicamente el CD, entonces NO puedo verificar si REALMENTE los datos se grabaron correctamente. Gracias por la paciencia... Saludos desde Argentina, Tux ![]() |
|
#2
|
||||
|
||||
|
Hola,
Pues muy bien puedes llevar razón. Aunque yo sigo sin entender cómo es posible que intente averiguar si existe el archivo "E:\archivo.bmp" y el sistema operativo me responda si existe o no "en la caché". No es eso lo que quiero saber: quiero saber si existe el archivo "E:\archivo.bmp". Quiero decir que la caché estará estupenda para otros menesteres, pero, cuando uno no quiere saber si existe un archivo en la caché sino en una ruta en concreto, lo suyo (digo yo... vamos, que lo mismo estoy diciendo estupideces) es que se me respondiera si existe o no el archivo en la ruta que especifico. De hecho si uno mira la ayuda sobre la función "FileExists", por ejemplo, en ningún lado se dice "Si el archivo está en una unidad removible es posible que esta función retorne "True" aunque el archivo no se encuentre en la ruta especificada...". Por ningún lado pone eso, así que ya me diréis qué pensáis sobre esto... |
|
#3
|
||||
|
||||
Me parece dec que no estas entendiendo a rretamar, el no quiere saber si el archivo existe. El quiere leer su contenido para poder compararlo con el archivo original. |
|
#4
|
||||
|
||||
|
Una pregunta ingenua: ¿que el caché no debería de ser lo suficientemente inteligente para determinar si debe comparar con la versión en memoria o la de disco? Es que yo, de verdad, no tengo idea de como funciona el caché.
// Saludos |
|
#5
|
||||
|
||||
|
Cita:
Otra cosa seria si el programa utilizara la propia api de windows para copiar los archivos al cd, entonces puede que windows mantuviera una copia local de los mismos, pero esto ya son suposiciones ... Lo dicho, yo no tengo muy claro de que cache estamos hablando ... ![]() |
|
#6
|
||||
|
||||
|
Hagamos una simple prueba que refleja lo que estoy comentando:
1) Desde el explorador de Windows, vas a la unidad de CD, eliges una carpeta que contenga (por ejemplo) varios archivos que ocupan 30 Mb, y a través de copiar-pegar los copias a otra carpeta del disco rígido. 2) Durante la copia, la unidad de CD se enciende y los archivos se leen de allí. 3) Desde el explorador eliges la misma carpeta de la unidad de CD, y copias esos datos a una carpeta del disco rígido diferente a la de 1) Sorpresa...la copia en este caso es mucho más rápida...y la unidad de CD ni se mueve. Es que Windows tiene en la cache de disco los datos de la unidad de CD, y los lee de allí. Esa es la idea de la caché....acelerar el acceso manteniendo en memoria los últimos datos leídos, y -como la memoria es limitada- ir descartando de la caché los datos "menos solicitados". En situaciones normales esto es una bendición, ya que los accesos redundantes (como en este ejemplo) son mucho más veloces. Pero para realizar la verificación de los datos recientemente escritos en la unidad de CD por mi programa y al ser estos leídos de la cache, entonces no se realiza la lectura "física" y no puedo leer REALMENTE los datos del CD, que es lo que quiero. Espero que no los canse con este "ladrillo". Saludos desde ARgentina, Tux ![]() |
|
#7
|
||||
|
||||
|
Hola,
A mí personalmente no me cansa en absoluto, pero, es que lo que dices no responde a mi inquietud. Si Windows utiliza una caché para copiar archivos desde un CD al disco duro, es decir, si la primera copia la hace desde el CD y sucesivas copias las hace a partir de su caché... es problema de Windows, y yo estaré contento de que lo haga lo más rápido posible así que todos contentos. Pero en este caso no se trata de Windows, se trata de mi programa. Y mi programa quiere saber si existe un archivo en la ruta "E:\archivo.bmp" y no le interesa para nada la caché y aquí Windows no tendría que contradecirme y decirme si existe el archivo o no existe el archivo en no sé qué caché: mi pregunta es simple, ¿existe el archivo "E:\archivo.bmp"? Y Windows tiene que limitarse a contestar a esa pregunta. Tú no puedes controlar que Windows use no sé qué caché en sus tareas, pero, sí que puedes controlar que en tu programa se inquiera la existencia de un archivo en determinada ruta: no en ninguna caché ni en otro sitio distinto, exactamente en la ruta que le indicas. Y aquí vuelvo otra vez a la documentación de la función "FileExists", por ejemplo: en ningún lado se menciona que retornará "True" si el archivo solicitado existe en no sé qué caché. Es decir, esta función retornará "True" si el archivo "E:\archivo.bmp" existe y "False" en cualquier otro caso. Ahora bien, ya me atrevo a preguntar... ¿tú lo has comprobado? Es decir, realmente la función "FileExists" te retorna "True" para un archivo "E:\archivo.bmp" que no existe en el cederrón, porque el mismo cederrón no se encuentre ya en el dispositivo sin ir más lejos? Porque yo me apuesto algo (je, je, je...) que si el cederrón no está en la unidad la función "FileExists" no puede retornar "True" en modo alguno si se le pasa como parámetro la ruta de un archivo que haya de estar en dicha unidad/cederrón. |
|
#8
|
||||
|
||||
|
Hola,
Bueno. Pero es que es lo mismo (en mi ignorancia). Si yo le digo a Windows lee este archivo... estoy diciéndole justamente eso: lee este archivo... no el que tengas en tu caché... lo de si existe el archivo es una forma de simplificar el razonamiento (si lo es) pero vendría a ser lo mismo en lo referente a leer el archivo: EL QUE YO DIGA, no el que Windows decida... Ahora bien, no estoy quitando la razón al compañero... ya he dicho que bien puede ser que suceda tal como dice él... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como pasar datos de una hoja de Excel a Bases de Datos de Paradox | Goyo | OOP | 1 | 06-02-2007 01:57:20 |
| Añadir datos desde una base de datos a un TListBox | proyecto | Conexión con bases de datos | 1 | 21-11-2006 07:01:19 |
| Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas | adaypr | C++ Builder | 1 | 05-09-2006 11:56:33 |
| Verificación de dni | luna | Varios | 4 | 29-05-2004 21:33:46 |
| Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) | frankmch | Conexión con bases de datos | 2 | 08-09-2003 19:44:52 |
|