Page 1 of 1

Añadir cadenas de texto RTF a un texto rtf

Posted: Wed Jul 22, 2020 10:57 am
by groiss
Buenos días, voy a explicarlo un poquito
Tengo en un diálogo un objeto Richtext, en cual está simpre en modo readonly, ya que a él solo se añaden apuntes, en lo que aparece de forma automática fecha, hora y usuario que añade el comentario, este comentario se añade desde otro objeto Richtext tras pulsar el boton de añadir el comentario

Code: Select all

* ogetnom[21] es el objeto richtext
* vobserva es la variable que contiene el texto
redefine button obtn10 id 118 OF ofold:adialogs[5]  action { anadetexto(ogetnom[21]), vobserva:=ogetnom[21]:saveasrtf(),ogetnom[21]:refresh()}
 
Aquí está como mezclo lo que entra el usuario con lo que ya había

Code: Select all

* persona es la variable que tiene el nombre del usuario
function anadetexto(objeto)

local nuetexto:="", odlg, oget , obtn1,obtn2,cadena:=CRLF+alltrim(persona)+" "+dtoc(date())+" "+time()+CRLF+CRLF+CRLF
define dialog odlg resource "entratex" font supfont  BRUSH OBRUSH transparent
REdefine ButToN obtn1 id 222 DIALOG odlg action {oget:setpos(0),oget:insertrtf(cadena),oget:selectall(),oget:copy(),;
    objeto:setreadonly(.f.),objeto:refresh(),objeto:setpos(objeto:len()),objeto:paste(),objeto:setreadonly(.t.),odlg:end()}
redefine button obtn2 id 223 dialog odlg action nuetexto:="",odlg:end()
REdefine richedit oget var nuetexto id 1000 DIALOG odlg
activate dialog odlg centered on init oget:setfocus()

return nil
 
Como veis la forma de hacer la unión de ambos textos es usando el portapapeles, se podría hacer de alguna otra forma para evitar el uso del portapapeles?

Desde ya mi agradecimiento
José Luis

Re: Añadir cadenas de texto RTF a un texto rtf

Posted: Wed Jul 22, 2020 10:35 pm
by cnavarro
Lo natural sería utilizar la function
REINSERTRTF5( oRTF:hWnd, cText )
en la posición en la que te sitúes
Tienes ejemplos sobre este tema y más complejos en la carpeta samples: TESTRTF5.PRG

Re: Añadir cadenas de texto RTF a un texto rtf

Posted: Thu Jul 23, 2020 7:28 am
by groiss
Cristobal, muchisimas gracias por la información y ya puestos hacerte una pregunta he visto en el ejemplo que me has indicado que existe una función Richedit(), ¿estan sus fuentes en la distribución de Fivewin?
Muchas gracias.
Un saludo
José Luis

Re: Añadir cadenas de texto RTF a un texto rtf

Posted: Thu Jul 23, 2020 8:21 am
by cnavarro
Las funciones RichEdit() y RichEdit5() están en .\source\function\Memoedit.prg

Re: Añadir cadenas de texto RTF a un texto rtf

Posted: Thu Jul 23, 2020 9:04 am
by groiss
Nuevamente mi agradecimiento.
Un saludo
José Luis