Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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: 20
rretamar Va camino a la famarretamar Va camino a la fama
Angry Verificación de los datos grabados en CD o DVD

Hola.
Tengo escrita una pequeña aplicación que toma los archivos de un directorio y los graba en CD o DVD. La grabación funciona sin problemas.

Hoy necesito agregarle la posibilidad de verificar que los datos del CD o DVD recién grabado se hayan escrito correctamente (como la opción "verificar datos escritos" en programas como Nero). La implementación en principio es simple, ya que me limito a leer archivo por archivo en el CD o DVD, y voy comparándolos con los que están en el disco rígido.

El problema es que al ser un CD recién grabado, la lectura que realizo se está realizando desde la caché (o sea en memoria) y no fisicamente desde el CD recién grabado.

Obviamente me dice que todos los archivos son idénticos , pero la pregunta es cómo puedo hacer (¿ vaciar la cache ?) para que la lectura se haga desde el CD, como lo hace cualquier programa (Nero, por ejemplo) de grabación de CD.

Saludos cordiales desde Argentina, Tux
Responder Con Cita
  #2  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
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
  #3  
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: 24
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
  #4  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
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
  #5  
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: 20
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
  #6  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
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
Respuesta



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 21:35:43.


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