Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Detectar la finalización de un FileCopy

Estas en el tema de Detectar la finalización de un FileCopy en el foro de Visual Basic clásico en Foros del Web. Hola, en un botón quiero colocar: FileCopy origen, destino MsgBox "Copia terminada" El problema que se me presenta es que al comenzar a copiar el ...
  #1 (permalink)  
Antiguo 11/01/2009, 05:51
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Detectar la finalización de un FileCopy

Hola, en un botón quiero colocar:

FileCopy origen, destino
MsgBox "Copia terminada"

El problema que se me presenta es que al comenzar a copiar el archivo inmediatamente muestra el mensaje Copia terminada.

Quiero que este mensaje aparezca una vez que el archivo se terminó de copiar.

Desde ya, muchas gracias por las respuestas.
Saludos
  #2 (permalink)  
Antiguo 11/01/2009, 09:10
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: Detectar la finalización de un FileCopy

Crea una funcion para verificar si existe un archivo, y con un do while archivo no existe esperas que exista
  #3 (permalink)  
Antiguo 12/01/2009, 06:32
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: Detectar la finalización de un FileCopy

culd, gracias por responder.

No sé si te entendí bien. Seguramente tu te refieres a que el archivo que debo verificar si existe, es uno de los que estoy copiando. Si es así, en realidad no me sirve tu método porque esta copia es una actualización, es decir ese archivo que estoy copiando ya existe en el destino y lo estoy reemplazando por uno nuevo.

Saludos
  #4 (permalink)  
Antiguo 12/01/2009, 07:43
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: Detectar la finalización de un FileCopy

Cita:
Iniciado por ci2000 Ver Mensaje
culd, gracias por responder.

No sé si te entendí bien. Seguramente tu te refieres a que el archivo que debo verificar si existe, es uno de los que estoy copiando. Si es así, en realidad no me sirve tu método porque esta copia es una actualización, es decir ese archivo que estoy copiando ya existe en el destino y lo estoy reemplazando por uno nuevo.

Saludos
Borra el archivo primero... y usa un while para verificar si existe el archivo que estas creando

O sino de ultima usa un doevent para esperar a que termine el copy
  #5 (permalink)  
Antiguo 13/01/2009, 03:05
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: Detectar la finalización de un FileCopy

Cita:
Iniciado por ci2000 Ver Mensaje
Hola, en un botón quiero colocar:

FileCopy origen, destino
MsgBox "Copia terminada"

El problema que se me presenta es que al comenzar a copiar el archivo inmediatamente muestra el mensaje Copia terminada.

Quiero que este mensaje aparezca una vez que el archivo se terminó de copiar.

Desde ya, muchas gracias por las respuestas.
Saludos
Hola, puedes utilizar la API SHFileOperation que mientras está copiando muestra la tipica ventana con una barra de progreso y el texto "Quedan xx segs"

Código:
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Const FO_COPY = &H2

Private Type SHFILEOPSTRUCT
    hWnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Boolean
    hNameMappings As Long
End Type


Private Sub Command1_Click()
ProgresoCopia "c:\MisAplicaciones\Archivo.xxx", "D:\MisCopias\copia de Archivo.xxx"
End Sub

Public Sub ProgresoCopia(sFuente As String, sDestino As String)
Dim SHOp As SHFILEOPSTRUCT
With SHOp
    .hWnd = 0
    .wFunc = FO_COPY
    .pFrom = sFuente
    .pTo = sDestino
End With
SHFileOperation SHOp
End Sub
Puedes copiar un archivo en concreto o todo un directorio.

  #6 (permalink)  
Antiguo 14/01/2009, 14:45
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: Detectar la finalización de un FileCopy

Muchas gracias por responder.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:36.