Turriano   11-04-2025, 22:45
#1
Desearía hacer este programa:
  • -Pulsar botón en el formulario
  • -En el programa, hay un texto ya determinado
  • -Al pulsar ese botón, va ese texto al portapapeles.
¿Sugerencias?

Se trata de una subrutina, de un programa mayor, que facilitará la programación en gambas.
El resto, creo apañarme yo solito.
Y ya iré avanzando lo que vaya haciendo.
Me parece que os va a gustar B-)
Shell   Ayer, 00:52
#2
Usa la clase Clipboard y su método Paste

Ejemplo, estás en el bloc de notas y seleccionas un texto, usas copy con el botón derecho del ratón.

Ahora en el botón que tienes en el formulario, tienes un TextArea.
Si este TextArea se llama TextArea1 le adjudicas a a su propiedad Text el contenido del Clipboard.

Código:
TextArea1.Text = Clipboard.Paste()


Te adjunto un ejemplo, pero primero deberías  acabar el tuyo. Smile
En este ejemplo solo copia texto, no valdrá para copiar las URL de los navegadores. ( Eso es un tipo de contenido ).

Saludos
Archivos adjuntos
.gz
ClaseClipboard-0.0.1.tar.gz (Tamaño: 9.12 KB Descargas: 1)

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Turriano   Ayer, 11:18
#3
El texto a copiar, estaría dentro del programa (por ejemplo, en una variable de texto).

(Ayer, 11:18)Turriano escribió: El texto a copiar, estaría dentro del programa (por ejemplo, en una variable de texto).

¿Sería algo así?
cadena$.Text = Clipboard.copy

Siendo cadena$, el texto a copiar

(Ayer, 11:18)Turriano escribió: El texto a copiar, estaría dentro del programa (por ejemplo, en una variable de texto).

¿Sería algo así?
cadena$.Text = Clipboard.copy

Siendo cadena$, el texto a copiar
Última modificación: Ayer, 11:26 por Turriano.
Shell   Ayer, 11:49
#4
Mas bien así:

Código:
Public Sub btnCopiar_Click()

  Dim variable As String

  variable = "Algo que copiar"

  Clipboard.Copy(variable)

End

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Turriano   Ayer, 11:52
#5
(Ayer, 00:52)Shell escribió: Usa la clase Clipboard y su método Paste

Yo sé que lo que yo quiero, está aquí:

Clipboard.Copy (Textarea1.Text)
'Copy Text into the Clipboard
END

(Ayer, 11:49)Shell escribió: Mas bien así:

Código:
Public Sub btnCopiar_Click()

  Dim variable As String

  variable = "Algo que copiar"

  Clipboard.Copy(variable)

End

Saludos

Pero luego no pega nada en el portapapeles.
Mi idea era hacer un programa con botones.
Un botón copiaría un bucle, otros variables, etc.
Así, a la hora de escribir código, no hacía alta más que ir pegando trozos de código enteros, y facilitar así el trabajo y hacerlo más rápido y cómodo.
Última modificación: Ayer, 12:11 por Turriano.
vuott   Ayer, 12:51
#6
Quizás esta página pueda ayudarte:

https://www.gambas-it.org/wiki/index.php..._Clipboard

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
Shell   Ayer, 14:23
#7
Lo que ves en el evento click es:

Es una demostración de como el contenido de una variable definida en algún lugar se pasa al portapapeles.

- Se le asigna "Algo que copiar" a variable. No estás seleccionando algo, lo tienes definido en la variable.
- Se asigna el contenido de la variable al clipboard
- Ese valor que se encuentra en clipboard puedes pegarlo mediante el método Paste.

Intenta las operaciones más básicas.  Copiar y Pegar , con su métodos correspondientes
y después lo aplicas a lo que te interesa.

En este caso sería distinto:

Seleccionamos un texto del control TextArea
Y este se pasa a la variable y luego la misma variable se pasa su contenido al clipboard. Variable que puede prescindirse de ella en este caso.
Código:
Public Sub btnCopiar_Click()

  Dim variable As String

  If TextArea1.Selected Then
    variable = TextArea1.Selection.Text
    Clipboard.Copy(variable, "text/html")
  Endif

End

Y ahora usamos otro botón para pegar el contenido.
En este caso se concatena con el contenido que existía anteriormente en el TextArea.

Código:
Public Sub btnPegar_Click()

  'Solo texto normal no URis
  Me.Title = "Pegando texto en TextArea"
  TextArea1.Text &= Clipboard.Paste()
 ....

End

Saludos
Última modificación: Ayer, 14:24 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Turriano   Ayer, 22:38
#8
Voy a probar...

Voy a probar...

No funciona.
Doy click y luego al pegar, no pega nada.
Última modificación: Ayer, 23:23 por Turriano.
Turriano   Ayer, 23:47
#9
[quote pid="9568" dateline="1744451548"]
Esta es una captura d lo que hice
https://ibb.co/bMmX1zLK

[Imagen: bMmX1zLK]

[/quote]
Última modificación: Ayer, 23:52 por Turriano.
vuott   Hace 9 horas
#10
A mi funciona.

« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)

« Las ondas nunca regresan. » (Genesis: Ripples, 1976)

« Vita non suavis esse potest, nec Mors amara. »  (...vuott)
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.