Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Moderator: Rathinagiri
Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Hola,
Necesito mostrar el contenido de un campo memo, guardado con formato de texto RTF, directamente en el RICHEDITBOX. Sin tener que crear un file.rtf en el hd.
Gracias de antemano, por su atención.
Julio
Necesito mostrar el contenido de un campo memo, guardado con formato de texto RTF, directamente en el RICHEDITBOX. Sin tener que crear un file.rtf en el hd.
Gracias de antemano, por su atención.
Julio
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
El procedimiento que actualmente uso es el siguiente:
En minigui extended eso está resuelto, pero prefiero mantenerme en HMG Oficial.
Julio
Code: Select all
Function Cargarmemo()
Local nBO
nBO := Const->det
IF SUBSTR(nBO, 1, 7) == "{\rtf1\"
IF (nHandle := FCREATE("Temp.rtf", FC_NORMAL)) == -1
MsgExclamation ( "Error" )
BREAK
ELSE
FWRITE(nHandle, nbo)
FCLOSE(nHandle)
ENDIF
Form_1m.RichEditBox_1.RTFLoadFile ( "Temp.rtf" , 4, .F. )
ENDIF
Return Nil
Julio
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Creo que sin el paso a archivo, no se puede.
Tal vez si pruebas...
Tal vez si pruebas...
Code: Select all
@ <nRow>,<nCol> RICHEDITBOX <ControlName>
[ OF | PARENT> <ParentWindowName> ]
[ WIDTH <nWidth> ]
[ HEIGHT <nHeight> ]
[ FIELD <Field> ] // = Const->det
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Lamentablemente solo funciona para texto plano, simple. Para RTF no es funcional. En la versión extended funciona en forma directa, este es el código que se usa,
Code: Select all
Function Mostrarmemop()
Local nBO, cBuffer:=''
nBO := const -> det
cBuffer:= nBO
mmemo := ( 'Memomel_6', 'Win_1', cBuffer )
Win_1.Memomel_6.Value := mmemo
Win_1.Memomel_6.show
Return NIL
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Hola, tengo un par de preguntas sobre RichEditBox.
1/Hay alguna forma de que cuando se genera el texto en una variable y se vaya a editar, ya se pueda mostrar parte del mismo en negrita, itálica, mas grande.., etc. ?
2/Creo que no se pueden mostrar gráficos en la edición, pero a la hora de imprimir.., ¿se le pueden agregar como cabecera o final de página..?
3/Por mantener una uniformidad.., cuando le damos a imprimir.., ¿se puede mostrar la misma pantalla que se muestra en la clase TBROWSE, para elegir impresora o formato de salida.?
Muchas gracias a todos y una cervecita fresquita.
1/Hay alguna forma de que cuando se genera el texto en una variable y se vaya a editar, ya se pueda mostrar parte del mismo en negrita, itálica, mas grande.., etc. ?
2/Creo que no se pueden mostrar gráficos en la edición, pero a la hora de imprimir.., ¿se le pueden agregar como cabecera o final de página..?
3/Por mantener una uniformidad.., cuando le damos a imprimir.., ¿se puede mostrar la misma pantalla que se muestra en la clase TBROWSE, para elegir impresora o formato de salida.?
Muchas gracias a todos y una cervecita fresquita.
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Hola Salinetas
Creo que estamos confundidos...
Porque no pruebas los ejemplos de:
HMG\3.4.4\SAMPLES\Controls\RichEditBox
HMG\3.4.4\SAMPLES\Applications\MiniWriter
TIP
Puedes hacer un documento en WORD como gustes y luego lo guardas
como Formato .RTF y luego lo puedes leer en cualquiera de estos 2 ejemplos.
Creo que estamos confundidos...
Porque no pruebas los ejemplos de:
HMG\3.4.4\SAMPLES\Controls\RichEditBox
HMG\3.4.4\SAMPLES\Applications\MiniWriter
TIP
Puedes hacer un documento en WORD como gustes y luego lo guardas
como Formato .RTF y luego lo puedes leer en cualquiera de estos 2 ejemplos.
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
En la Function Cargarmemo() que publiqué previamente el texto del campo memo (en formato rtf o en texto plano) lo guardo en una variable y lo grabo en el disco duro como "temp.rtf" para posteriormente editarlo con cualquiera de los ejemplos: richeditbox, miniwriter y WordScribe.
Si usamos cualquiera de los ejemplos hay que considerar que al seleccionar texto, éste cambía a una sola fuente y tamaño de letra, la solución temporal a eso también lo publiqué en mi post anterior.
Mi necesidad, por lograr lo mejor, es evitar tener que grabar un archivo en el disco duro.
En la versión Extended si se hace, sin embargo sus ejemplos tienen el mismo problema al seleccionar texto e intencionalmente son incompletos.
El uso de imágenes en todos los ejemplos no es viable.
Saludos.
Si usamos cualquiera de los ejemplos hay que considerar que al seleccionar texto, éste cambía a una sola fuente y tamaño de letra, la solución temporal a eso también lo publiqué en mi post anterior.
Mi necesidad, por lograr lo mejor, es evitar tener que grabar un archivo en el disco duro.
En la versión Extended si se hace, sin embargo sus ejemplos tienen el mismo problema al seleccionar texto e intencionalmente son incompletos.
El uso de imágenes en todos los ejemplos no es viable.
Saludos.
- SALINETAS24
- Posts: 667
- Joined: Tue Feb 27, 2018 3:06 am
- DBs Used: DBF
- Contact:
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Hola Andy, gracias por contestar pero ¿...y si lo hago en WORD.., para que quiero el RICHEDITBOX...?.
1/ Lo que quiero es usar precisamente RICHEDITBOX sin pasar por el WORD. Necesito incorporar a un texto predefinido, que contiene algunas partes variables que son tomadas de una DBF y que deberián ser mostrados NEGRITA o CURSIVA. El programa genera una especie de Carta y me gustaría saber si se puede incorporar en la variable que va a contener el texto los comando para mostrar en negrita, italica,etc., etc. En un antiguo procesador de texto que me curre en clipper lo hacia asi :
Hola.., ^Nesto seria negrita^n, y ahora se quitaría, y si ponia la ^Ierá la cursivaî
2/ Y lo segundo.., imprimir una imagen..., ni en RICHEITBOX ni en MINIWRITE, pueden mostrar una imagen, tal y como indican los compañeros son procesadores planos.., pero yo no quiero mostrarla.., quiero imprimirla en la cabecera del texto a imprimir. Posiblemente se podrá incorporar en alguna de estas líneas un ".BMP"
Igual alguien lo ha probado y tiene alguna solución...
Muchas gracias y cervezas fresquitas..., para todos.
1/ Lo que quiero es usar precisamente RICHEDITBOX sin pasar por el WORD. Necesito incorporar a un texto predefinido, que contiene algunas partes variables que son tomadas de una DBF y que deberián ser mostrados NEGRITA o CURSIVA. El programa genera una especie de Carta y me gustaría saber si se puede incorporar en la variable que va a contener el texto los comando para mostrar en negrita, italica,etc., etc. En un antiguo procesador de texto que me curre en clipper lo hacia asi :
Hola.., ^Nesto seria negrita^n, y ahora se quitaría, y si ponia la ^Ierá la cursivaî
2/ Y lo segundo.., imprimir una imagen..., ni en RICHEITBOX ni en MINIWRITE, pueden mostrar una imagen, tal y como indican los compañeros son procesadores planos.., pero yo no quiero mostrarla.., quiero imprimirla en la cabecera del texto a imprimir. Posiblemente se podrá incorporar en alguna de estas líneas un ".BMP"
Code: Select all
PrintPageCodeBlock := { || @ nRow , nCol PRINT "Pag. " + HB_NTOS( nPag++ ) CENTER }
Edit_1.RichEditBox_1.RTFPrint ( aSelRange, nLeft, nTop, nRight, nBottom, PrintPageCodeBlock )
Muchas gracias y cervezas fresquitas..., para todos.
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Y si tienes Excel, para que quieres un GRID...?Hola Andy, gracias por contestar pero ¿...y si lo hago en WORD.., para que quiero el RICHEDITBOX...?.
Ya probaste los ejemplos que te comente ?
Con ellos, tienes un editor como "Word" dentro de HMG y tal como manejas Word,
los vas a manejar igualmente. ( Obviamente con sus limitaciones )
Lo de la prueba de Word, lo comenté porque tanto el "Word", como "WordPad", etc
te manejan archivos .RTF que los puedes leer y editar dentro de RichEditBox.
Si quieres hacerlo con "variables" tendrás que utilizar HPDF. (que no es EDITOR)
HMG\3.4.4\SAMPLES\HPDF\Demo1
Te equivocas, has la prueba que te comento en Word y ponle a tu texto NEGRITAS, ITALICAS ,ni en RICHEITBOX ni en MINIWRITE, pueden mostrar una imagen, tal y como indican los compañeros son procesadores planos
TACHADAS e inserta una imagen, guardalo como .RTF y leelo dentro de Miniwrite.
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Me hiciste recordar la epoca de WordStar...Hola.., ^Nesto seria negrita^n, y ahora se quitaría, y si ponia la ^Ierá la cursivaî
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.