Noticias
Indice

Programación
El C-lan
Visual C++
Otros lenguajes

Documentos
Matemática
Informática
Electricidad
Archivos

Investigación
Proyectos

Multimedia
DirectX
3DGS
Más multimedia

Utilitarios
Codi 1.1
R_porter 1.0
Otros utilitarios

De todo un poco
Links
Otros temas
Historia
Integrantes
Contacto


CD SOS o cómo copiar archivos de CD defectuosos...


 

Es una lástima que el explorador de Windows no quiera copiar algunos de mis CD's favoritos. Eso me pasa especialmente con algunos de esos VCD's que ponen 800 MB en CD's de 700 MB. Veamos todo empieza cuando te quieres copiar el vídeo que tu amigo te pasó para que lo vieras el fin de semana...

 

Inocentemente esperas que el Explorador de Windows haga su trabajo y que tu lectora no se malogre ni el CD este demasiado rayado...

 

 

Y tu lectora no se malogró pero el CD si esta rayado, o eso parece...

 

 

Te quedaste sin hacerle copia y te resignas... bueno lo veré solo una vez y si es bueno lo compro o lo busco con la mulita... abres tu poderosísimo wmplayer y...

 

 

Pues te quedaste sin verlo siquiera *_*. Aqui puedes usar cualquier programa LEE TODO que encuentres por internet, o puedes hacerte un programa similar tu mismo, sólo para distraerte claro, porque estás aburrido.

 

Para la mayoría de archivos de vídeo si reemplazas el contenido que no puedes leer del CD por cualquier otra cosa aún podrás seguir viendo el vídeo pero con algunos glitches en la parte que reemplazaste. Y es así como la mayoría de programas que encontrarás en internet funciona, si el CD esta muy dañado no hay forma de recuperar la información que contenía. Ahora bien uno de esos programitas que encontré no remplazaba los datos sino que no los copiaba, lo que para muchos vídeos esta bien excepto para aquellos que necesitan ciertos codecs exquisitos, no pude seguir reproduciendo los vídeos de este tipo a partir de la parte que el programita no copió. Aunque estoy seguro que deben existir reproductores multimedia mas efectivos que mi poderosísimo wmplayer, hehe.

 

Resumiendo, necesitamos un programa sencillo (usaremos MFC, because I'm lazy) y que sólo haga lo siguiente:

 

  1. Permita seleccionar el archivo a copiar.
  2. Permita elegir el archivo a crear para la copia.
  3. Permita ingresar el tamaño del buffer de memoria para la copia.
  4. Empiece a copiar del archivo origen al archivo destino usando el buffer creado.
  5. Si en el proceso de copia no se puede leer del archivo origen, copiar al archivo de copia el contenido del buffer actual e intentar leer el siguiente segmento del archivo de origen (como si se hubiera podido leer sin problema)
  6. Así hasta copiar todo el archivo o que el usuario cancele la copia.
  7. Mostrar número de bytes que no se pudieron leer.

Simple no? Un pequeño programita para los que recién están comenzando.

 

 

La función principal que hace la copia esta aqui: OnOK()

 

El proyecto completo para VC++ 6 esta aqui: SOSCD.zip

 

HOMEWORK:

 

El programita así como está hecho es útil, pero tiene un gran inconveniente, mientras está copiando los datos la interfaz de usuario se congela... y claro pues (está en un bucle continuo) Entonces la tarea para la casa es jugar con el código y crear un hilo para la copia de datos, de este modo se podrá refrescar la información en pantalla y cancelar la copia en cualquier momento.

 

En pocas palabras tendrás que hacer esto: SOSCD2 (exe)

 


Diseño y coordinación : Esa� - Lima - Per�


Hosted by www.Geocities.ws

1