Autor Tema: Acceder a portapapeles 2 (Windows)  (Leído 517 veces)

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Acceder a portapapeles 2 (Windows)
« en: Mayo 01, 2018, 11:39:13 pm »
¡Hola chicos!
He aprendido a hacer mi primera DLL y quiero compartirla con vosotros. Se trata de una dll para acceder al contenido del portapapeles y copiarlo sobre una string o bien a la inversa, dado una string copiarla al portapapeles.

La librería consta de 2 funciones:

-- str = CLIPBOARD_READ(); --> Devuelve el contenido del portapapeles sobre una string o mensaje de error en el caso de que no tenga contenido o no sea valido (ej: un fichero).
-- CLIPBOARD_WRITE(str);      --> Copia el contenido de una string sobre el portapapeles.

Importante, para el correcto visualizado de los carácteres no standard del español es necesario utilizar una fuente con codificación CP850. La librería se encarga de hacer la conversión "on the fly" de los carácteres no standard del español (acentos, ñ, ¡¿).

Adjunto .dll y un programa de ejemplo para su uso dentro del fichero zip.
Espero que les sea de utilidad,
Un saludo!
PD: DLL con los nombres de función solicitados por la audiencia :)
« última modificación: Mayo 11, 2018, 08:05:09 am por Arcontus »

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12756
  • Karma: 375
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #1 en: Mayo 02, 2018, 02:02:51 am »
gracias por compartir! felicitaciones por tu primera dll!
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JaViS

  • Global Moderator
  • *****
  • Mensajes: 1252
  • Karma: 26
    • Anarkade
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #2 en: Mayo 02, 2018, 01:20:33 pm »
muy bueno!! gracias!!
Working on Anarkade. A couch multiplayer 2D shooter.

panreyes

  • Administrator
  • *****
  • Mensajes: 2154
  • Karma: 74
    • panreyes.com
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #3 en: Mayo 02, 2018, 01:25:54 pm »
Bien hecho, enhorabuena! :)

Por cierto, lo mejoraría renombrando las funciones a:
CLIPBOARD_WRITE
CLIPBOARD_READ

Como en los DivLike todas las funciones están a la misma altura/orden, suele ser cómodo tener la "razón" de las funciones delante y la acción detrás, aparte de que READ es algo más común de ver.
« última modificación: Mayo 02, 2018, 02:55:34 pm por panreyes »

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6273
  • Karma: 160
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #4 en: Mayo 07, 2018, 12:45:10 am »
Yo iría más allá:
CLIPBOARD_GETS
CLIPBOARD_PUTS
Porque lo que lee, al final, son líneas de texto. Yo me guardaría _WRITE y _READ para cuando podamos leer algo más que cadenas ASCII (como una imágen, por ejemplo :P).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #5 en: Mayo 08, 2018, 03:53:57 pm »
Yo iría más allá:
CLIPBOARD_GETS
CLIPBOARD_PUTS
Porque lo que lee, al final, son líneas de texto. Yo me guardaría _WRITE y _READ para cuando podamos leer algo más que cadenas ASCII (como una imágen, por ejemplo :P ).
Hombre, por unos Karmas os implemento el cambio de nombres ;D
¿¿GETS Y PUTS o WRITE y READ?? ¿Que preferís?

panreyes

  • Administrator
  • *****
  • Mensajes: 2154
  • Karma: 74
    • panreyes.com
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #6 en: Mayo 09, 2018, 08:31:31 am »
Si pones write y read (en vez de gets y puts) te doy 100 de karma xD

JaViS

  • Global Moderator
  • *****
  • Mensajes: 1252
  • Karma: 26
    • Anarkade
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #7 en: Mayo 09, 2018, 02:12:33 pm »
habria que subir el codigo fuente a un repo publico asi la gente puede colaborar
Working on Anarkade. A couch multiplayer 2D shooter.

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #8 en: Mayo 09, 2018, 05:43:20 pm »
Si pones write y read (en vez de gets y puts) te doy 100 de karma xD
Ves preparando el botón, jajajaja

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #9 en: Mayo 09, 2018, 05:47:23 pm »
habria que subir el codigo fuente a un repo publico asi la gente puede colaborar
Si, es verdad.

Si no lo he hecho aun es por falta de tiempo y por que realmente me ha costado más configurar el entorno para compilar las DLL que realizar el código de las funciónes xD, y como lo que realmente "necesitas" es la DLL compilada, pues por eso no lo he subido, pero lo haré ;) .  ¿Cuantos de vosotros (a parte de splinter) tienen un entorno para compilar DLL's?


Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #10 en: Mayo 11, 2018, 08:05:52 am »
Ya está la DLL resubida con los nombres de las funciones cambiados.
Lo de subir el código a un repo GIT lo tengo en tareas pendientes..., estoy evaluando si añado alguna otra funcion a la librería antes de subirla al repo y darle un poco de chapa y pintura a lo que tengo codificado.
« última modificación: Mayo 11, 2018, 08:12:09 am por Arcontus »

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6273
  • Karma: 160
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Acceder a portapapeles 2 (Windows)
« Respuesta #11 en: Mayo 11, 2018, 11:45:48 pm »
Hacer DLLs es mi asignatura pendiente. Creo que una vez hice la DLL de ejemplo de Fénix con DEV-C++. Hoy tendría que usar Visual Studio o las herramientas de Linux, porque el MINGWloquesea lo tengo configurado en el sobremesa para compilar para GP2X (no sin gran esfuerzo) porque tengo pendiente recompilar alguna versión de Bennu más actualizada que la que hice en su día.

Pero sigo opinando que si solo lee y escribe lineas de texto, seamos constantes y hagamos como los ficheros. WRITE y READ se usa en Linux para leer y escribir "en general", para cualquier fichero (sea de texto, de imágen o un dispositivo) :D :D :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)