Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Otra Entrada De Drag & Drop
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Otra Entrada De Drag & Drop 
 
Hola, estoy haciendo algunas pruebas con drag&drop y me ha surgido un problema. He hecho un botón, a ese botón le puse la propiedad DROP a TRUE y en el código, en el evento DROP, le puse que ejecutara gedit (por probar).

Hasta aquí la cosa va bien, pero el problema me surge cuando quiero arrastrar al botón un archivo de texto y que no solo se abra gedit, sino que gedit tome como parámetro el archivo arrastrado y que lo abra para editarlo.

O sea, ¿cómo hago para tomar el nombre/ruta del archivo arrastrado para pasárselo a EXEC ["gedit"] como parámetro?

¿Y si arrastro varios archivos para procesarlos, por ejemplo, por ejemplo para girar un montón de fotos a la izquierda con el comando convert?

Estaría  bien saber no solo el nombre de los archivos sino también cuántos son para poder hacer una barrita de progreso o crear un porcentaje de finalización de procesos.


Un saludo a todos y gracias de antemano.
 



 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
Vamos avanzando algo, más datos por si a alguien se le ocurre algo:

De esta forma me abre un archivo que arrastre.

PUBLIC SUB boton_Drop()

DIM a AS String

  a = Drag.Paste()
  a = RTrim(a)
  EXEC ["gedit", a]
END

Pero Drag.Paste me devuelve una ruta en formato html, o sea, con %20 para los espacios y con otros códigos para las tildes y demás, a parte de comenzar con la forma "file://" que no todos los programas entienden como parámetro.

Además, termina la línea con algún carácter raro porque tengo que usar RTrim para truncar el último carácter para que lo entienda gedit.

¿Hay alguna forma de arreglar este entuerto? Lo que se necesita es algo similar a como se hace en bash, todos los parámetros están en $@ listos para ser tratados, pero aquí en gambas ¿cómo se haría esto?
 



 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
Citar:
Pero Drag.Paste me devuelve una ruta en formato html, o sea, con %20 para los espacios y con otros códigos para las tildes y demás, a parte de comenzar con la forma "file://" que no todos los programas entienden como parámetro.


Puedes usar la orden Replace, para ese problema, por ejemplo, para el %20:

nombre_fichero=Replace$(nombre_fichero, "%20", " ")


De igual modo lo puedes aplicar para los acentos.

Es lo primero que se me ocurre....

Citar:
Lo que se necesita es algo similar a como se hace en bash, todos los parámetros están en $@ listos para ser tratados, pero aquí en gambas ¿cómo se haría esto?

No se que quieres decir...       
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Viernes, 25 Noviembre 2011, 21:56; editado 2 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
Lo que quiero decir es que en bash, los parámetros que envías a un comando se guardan en $@ de tal forma que puedes hacer cosas como esta.

Siguiendo con el ejemplo de antes, imagina que quiero girar un montón de fotos a la izquierda. Si hiciera un programa en bash lo llamaría "gizquierda" y si arrastrara a él todos los archivos de una carpeta o si lo llamara con "gizquierda *" desde un terminal, recogería los archivos 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg... en la variable $@.

Y puedo hacer cosas como

for i in $@; do

      convert -rotate -90 "$i" "$i"

;done


¿Cómo se recogen los nombres de todos los archivos que he arrastrado en gambas para poder tratarlos uno a uno?
Y para hacer el Replace también necesitaría toda esta lista ¿no?
No sé cómo meterle mano, la verdad.

Solo por acotarlo, la cosa sería hacer un botón que al arrastrarle unas cuantas imágenes, las rote a la izquierda. Si supiéramos la forma de hacer esto, podríamos extenderlo para convertir imágenes, ficheros de audio o incluso archivos de vídeo de forma fácil.
 



 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
¿Hay en gambas alguna función para convertir de HTML a UNICODE?
 



 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
Gracias a la sugerencia de jsbsan, poniendo esto tendría la cosa medio solucionada:

  a = Replace$(a, "%20", " ")
  a = Replace$(a, "%C3%A1", "á")
  a = Replace$(a, "%C3%A9", "é")
  a = Replace$(a, "%C3%AD", "í")
  a = Replace$(a, "%C3%B3", "ó")
  a = Replace$(a, "%C3%BA", "ú")
  a = Replace$(a, "%C3%81", "Á")
  a = Replace$(a, "%C3%89", "É")
  a = Replace$(a, "%C3%8D", "Í")
  a = Replace$(a, "%C3%93", "Ó")
  a = Replace$(a, "%C3%9A", "Ú")
  a = Replace$(a, "%C3%B1", "ñ")
  a = Replace$(a, "%C3%91", "Ñ")
  a = Replace$(a, "file://", "")

Ahora al arrastrar un montón de archivos me los guarda en "a" uno bajo el otro, por ejemplo:

/home/pepitogrillo/imagenes/1.jpg
/home/pepitogrillo/imagenes/2.jpg
/home/pepitogrillo/imagenes/3.jpg

¿Cómo  puedo tratarlas ahora de línea en lína para pasárselas a un comando externo?


PD. Por cierto el RTrim en la versión 3 no hace falta, sería un bug.
 



 
última edición por geaplanet el Martes, 29 Noviembre 2011, 12:45; editado 1 vez 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
Cuando dices:
Citar:
Ahora al arrastrar un montón de archivos me los guarda en "a" uno bajo el otro, por ejemplo:


¿que quieres decir que te lo guarda en un array??
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
No, un array no, no sé cómo lo guarda exactamente, solo sé que si le doy a guardar a un archivo de texto me sale lo que comentaba arriba, una línea por archivo. Y ahora no sé cómo meterlo en un bucle para que me lo trate línea por línea :-/
 



 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
¿O lo guardo en un archivo temporal y luego lo releo haciendo algo así? http://gambasdoc.org/help/lang/lineinput?view
 



 
geaplanet - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Otra Entrada De Drag & Drop 
 
Veo que ni siquiera te han contestado en la lista de correo oficial de gambas-user. Bueno, la verdad es que no estoy muy familiarizado con este tema, pero en algún lugar me parece haber leído que a la hora de copiar o pegar, se puede establecer el tipo MIME, "Content-Type: text/plain" en lugar de "text/html" que sigue por defecto.
Voy a investigar, porque de esa manera no tendrías que hacer esas conversiones y facilitaría mucho las cosas.

Prueba con a = Drag.Paste("Text/plain")

EDITO: mira el ejemplo "Drag&Drop" que viene con gambas, hay cosas que podrían aclararte el problema.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - 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 2
Ir a la página 1, 2  Siguiente

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