Estimados,
Se me presenta esta situación y no se por donde comenzar.
Tengo una pequeñisima aplicación que lo único que hace es presentar un TDBBrowse en un Form.
Esa apicación la ejecuto automáticamente cuando un usuario se logea a una sesión de escritorio remoto, de forma tal que en esa sesión solo se puede ver el browse con sus columnas y filas, recorrerlas y ordenarlas ascendente o descendentemente.
Pues bien, el cliente me solicita que pueda marcar las celdas que le interesan (filas enteras, una o varias) y poder copiarlas y pegarlas por ejemplo en una planilla excel que tenga abierta en su equipo. El inconveniente que tengo está en que no se como implementar la opción de copiar y pegar. Como pequeña aclaración tengo bien presente que debo configurar la sesión de RDP para que comparta el "portapapeles" de manera de poder "traer" datos hacia el equipo cliente.
He buscado en el foro con diferentes filtros (copiar y pegar, cut&paste, etc.) alguna ayuda pero no e conseguido nada, tambien revisé los ejemplos de Xailer y no tuve suerte, seguramente porque no busque correctamente.
Necesitaría de la amabilidad de alguien para que me oriente como empezar en ese tema.
Desde ya muchas gracias
Daniel
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Copiar y Pegar
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Copiar y Pegar
Buenos días,
Primeramente deberá utilizar el estilo TBrowse:nMarqueeStyle = bmHIGHLROWMS. De esta forma el usuario podrá marcar las filas que necesite copiar. Una vez mercadas deberá tener un botón para generar un archivo de texto con dichas filas seleccionadas. Los números de registro de las filas seleccionadas los puede recuperar con la matriz TBrowse:aSelected que le devuelve una matriz con los recnos() del origen de datos.
Para crear la cadena de texto le recomiendo que ponga un tabulador (Chr(9)) entre cada campo y luego un cambio de línea (CRLF) entre cada registro. De esta forma Excel es capaz de pegarlo correctamente. A continuación simplemente use este código, donde 'cMiCadenaDeTexto' es la cadena donde ha incluido toda la información.
Gracias por tener una suscripción activa con nosotros. Ha sido un placer poder ayudarle.
Un saludo
Primeramente deberá utilizar el estilo TBrowse:nMarqueeStyle = bmHIGHLROWMS. De esta forma el usuario podrá marcar las filas que necesite copiar. Una vez mercadas deberá tener un botón para generar un archivo de texto con dichas filas seleccionadas. Los números de registro de las filas seleccionadas los puede recuperar con la matriz TBrowse:aSelected que le devuelve una matriz con los recnos() del origen de datos.
Para crear la cadena de texto le recomiendo que ponga un tabulador (Chr(9)) entre cada campo y luego un cambio de línea (CRLF) entre cada registro. De esta forma Excel es capaz de pegarlo correctamente. A continuación simplemente use este código, donde 'cMiCadenaDeTexto' es la cadena donde ha incluido toda la información.
Código: Seleccionar todo
WITH OBJECT TClipBoard():Create( Self )
IF :Open()
:Empty()
:SetText( cMiCadenaDeTexto )
ENDIF
:End()
END
Un saludo
Re: Copiar y Pegar
Ignacio,
Muchas gracias por la rápida respuesta, trabajaré en ello tal cual su ayuda y le comentaré como me fue.
Un saludos
Daniel
Muchas gracias por la rápida respuesta, trabajaré en ello tal cual su ayuda y le comentaré como me fue.
Un saludos
Daniel
Re: Copiar y Pegar
Ignacio,
Ya tengo funcionando correctamente la opción de copiar y pegar, no obstante quisiera consultarle lo siguiente:
Ud. me suguiere que cree un archivo de texto lo cual hice y se genera correctamente, pero ¿cuál es la función de dicho archivo?, dado que el método :SetText() de la clase TclipBoard, coloca en el portapapeles la cadena que se le pase como parámetro.
Ante la duda de porqué generar el txt hice dos pruebas, primeramente le pasé como parámetro el nombre del archivo y lo que copia al portapeles es el propio nombre, y segundo le pasé la cadena que se genera "en memoria" dentro de una variable de texto y ahí sí, puede copiar correctamente los datos seleccionados.
¿Podra haber algún problema si la cantidad de datos a copiar es muy grande?
Desde ya muchas gracias
Daniel
Ya tengo funcionando correctamente la opción de copiar y pegar, no obstante quisiera consultarle lo siguiente:
Ud. me suguiere que cree un archivo de texto lo cual hice y se genera correctamente, pero ¿cuál es la función de dicho archivo?, dado que el método :SetText() de la clase TclipBoard, coloca en el portapapeles la cadena que se le pase como parámetro.
Ante la duda de porqué generar el txt hice dos pruebas, primeramente le pasé como parámetro el nombre del archivo y lo que copia al portapeles es el propio nombre, y segundo le pasé la cadena que se genera "en memoria" dentro de una variable de texto y ahí sí, puede copiar correctamente los datos seleccionados.
¿Podra haber algún problema si la cantidad de datos a copiar es muy grande?
Desde ya muchas gracias
Daniel
- ignacio
- Site Admin
- Mensajes: 9253
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Copiar y Pegar
Buenos días,
Quise decir cadena de texto.
Un saludo
Quise decir cadena de texto.
Un saludo
Re: Copiar y Pegar
Quedó claro.
Muchas gracias
Saludos
Daniel
Muchas gracias
Saludos
Daniel