Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Parsear 'Drag-and-Drop' De Múltiples Archivos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Parsear 'Drag-and-Drop' De Múltiples Archivos 
 
Gente:
Les paso un 'cacho' de código que hice para parsear multiples archivos.
El usuario "arrastra-y-suelta" un grupo de más de un archivo sobre nuestro programa y nosotros tenemos que hacer
algo con eso, pero primero debemos "pre-procesar" todas las rutas de archivos contenidas en el paquete.
Espero que esto a alguien le sirva. adáptenlo como les parezca, sobre todo hay un array que hay que sacarlo de la Sub
y hacerlo público para que sea accesible desde todo el Form.

Public Sub parseMuchosArchivos(strMuchosArchivos As String)
  
  Dim nNombre As String
  Dim nNombres As String[]
  Dim pNombres As String[]
  
  nNombres = Split(strMuchosArchivos, ":", " \n", True, False)
  
  For Each nNombre In nNombres
    If Left(nNombre, 3) = "///" Then
      nNombre = Right(nNombre, -2)
      nNombre = Replace(nNombre, " ", "\ ")
      pNombres.Add(nNombre)
      
    Endif
  Next
  
End
 


Saludos!!
 



 
PabloGener - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Parsear 'Drag-and-Drop' De Múltiples Archivos 
 
Hola Pablo.

¿ Cómo es el nombre del archivo que le pasas al procedimiento ?. Puedes poner un ejemplo.
Ese nombre no es muy corriente, ¿ no ?.  Lo digo por que parte del nombre tiene "///"
y ":"...son algo característicos esas rutas o archivos. Ah, has dicho paquete, entonces es algo especial.

La ruta de un archivo debería ser mas "normal".  

Respecto al array puedes devolverlo en la función.  
Ya sabemos que es indiferente Sub o Function, pero para no salirse de lo habitual, Function.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Parsear 'Drag-and-Drop' De Múltiples Archivos 
 
Shell escribió: [Ver mensaje]
Hola Pablo.

¿ Cómo es el nombre del archivo que le pasas al procedimiento ?. Puedes poner un ejemplo.
Ese nombre no es muy corriente, ¿ no ?.  Lo digo por que parte del nombre tiene "///"
y ":"...son algo característicos esas rutas o archivos. Ah, has dicho paquete, entonces es algo especial.

La ruta de un archivo debería ser mas "normal".  

Respecto al array puedes devolverlo en la función.  
Ya sabemos que es indiferente Sub o Function, pero para no salirse de lo habitual, Function.  

Saludos


no es nada especial, simplemente que estudiando el resultado de 'Drag.Data' depsues de 'arrastrar-y-soltar' un grupo de archivos sobre el formulario veo que 'Drag.Data' me devuelve un monton de cadenas parecidas a esto:

Código: [Descargar] [Ocultar]
  1. "file:///home/documentos/test1.txt\n24:34:-71:-96" 
  2. "file:///home/documentos/test2.txt\n17:91:-36:-75" 
  3. "file:///home/documentos/test3.txt\n78:62:-82:-57" 
  4.  


era algo muy parecido a eso, y pensé que podía 'splittear' el resultado de 'Drag.Data' a partir del ":" y depsues 'quitarle' la "//" que quedaba al comienzo del nombre de cada archivo, descartando todas las strings que queden en el array que no sean nombres de archivos. Estoy trabajando en una versión mejorada de este código 'splitteando' a partir del chr(13) que aparece al final de cada nombre de archivo. En mi ejemplo, para que se vea sería algo así:

Código: [Descargar] [Ocultar]
  1. "file:///home/documentos/test1.txt\n24:34:-71:-96chr(13)" 
  2. "file:///home/documentos/test2.txt\n17:91:-36:-75chr(13)" 
  3. "file:///home/documentos/test3.txt\n78:62:-82:-57chr(13)" 
  4.  


ahora lo que me queda es 'quitarle' todo lo del principio, se "file://" que no necesito. me imagino que si lo que agrupo en nautilus para tirar en mi formulario son 'archivos'+'accesos directos'+'cd-roms'+'unidades extraibles/pendrives'+'impresoras'+etc ese "file://" cambiará respectivamente a "cd-rom:///d", "printer:///hp-1640", etc, etc. se entiende no? sólo cabría utilizar los que comienzan con "file://" y así.
 



 
última edición por PabloGener el Domingo, 05 Julio 2015, 15:01; editado 1 vez 
Editado por PabloGener, Domingo, 05 Julio 2015, 15:01: los vbcode no funcionan dentro de bloques de codigo :S
PabloGener - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Drag & Drop JaM0N General 16 Jueves, 12 Noviembre 2009, 20:21 Ver último mensaje
fabianfv
No hay nuevos mensajes Drag And Drop jose2190 General 3 Domingo, 19 Septiembre 2010, 10:22 Ver último mensaje
jsbsan
No hay nuevos mensajes Drag/Drop pittusa General 4 Domingo, 30 Enero 2011, 18:31 Ver último mensaje
pittusa
No hay nuevos mensajes Drag Drop, Drag Source, Tag Shell General 0 Domingo, 08 Octobre 2017, 11:28 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron