• Jueves 26 de Noviembre de 2020, 10:42

Autor Tema:  Capturar Carpetas, No Archivos  (Leído 3958 veces)

aloalo

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Capturar Carpetas, No Archivos
« en: Miércoles 7 de Diciembre de 2005, 19:05 »
0
Hola:

En mi aplicaciòn necesito que el usuario elija un directorio al cual enviar sus archivos generados. He encontrado que PB tiene una funcion para seleccionar archivos del disco duro, pero lo que ,me interesa es que se puedan seleccionar carpetas (directorios) del disco duro.

Alguien sabe como hacer esto por favor...

OJO: Estoy utilizando Power Builder 7.0

Gracias


Walter

Zuzunaga

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Capturar Carpetas, No Archivos
« Respuesta #1 en: Sábado 9 de Diciembre de 2006, 22:42 »
0
Mandame un correo a DavidZuzunaga@hotmail.com y te envio un ejemplo que te abre la ventanita de dialogo para elegir una carpeta ,o unidad

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1918
  • Nacionalidad: mx
    • Ver Perfil
    • http://www.ingenieria-soporte.com
Re: Capturar Carpetas, No Archivos
« Respuesta #2 en: Sábado 9 de Diciembre de 2006, 22:54 »
0
Citar
aloalo
 
Publicado: Diciembre 07, 2005 12:05 pm
Report Post

 no necesitan enviarte un correo para abrir ese cuadro de dialogo este es un foro publico no se poque la gente intenta hacerlo privado


Las respuestas aqui son para todos, incluso para que puedan ser 'criticadas' constructivamente, o corregidas tal vez necesitas otro tipo de sitio


www.latinchat.com :P ahi puedes hacer contactos :P


Este mensaje es viejo, no creo que aloalo vaya a responder pues fue hace un año

y tu correo puede ser usado para otra cosa si lo dejas en un FORO PUBLICO MUNDIAL  :devil:  :whistling:

Código: Text
  1.  
  2. String ls_Tipo,ls_Titulo,ls_path
  3. boolean ib_AbrioCarpeta
  4.  
  5.  
  6. ls_Titulo="Seleccione la carpeta"
  7. ls_path="C:\" //Directorio inicial
  8. ib_AbrioCarpeta = GetFolder(ls_Titulo, ls_path )>0
  9.  
  10. if ib_AbrioCarpeta then
  11.    MessageBox("Carpeta Seleccionada",ls_path)    
  12. end if
  13.  





Saludos



" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

leoandres

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Capturar Carpetas, No Archivos
« Respuesta #3 en: Domingo 10 de Diciembre de 2006, 16:15 »
0
Saludos...

Hace un tiempo vi un tip que armaba la estructura del arbol de directorios(carpetas) del disco duro en un TreeView, no lo consigo ahora, pero por el momento te doy una solución...
que el usuario tome cualquier archivo de esa carpeta y en la variable que recibes el nombre del archivo determinas donde se encuentra ubicado dicho archivo buscando en reversa el backslash (\) y cortas esa variable hasta esa posición...
Te doy el ejemplo:

integer value
string archivo, carpeta
value = GetFileOpenName("Seleccione Archivo",+ file_name, archivo, "DOC",  + "Text Files (*.TXT),*.TXT,"+ "Doc Files (*.DOC),*.DOC" )

// Ya tenemos el nombre del archivo seleccionado en la variable archivo...
IF len(archivo) > 0 THEN
value=len(archivo)
DO while mid(archivo,value,1) <> "\"
value --
LOOP
carpeta=left(archivo,value)
ELSE
MessageBox('Error!','No seleccionó archivo!')
END IF

...

Espero que te sirva...
Prueba...
leopoldotaylhardat@hotmail.com

Leopoldo Taylhardat

Software, Organización y Sistemas

Maracay, Venezuela


"En computación solo hay una cosa segura...
   que no hay nada seguro" - Leopoldo Taylhardat

"Cada alternativa que tengas durante la búsqueda,
      será una meta en sí misma" - Jorge Olguín.

leoandres

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Capturar Carpetas, No Archivos
« Respuesta #4 en: Domingo 10 de Diciembre de 2006, 16:19 »
0
... sobre la respuesta que mandaron mientras yo daba mi solución...

En la versión que yo trabajo (6.5) no existe la función "GETFOLDER", debe haber aparecido en úna versión más reciente...
leopoldotaylhardat@hotmail.com

Leopoldo Taylhardat

Software, Organización y Sistemas

Maracay, Venezuela


"En computación solo hay una cosa segura...
   que no hay nada seguro" - Leopoldo Taylhardat

"Cada alternativa que tengas durante la búsqueda,
      será una meta en sí misma" - Jorge Olguín.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1918
  • Nacionalidad: mx
    • Ver Perfil
    • http://www.ingenieria-soporte.com
Re: Capturar Carpetas, No Archivos
« Respuesta #5 en: Lunes 11 de Diciembre de 2006, 02:59 »
0
Cita de: "leoandres"
Saludos...

Hace un tiempo vi un tip que armaba la estructura del arbol de directorios(carpetas) del disco duro en un TreeView, no lo consigo ahora, pero por el momento te doy una solución...
que el usuario tome cualquier archivo de esa carpeta y en la variable que recibes el nombre del archivo determinas donde se encuentra ubicado dicho archivo buscando en reversa el backslash (\) y cortas esa variable hasta esa posición...
Te doy el ejemplo:

integer value
string archivo, carpeta
value = GetFileOpenName("Seleccione Archivo",+ file_name, archivo, "DOC", "Text Files (*.TXT),*.TXT,Doc Files (*.DOC),*.DOC" )

// Ya tenemos el nombre del archivo seleccionado en la variable archivo...
IF len(archivo) > 0 THEN
value=len(archivo)
DO while mid(archivo,value,1) <> "\"
value --
LOOP
carpeta=left(archivo,value)
ELSE
MessageBox('Error!','No seleccionó archivo!')
END IF

...

Espero que te sirva...
Prueba...
sobran los signos +


Código: Text
  1. value = GetFileOpenName(&#34;Seleccione Archivo&#34;, file_name, archivo, &#34;DOC&#34;, &#34;Text Files (*.TXT),*.TXT,&#34;+ &#34;Doc Files (*.DOC),*.DOC&#34; )
  2.  

Ok no sabia que en esa version no estaba, pero en esa opcion seria forzar a que hibiera al menos un archivo en en la carpeta :s

por cierto se cuelga :P

en lugar de hacer el ciclo yo haria esto

Citar
carpeta=mid(ls_Archivo,1,len(file_name)-len(archivo))

aunque creo que debe haber una solucion un poco mas efectiva :P


tendre que mandale un correo a Zuzunaga  :lol:  :P

Saludos



" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

leoandres

  • Miembro activo
  • **
  • Mensajes: 79
    • Ver Perfil
Re: Capturar Carpetas, No Archivos
« Respuesta #6 en: Martes 12 de Diciembre de 2006, 14:47 »
0
Saludos...

Si!,  hay que tomar para el ciclo la variable file_name que contiene la ruta y el nombre del archivo, en la variable archivo solo esta el nombre del archivo sin la ruta...
leopoldotaylhardat@hotmail.com

Leopoldo Taylhardat

Software, Organización y Sistemas

Maracay, Venezuela


"En computación solo hay una cosa segura...
   que no hay nada seguro" - Leopoldo Taylhardat

"Cada alternativa que tengas durante la búsqueda,
      será una meta en sí misma" - Jorge Olguín.