FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour BBCode para Edit - Memo
Posts: 50
Joined: Tue Feb 02, 2021 10:21 PM

BBCode para Edit - Memo

Posted: Fri Jun 18, 2021 08:21 PM
Hola foro,

Me preguntaba... Hay alguna forma de rellenar un EDIT o MEMO con información con BBCode (<b></b> para negrita, <u></u> para subrayado, etc...)?

O de cambiar interactivamente ciertas cosas dentro de un get multilinea?

El usuario final no va a modificar NADA, es solamente para mostrar un conjunto de mensajes. Osea que usar "<b>"+field->nombre+"</b> <i>escribio hace <u>"+ field->horas +"horas:</u> </i>"

Resultado esperado:

Nicolás nuevo escribio hace 3 horas:
¡Hola Mundo! Este es mi ejemplo
----------------------------------------------------------------------------------------
Pedro nuevo escribio hace 1 hora:
¡Hola! ¿Como estas?
----------------------------------------------------------------------------------------
Nicolás
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM

Re: BBCode para Edit - Memo

Posted: Fri Jun 18, 2021 11:33 PM

Puedes plantearte usar un control RICHEDIT, aunque evidentemente tendrías que realizar en la cadena del mensaje un STRTRAN de los tags que te vienen del BBCODE a los tags que utiliza el RICHEDIT.

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM

Re: BBCode para Edit - Memo

Posted: Mon Jun 21, 2021 09:54 AM
An easy way is the save it as a temporary HTML file and view it as HTML.

Example:
Code (fw): Select all Collapse
   local cText := "Normal <b>Bold text</b> <i>this is italics</i> again normal"
   local oDlg, oActivex

   HB_MEMOWRIT( "temp.html", "<html><body>" + cText + "</body></html>" )

   DEFINE DIALOG oDlg SIZE 300,300 PIXEL TRUEPIXEL

   @ 20,20 ACTIVEX oActivex PROGID "Shell.Explorer.2" SIZE 260,260 OF oDlg

   oDlg:bInit := { || oActivex:Navigate2( TrueName( "temp.html" ) ) }

   ACTIVATE DIALOG oDlg CENTERED




oDlg:bInit := { || oActivex:Navigate2( TrueName( "temp.html" ) ) }
Regards



G. N. Rao.

Hyderabad, India
Posts: 50
Joined: Tue Feb 02, 2021 10:21 PM

Re: BBCode para Edit - Memo

Posted: Tue Jun 22, 2021 02:03 PM

Mr Rao.,

Thanks a lot, it's what I'm looking for!

Nicolás

Continue the discussion