Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No me queda claro lo que dices de que la "lectura la realizas desde la caché". Si tienes que comparar los archivos. Si tú lees un archivo "E:\archivo.bmp" siendo "E" la letra del disco recién grabado... ¿cómo es eso de que lees el archivo desde la caché? No me queda claro.

Habría que ver también si guardas las rutas de los archivos grabados... para ir "comparándolos" con los archivos originales. Y entrecomillo "comparándolos" porque se me ocurre que puedes compararlos por su "MD5", por ejemplo, o de otro(s) modo(s)...

No sé. Yo creo que habría que aclarar unas cuantas cosas antes de echar para adelante...

A mí el asunto puede parecerme al principio no demasiado complicado, pero, cuando lo piensas un poco...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 15-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Lo que voy a decir puede que sea una tontería, pero puedes abrir y luego volver a cerrar la bandeja del cd, de esta manera sera como si insertaras un disco nuevo y no influiría la cache.

Es todo lo que puedo decirte por ahora, ya que no dices que método estas utilizando para grabar, ni que librerías utilizas (si lo haces) o si usas alguna aplicación de terceros.
Responder Con Cita
  #3  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo sigo sin ver dónde entra la "caché" esa (claro que tampoco sé de dónde sale). Lo digo en serio, si estoy confundido me lo hacéis saber por favor. Porque si suponemos que existe un disco en la unidad "E" (pongamos por caso) y yo escribo esto:

Código Delphi [-]
if FileExists('E:\archivo.bmp') then
  ShowMessage('El archivo existe');

¿Qué se supone que estoy "preguntando"? ¿Si existe el archivo en la "caché"? No, señor. Estoy preguntando si existe un archivo en la ruta que indico: ¿y no se me va a responder si existe o no existe? ¿Dónde entra ahí la "caché"?

Desde la ignorancia acreditada que me caracteriza, espero que me ilumine vuestra sin duda ilustrada ayuda.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 15-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 22
rretamar Va camino a la famarretamar Va camino a la fama
Smile

Desde ya les agradezco por su respuesta

La cosa es así:
1) Grabo unos archivos usando un componente de Delphi para grabación en CD/DVD.
2) Cuando termino de grabar deseo realizar una verificación de los archivos grabados.
3) Abro y cierro la tapa de la grabadora, pero el caché de Windows 2000 no se vacía. Cuando trato de leer los archivos de la grabadora para realizar la comparación con los del rígido, los lee del caché y no del CD/DVD en sí.

En definitiva necesito vaciar la caché de Windows para esa unidad, pero no se como. El Nero lo hace sin siquiera abrir la tapa....

Saludos cordiales desde Argentina, Tux
Responder Con Cita
  #5  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo entiendo que el componente que estés utilizando para grabar en el CD tiene que proporcionarte la posibilidad de lidiar con la caché famosa. Pero, aún sí, sigo sin comprender cómo si yo trato de averiguar si existe un archivo en el CD Windows me va a decir una cosa u otra mirando en la caché... ¿pero no le estoy dando la ruta del archivo que quiero? ¿Entonces a qué se mete la caché por medio? Sigo sin comprenderlo, la verdad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 16-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 22
rretamar Va camino a la famarretamar Va camino a la fama
Unhappy

Hola.
No tengo control si la lectura se realizará desde la caché de lectura del sistema operativo o del mismo CD. Me doy cuenta que se realiza desde la cache porque al leer los archivos del CD recién escrito la luz de la unidad ni se enciende, y la lectura es rapidísima. Eso lo controla el sistema operativo. He probado expulsar el CD y volverlo a insertar, pero Windows se da cuenta que es el mismo CD (por el número de serie) y la lectura la realiza desde la cache de lectura.

El componente que estoy usando (MagicBurner) solo controla la parte de grabación, pero no veo que tenga ninguna funcion para vaciar la cache de lectura de unidades removibles.

Poder se que se puede, sin ir más lejos Nero lo hace cuando activamos la opción de "verificar los datos escritos".


Saludos desde Argentina, Tux
Responder Con Cita
  #7  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver... no sabemos qué hace Nero, ¿verdad? Tú dices que no tienes control sobre si la lectura se realizará desde la caché del sistema operativo o desde el CD, pero, ¿esto cómo es posible?

Si eres tú quien implementa la comprobación de los archivos, eres tú el que tiene que codificar lo que sea menester para llevar a cabo la tarea. Ahora bien, tú grabaste los datos en el CD... y hasta aquí la participación de la caché del sistema operativo y del componente MagicBurner.

A partir de ahí (en mi ignorante opinión) eres tú quien debe implementar la comprobación de los archivos grabados. Y ya me dirás porqué no puedes hacerlo como quieras...

Es decir, si guardas antes de grabar las rutas de los archivos a grabar, por un lado, y luego compruebas que los archivos están donde deben estar en el CD... hágase esto como se tenga que hacer, repito que no sé dónde entra la caché del sistema operativo...

Pongamos por caso que grabas el archivo "C:\archivo.bmp" en el CD que se encuentra en la unidad "E". Para comprobar que el archivo se grabó correctamente una posible forma sería obtener el MD5 del archivo "C:\archivo.bmp" y compararlo con el del archivo "E:\archivo.bmp". Evidentemente este último ha de existir: de no ser así ya sabríamos que la grabación no terminó correctamente.

Pero tú para comprobar la existencia del archivo "E:\archivo.bmp" utilizarás la función "FileExists" (por simplificar el ejemplo) y le dirás al sistema operativo que te diga si el archivo "E:\archivo.bmp" existe o no existe: no si existe en la caché o no existe en la caché, sino si existe el archivo "E:\archivo.bmp". Así que no sé si me estoy perdiendo algo o qué...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 16-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No te servirá la función FlushFileBuffers?

// Saludos
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
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


La franja horaria es GMT +2. Ahora son las 22:25:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi