• Domingo 22 de Diciembre de 2024, 13:32

Autor Tema:  Seleccionar Una Carpeta  (Leído 2402 veces)

Bopo

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Seleccionar Una Carpeta
« en: Jueves 15 de Enero de 2004, 04:16 »
0
Y que me de la ruta en una variable :P

¿Cómo se hace?

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #1 en: Jueves 15 de Enero de 2004, 12:43 »
0
Hola Bopo.

Puedes usar una función de este estilo:

Código: Text
  1.  
  2. Public Function RtvPath(ByVal Cadena As String) As String
  3.  
  4.     On Local Error Resume Next
  5.     Cadena = Trim(Cadena)
  6.     Cadena = Replace(Cadena, "//", "\\")
  7.     Dim int1 As Integer
  8.     int1 = InStrRev(Cadena, "\")
  9.     If int1 > 2 Then
  10.         RtvPath = Left(Cadena, int1 - 1) & "\"
  11.     Else
  12.         If Len(Cadena) = 2 And Mid(Cadena, 2, 1) = ":" Then
  13.             RtvPath = Cadena & "\"
  14.         ElseIf Left(Cadena, 2) = "//" And InStr(3, Cadena, ":") = 0 Then
  15.             RtvPath = Cadena & "\"
  16.         End If
  17.     End If
  18.    
  19. End Function
  20.  
  21.  

Suerte.

Bopo

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #2 en: Jueves 15 de Enero de 2004, 15:00 »
0
Cita de: "Brroz"
Hola Bopo.

Puedes usar una función de este estilo:

Código: Text
  1.  
  2. Public Function RtvPath(ByVal Cadena As String) As String
  3.  
  4.     On Local Error Resume Next
  5.     Cadena = Trim(Cadena)
  6.     Cadena = Replace(Cadena, "//", "\\")
  7.     Dim int1 As Integer
  8.     int1 = InStrRev(Cadena, "\")
  9.     If int1 > 2 Then
  10.         RtvPath = Left(Cadena, int1 - 1) & "\"
  11.     Else
  12.         If Len(Cadena) = 2 And Mid(Cadena, 2, 1) = ":" Then
  13.             RtvPath = Cadena & "\"
  14.         ElseIf Left(Cadena, 2) = "//" And InStr(3, Cadena, ":") = 0 Then
  15.             RtvPath = Cadena & "\"
  16.         End If
  17.     End If
  18.     
  19. End Function
  20.  
  21.  

Suerte.


Y como hago para que abra la cosa donde se selecciona :unsure:  :losiento:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #3 en: Jueves 15 de Enero de 2004, 15:12 »
0
Entendí que necesitabas una función para recuperar el path en un string...

Para lo que quieres lo más sencillo es que incluyas en algún formulario un control Microsoft Common Dialog Control o si quieres utilizar apis, usa
SHBrowseForFolder junto con SHGetPathFromIDList

Chao.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #4 en: Jueves 15 de Enero de 2004, 15:19 »
0
Si tambien podes usar un form con un dirlistbox, hacer que la seleccione ahí poner un boton que diga aceptar, en el cual pone el path en una variable (global por ejemplo) y cierra la ventana.
QliX=D! - From the top of Tsunami

Bopo

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #5 en: Jueves 15 de Enero de 2004, 16:27 »
0
Cita de: "QliX=D!"
Si tambien podes usar un form con un dirlistbox, hacer que la seleccione ahí poner un boton que diga aceptar, en el cual pone el path en una variable (global por ejemplo) y cierra la ventana.
No les entiendo nada :(

Bopo

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #6 en: Jueves 15 de Enero de 2004, 16:29 »
0
Cita de: "QliX=D!"
Si tambien podes usar un form con un dirlistbox, hacer que la seleccione ahí poner un boton que diga aceptar, en el cual pone el path en una variable (global por ejemplo) y cierra la ventana.
Y donde devuelve ese valor? :P

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #7 en: Jueves 15 de Enero de 2004, 19:30 »
0
El ejemplo mas sencillo es:
Pones unavariable global en un modulo:
Public directorioSeleccionado as string.

dps haces un formulario con un dirlistbox y dos botones uno que dice aceptar y otro cancelar.
Supongamos que tenes el boton aceptar se llama cmdAceptar y el de cancerlar cmdCancelar, y el dirlistbox se llama dir1, entonces:
Código: Text
  1.  
  2. sub cmdAceptar_click()
  3.      if (dir1.path <> "") then
  4.            directorioSeleccionado = dir1.path
  5.      else
  6.            directorioSeleccionado = ""
  7.      end if
  8.      unload me
  9. end sub
  10.  
  11. sub cmdCancelar_click()
  12.     unload me
  13. end sub
  14.  
  15.  
Y listo entonces en el formulario "principal", pones:

     frmSeleccionarDirectorio.show

Y cuando necesites usar el directorio seleccionado se encotrara en la variable directorioSeleccionado.

Esperi qeu este mas claro...
slds.
QliX=D! - From the top of Tsunami

Bopo

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #8 en: Viernes 16 de Enero de 2004, 00:15 »
0
Cita de: "QliX=D!"
El ejemplo mas sencillo es:
Pones unavariable global en un modulo:
Public directorioSeleccionado as string.

dps haces un formulario con un dirlistbox y dos botones uno que dice aceptar y otro cancelar.
Supongamos que tenes el boton aceptar se llama cmdAceptar y el de cancerlar cmdCancelar, y el dirlistbox se llama dir1, entonces:
Código: Text
  1.  
  2. sub cmdAceptar_click()
  3.      if (dir1.path <> "") then
  4.            directorioSeleccionado = dir1.path
  5.      else
  6.            directorioSeleccionado = ""
  7.      end if
  8.      unload me
  9. end sub
  10.  
  11. sub cmdCancelar_click()
  12.     unload me
  13. end sub
  14.  
  15.  
Y listo entonces en el formulario "principal", pones:

     frmSeleccionarDirectorio.show

Y cuando necesites usar el directorio seleccionado se encotrara en la variable directorioSeleccionado.

Esperi qeu este mas claro...
slds.
Gracias ;) , em funciono, ahora... como hago para el el el dirbox o como se llame no aparesca solo el Disco C: :huh:

Bopo

  • Miembro activo
  • **
  • Mensajes: 72
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #9 en: Viernes 16 de Enero de 2004, 00:32 »
0
Cita de: "Bopo"
Y que me de la ruta en una variable :P

¿Cómo se hace?
ya lo hice B)

Código: Text
  1. Private Sub Drive1_Change()
  2. Dir1.Path = Drive1
  3. End Sub
  4.  
  5.  

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Seleccionar Una Carpeta
« Respuesta #10 en: Viernes 16 de Enero de 2004, 13:31 »
0
Cita de: "Bopo"
Cita de: "Bopo"
Y que me de la ruta en una variable :P

¿Cómo se hace?
ya lo hice B)

Código: Text
  1. Private Sub Drive1_Change()
  2. Dir1.Path = Drive1
  3. End Sub
  4.  
  5.  
YEAH! :smartass:  B)
QliX=D! - From the top of Tsunami