# Necesito copiar el texto de una variable al Portapapeles

**URL:** <https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812>\
**Category:** Velneo\
**Created:** [4 Abril, 2016 16:49 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812 "2016-04-04T16:49:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![desarrollosvfp](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/desarrollosvfp/32/4064_2.png) [@desarrollosvfp](https://foros.velneo.com/u/desarrollosvfp)\
**Post date:** [4 Abril, 2016 16:49 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/1 "2016-04-04T16:49:52Z")

</div>

Hola mis amigos. Una ayudita por favor 😉  
Tengo una variable Alfabética y necesito copiar su contenido al Portapapeles.

En Visual FoxPro era algo como: \_CLIPTEXT= m.VariableAlfabetica  
Y listo, ya se podía pegar el texto en cualquier parte con CTRL+V

Por favor, ojalá que la solución sea multplataforma.  
Muchas gracias por la colaboración.

---

<div class="post-metadata">

**Author:** ![Miguel.arhes](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/miguel.arhes/32/5555_2.png) [@Miguel.arhes](https://foros.velneo.com/u/Miguel.arhes)\
**Post date:** [4 Abril, 2016 17:49 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/2 "2016-04-04T17:49:24Z")

</div>

Mira esto [https://velneo.es/foros/topic/simular-controlc-copiar/](https://velneo.es/foros/topic/simular-controlc-copiar/)

Saludos.  
Miguel.

PD: Aprovechad las búsquedas del foro.

---

<div class="post-metadata">

**Author:** ![desarrollosvfp](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/desarrollosvfp/32/4064_2.png) [@desarrollosvfp](https://foros.velneo.com/u/desarrollosvfp)\
**Post date:** [5 Abril, 2016 17:27 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/3 "2016-04-05T17:27:49Z")

</div>

Gracias Mgalvezh.

La opción que me recomiendas exige abrir un Formulario que contenga un “Control de Edición Alfabética” con el texto a copiar.

Lo que necesito es que dentro de un Proceso (sin necesidad de abrir un formulario) se pueda copiar el contenido de una Variable Alfabética hacia el Portapapeles.

Supongo que se debe crear una función JavaScript a la cual pasarle la Variable Alfabética como parámetro.

Gracias.

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [5 Abril, 2016 18:00 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/4 "2016-04-05T18:00:17Z")

</div>

Buenas, en windows tienes disponible el comando clip, solo tendrías que redirigir la salida al comando para que la capture.

[http://www.labnol.org/software/copy-command-output-to-clipboard/2506/](http://www.labnol.org/software/copy-command-output-to-clipboard/2506/)

---

<div class="post-metadata">

**Author:** ![desarrollosvfp](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/desarrollosvfp/32/4064_2.png) [@desarrollosvfp](https://foros.velneo.com/u/desarrollosvfp)\
**Post date:** [5 Abril, 2016 18:57 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/5 "2016-04-05T18:57:55Z")

</div>

Gracias Wikan.

Según esto, habría que crear un archivo de texto con el contenido de la Variable Alfabética  
(por ejemplo: aux\_clip.txt en sysCacheClientPath o en tempPath() ).

Y luego ejecutar en esa ruta el comando de MS-DOS: type auxiliar.txt | clip

Esta ya es una solución. Hasta se podría crear una función de Velneo para ese fin pasándole la variable alfabética.

Lo único malo es que no sería multiplataforma ☹

Qué otra opción tenemos…

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [5 Abril, 2016 20:06 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/6 "2016-04-05T20:06:55Z")

</div>

Hola desarrollosvfp.

Efectívamente, el único método que hay en Velneo es usando la función copy() del VTextEdit o VLineEdit del API.  
Como otras veces, podemos recurrir a una chapucilla con javascript:

- Crea un Formulario FRM\_CLIP con una Caja de Texto cuyo contenido sea la Variable local CTEXTO
- En el evento POS\_INI ejecuta un Manejador de javascript COPIAR\_TEXTO\_JS

```auto

// Seleccionamos el Texto de la Caja y copiamos al portapapeles
var oForm = theRoot.dataView()
// Solo podemos acceder a los controles en el evento POS_INI
var oTexto = oForm.control("TXT_TEXTO")
// Seleccionamos el texto de la Caja
oTexto.selectAll()
// Copiamos al portapapeles
oTexto.copy()
// Cerramos el formulario
oForm.cancel()

```

- Fija el Ancho y Alto del control y formulario a 0 para que no se vea en pantalla

- En el Estilo quita la barra de Título y Botones (marca todos los Sin…)

- En el proceso principal ejecuta un código javascript como el siguiente:

```auto

// Instanciamos el formulario FRM_CLIP
var oForm = new VDataViewDialog(theRoot)
oForm.setDataView(VObjectInfo.TypeForm, "proy_app/FRM_CLIP")
// Le pasamos el Texto a copiar al portapapeles
oForm.setVar("CTEXTO", "texto a copiar")
// Ejecutamos el formulario (no se mostrará nada porque el tamaño es cero)
oForm.exec()

```

Y ahora la bronca a Velneo, “y todo este rollo por no disponer de una función nativa StringToClip(string) y no creo que la excusa sea que no es multiplataforma”.

Pruébalo  
Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [5 Abril, 2016 21:30 UTC](https://foros.velneo.com/t/necesito-copiar-el-texto-de-una-variable-al-portapapeles/8812/7 "2016-04-05T21:30:25Z")

</div>

En [este](http://stackoverflow.com/questions/5130968/how-can-i-copy-the-output-of-a-command-directly-into-my-clipboard) post se explica como hacerlo para linux y osx
