Spanish (SOLUCIONADO) Listar archivos de "documents"

Discussion in 'Spanish Forum' started by J M Movilla Cuadrado, Jan 4, 2019.

  1. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Al no encontrar respuestas a mi pregunta sobre FileDialog, ¿podríais indicarme otro método efectivo para conseguir la LISTA DE ARCHIVOS existentes en la ruta File.Combine(File.DirRootExternal, "download") que tengan una determinada extensión? ¿Alguien puede aportarme un ejemplo, por favor? Agradezco vuestro interés y ayuda.

    Los ejemplos que encuentro en el foro me dan todos error, y no consigo saber en qué fallo...
     
    Last edited: Jan 4, 2019
  2. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola

    Una forma seria así:

    Code:
    dim Files, FileOK as List
      
    Dim NombreFile, extension As String

       Files.Initialize
       
    Try
           
    ' poner todos los ficheros  en la lista
           Files = File.ListFiles(Directorio)
       
    Catch
       
    End Try
       
    If Files.Size = 0 Then Return
       
       FileOK.Initialize
       
       extension = 
    ".txt" ' pon la extensión que quieras 
       For n = 0 To Files.Size-1
           NombreFile = Files.Get(n)
           
    ' puedes repetir esta linea para mas de una extensión o hacer un OR
           If NombreFile.EndsWith(extension) Then  FileOK.Add(Files.Get(n))   

       
    Next
    Saludos
     
  3. José J. Aguilar

    José J. Aguilar Active Member Licensed User

    Recuerda tener permisos sobre la carpeta que vas a leer...

    saludos,
     
  4. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Hola, bgsoft: Muchas gracias por tu aportación. Como me sigue dando error por no tener permisos para leer la carpeta [File.DirRootExternal,"download"] he tenido que cambiar la ruta a [File.DirDefaultExternal], con lo que ya me funciona bien tu código, pero después de haber creado manualmente la carpeta [/storage/emulated/0/Android/data/b4a.ed] y dentro de ésta, la carpeta [files] para copiar ahí mis ficheros...

    Como esa carpeta [/storage/emulated/0/Android/data/b4a.ed/files] es precisamente la ruta [File.DirDefaultExternal], por lógica debiera generarse automáticamente al instalar la apk. Así que si no lo hace así, seguro que es porque yo hago algo mal...

    Alguna vez pienso "es que no se puede llegar a viejo..." Pero en realidad bien demostrado queda que eso no es cierto, porque a viejo ya he llegado; lo que no se puede es pretender hacer cosas para las que un viejo ya no está capacitado... Ya me perdonaréis por pretenderlo, abusando de vuestra comprensión y de vuestra paciencia...
     
  5. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola José, los permisos deberá tenerlos si la versión de la API es 23 o superior (Android 6 o superior), si no, no hace falta.
    Para alguien nuevo en B4A mejor si hace pruebas con una versión por debajo de 23 para no tener que montar todo el código de los permisos, que este caso seria PERMISSION_READ_EXTERNAL_STORAGE, y en el Manifest android.permission.WRITE_EXTERNAL_STORAGE

    Yo habitualmente para pruebas pongo android:targetSdkVersion="19" , otra cosa es que quiera subir la aplicación al Play Store

    Saludos
     
  6. José J. Aguilar

    José J. Aguilar Active Member Licensed User

    Tienes razón Jesús, de todas formas se lo he comentado porque está teniendo ese problema en otro hilo.
    Pero si haces las pruebas en tu teléfono y no en un emulador y tu teléfono tiene Android 7 por ejemplo, ya hay que implementarlo o no te funcionará en las pruebas aunque le pongas android:targetSdkVersion="19", no?

    gracias
     
  7. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola JM:

    Como decia Jack el destripador: vayamos por partes :D

    Si no tienes permisos por que trabajas con una api 23 o superior, tendras que darlos tanto para el File.DirRootExternal como para el File.DirDefaultExternal , por lo tanto me parece que es un problema de código, prueba añadir "/" , algo asi: File.DirRootExternal & "/download"

    No te creará esa ruta hasta que no abras la aplicación

    Posiblemente yo sea mas... mayor que no viejo :D que tu, y nunca es tarde para aprender. Por otro lado, este foro está para ayudarnos seamos jóvenes, viejos o lo que sea, asi que no tienes que pedir perdón puesto que simplemente preguntas lo que no sabes, como hacemos todos. Y si a alguien le molesta que preguntes mucho, pues simplemente no te responderá, pero seguro que alguno habrá. Y en este foro ultimamente ha entrado gente con ganas de ayudar como es nuestro amigo sevillano José J Aguilar (entre muchos otros) que es lo que hace que este foro sea de los mas activos quitando el general.

    Saludos
     
    José J. Aguilar likes this.
  8. bgsoft

    bgsoft Well-Known Member Licensed User

    No, yo hago pruebas con un sdk 19 y el dispositivo con Android 8 y no hace falta montar toda la parafernalia de los permisos, de ahi mi comentario para alguien que empieza en B4A, menos complejidad.
    Como le he respondido, creo que el problema de error no es de permisos si no de como pone el directorio, si te pide permisos para el Raiz, te lo pide para cualquier otro, por que es un permiso de acceso a leer o escribir, no a una carpeta concreta.

    Saludos
     
  9. José J. Aguilar

    José J. Aguilar Active Member Licensed User

    Ah bien, estaba yo confundido ahí entonces, gracias por la aclaración

    Gracias por la parte que me toca, sólo un matiz sin importancia, soy de Jerez (Cádiz), aunque vivo en Sevilla, jeje. Como yo les digo a los sevillanos (que son muy buena gente pero nos gusta meternos con ellos) "camino entre vosotros pero no soy uno de los vuestros" :)
     
  10. bgsoft

    bgsoft Well-Known Member Licensed User

    Perdon por el error, como pone en tu nick Sevilla...
    No te preocupes, somos casi paisanos, nací en un pueblo demasiado conocido ultimamente (en los medios) de la provincia de Cádiz y vivo en Barcelona desde hace mas años de los que pone en tu Nick :D, pero como se suele decir para quedar bien, soy ciudadano del mundo :cool: , ahh, y estuve no hace mucho en Jerez, tengo una sobrina allí ;)

    Saludos
     
    José J. Aguilar likes this.
  11. José J. Aguilar

    José J. Aguilar Active Member Licensed User

    No caigo de qué pueblo eres... pero si pasas de nuevo de Jerez, avisa y si ando por allí nos tomamos una cerveza.

    saludos,
     
  12. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Qué bueno que "por mi culpa" se haya producido este diálogo tan estupendo sobre el acceso a los directorios de Android. Y qué buenísimo que mi problema haya quedado resuelto a la perfección, con el código que José J. Aguilar me aporta en el post FileDialog no presenta los archivos buscados.

    Únicamente me queda advertirle a bgsoft que no le creo en eso de que "Posiblemente yo sea mas... mayor que no viejo :D que tu" (¿tú más de 87 años???), aunque sí es cierto que "nunca es tarde para aprender".

    Abrazos a ambos andaluces de nascencia de un castellano llano, llano...
     
    Last edited: Jan 8, 2019
    José J. Aguilar likes this.
  13. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola JM

    Si, no recordaba (es la edad :D) que eras el "benjamin" del foro.

    Me alegro que al final resolvieras el problema, y ya sabes, hasta la próxima para ayudarte

    Un abrazo a ti para el de la tierra del "fresquito". Estuve un verano en Torregalindo y por la noche con manta :confused: , pero es que los del sur no estamos acostumbrados a ese fresquito del verano.


    Saludos
     
  14. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Ay, amigo Jesús; en Torregalindo tienen en invierno más calor que en Burgos (capital) en pleno verano... Si quieres saber lo que es bueno, te invito a un pincho de morcilla de Burgos (no falsificada) con un buen "Ribera", pero esperando que pasen estos frescos heladores... Te pones de acuerdo con José J. y aprovecháis una pasadita por estas tierras. Si el pincho se queda corto, sabed que os tenéis merecido un lechazo asado, de esos que "han mamado oyendo las campanas de nuestra catedral"... Sinceramente.
     
    bgsoft and José J. Aguilar like this.
  15. bgsoft

    bgsoft Well-Known Member Licensed User

    Exmo. Sr. don benjamin del foro ;), muchas gracias por la invitación, pero igual te sorprendo y me pego una escapada cuando en Burgos (capital) las ratas ya no vayan con abrigo, que al contrario de Torregalindo van con cantimplora en verano :p

    Por que además aprovecharia para subir algo mas arriba y saludar a un amigo de Vitoria de aqui del foro que me debe un txakoli :D , y si el jerezano o cualquier otro se apunta ya seria lo mas, no estaria mal organizar una "quedada gastronómica/vinícola Spanish Forum B4A", pero eso si, nada de programación :D (piensatelo) I love a Riberita (tambien las morcillas de Burgos :D)

    Un abrazo

    Saludos
     
    José J. Aguilar likes this.
  16. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    No te imaginas la alegría que me ha dado tu mensaje. No he podido verlo hasta ahora porque he estado unas horas con el Rvdo. Prior de la Cartuja de Miraflores y otro par de padres del cenobio, con quienes me une una amistad personal de más de 6 lustros... Lo que se dice viejos amigos, además de amigos viejos... (Bueno, no; al Prior lo conocí veinteañero, cuando pretendía ser recibido en la casa, viniendo de un grupo parecido a los Kikos, de Madrid precisamente...)

    Que me parece muy estupenda tu idea de hacer una jornada gastronómica/vinícola, precisamente en Burgos, declarada Capital de la Gastronomía en 2013, y que sigue siendo Capital de la Gastronomía Universal, con su riquísima morcilla, su cordero asado, su acogedor fresco, etc. Y sin olvidar que en Burgos existe también un buen chacolí...

    A la espera de vuestras decisiones; hala, valientes...
     
    Last edited: Jan 10, 2019
    bgsoft and José J. Aguilar like this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice