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

problemas con ChDrive

Estas en el tema de problemas con ChDrive en el foro de Visual Basic clásico en Foros del Web. Hola, amigos del foro del web, tengo una duda al uzar una funcion ChDrive. Miren hago uso de la funcion para poder acceder a mi ...
  #1 (permalink)  
Antiguo 07/05/2009, 11:14
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
problemas con ChDrive

Hola, amigos del foro del web, tengo una duda al uzar una funcion ChDrive.

Miren hago uso de la funcion para poder acceder a mi unidad de disco duro que por defecto es c, pero en otra pc tengo declarado c y d ( por lo tando la compuse para que funcione con c y d ) como unidades pero cuando quiero usar en una maquina con una solo unidad de disco duro en vez de dos...me aparece el siguiente emnsaje

Código PHP:
error 68 en tiempo de ejecucion:
el dispositivo no esta disponible 
como puedo hacer para que no se muestre ese mensaje o como evitar ese mensaje de error . gracias
  #2 (permalink)  
Antiguo 07/05/2009, 11:41
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: problemas con ChDrive

Hola, puedes interceptar el error con "on error goto" o hacerlo ya en una función y te vale para siempre. Te presto ésta que me hice un día y va como un tiro:

Simplemente comprueba si existe ese directorio en esa unidad. Si te devuelve false, no hagas el ChDir, pues cascará.
Un saludo.

Código:
Function ExisteDirectorio(ByVal Directorio As String) As Boolean
    'Creada para superar el problema producido cuando en Dir se envía un
    'trayecto de red no válido: genera un error 52 (nombre de fichero no válido)
    On Error GoTo HayError
    Dim AUX As String
    'Ya que una carpeta compartida raiz da error, p.e.:
            ' dir("\\Server\C", vbDirectory) -> Error
            ' dir("\\Server\C\*.*", vbDirectory) -> Correcto.
    
    If Right(Directorio, 3) = "*.*" Then
        'Nada, queda como está
    ElseIf Right(Directorio, 1) = "\" Then
        AUX = Directorio & "*.*"
    Else
        AUX = Directorio & "\*.*"
    End If
    If Dir(AUX, vbDirectory) > vbNullString Then
        ExisteDirectorio = True
    End If
    Exit Function
HayError:
    'Nada, simplemente devuelve False.
End Function
  #3 (permalink)  
Antiguo 07/05/2009, 11:42
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: problemas con ChDrive

Muchisimas gracias, te lo agradesco me funciono a la perfeccion...
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 08:10.