Visual Basic - copiar archivos

Life is soft - evento anual de software empresarial
 
Vista:

copiar archivos

Publicado por mauricio (9 intervenciones) el 26/09/2003 16:42:49
como hago para copiar un archivo desde codigo visual basic con la funcion COPYFILE(origen, destino) pero que cuando se llena el disco de destino me solicite otro, y asi sucesivamente hasta completar la copia.
Si conoces otra funcion u otro metodo lo mismo da. Desde ya muchas gracias y si te puedo ayudar en algo lo que quieras.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:copiar archivos

Publicado por Juan (284 intervenciones) el 26/09/2003 23:55:21
Pues necesitarás comparar la longitud del archivo con el espacio disponible.
Para saber la longitud del archivo puedes usar la función FileLen(nombreArchivo), que devuelve la longitud en bytes.
Para saber el espacio disponible necesitarás la siguiente función API:

Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long

Lo que debes hacer es obtener los dos valores y si el archivo no cabe mostrar un msgbox indicando que se cambie el disco. Pero recuerda que después del msgbox la comparación debe repetirse, no sea que el usuario no lo cambie, así que deberás hacer un bucle que repita la comparación mientras esta sea negativa.

Otra cosa a tener en cuenta es comprobar que el archivo no sea demasiado grande para entrar en el disco aunque este esté vacío. La API que te he pasado también sirve para obtener la capacidad total del disco.

Espero que te sriva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar