Mostrar campo memo que contiene texto RTF en RICHEDITBOX
Moderator: Rathinagiri
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
A manera de información, el tema de editar campos memos como RTF sin tener que grabar un fichero temporal RTF en el disco duro, migré la aplicación a Minigui Extended y funciona bien. Vamos a esperar en HMG una alternativa a eso en el futuro. Ahi nos adaptaremos a Miniwriter o una versión mejorada.
Julio Meza.
Julio Meza.
- 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 Inacihn, estoy utilizando esta parte para crear el fichero RTF.., pero he detectado un problema con los acentos..., me los cambia por otro caracteres.
Por ejempo "M.Pensión" se transforma en "M.Pensión"
¿sabes eso a que es debido..?
La configuración al español la tengo bien.
Gracias.
Por ejempo "M.Pensión" se transforma en "M.Pensión"
¿sabes eso a que es debido..?
La configuración al español la tengo bien.
Gracias.
inacihn wrote: ↑Wed Dec 05, 2018 1:22 am El procedimiento que actualmente uso es el siguiente:
En minigui extended eso está resuelto, pero prefiero mantenerme en HMG Oficial.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
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
Tiene que agregar la selección de lenguaje al español. Los RTF del Richedtibox son Ansi.
Funciona bien, si la base de datos es 1252 Ansi.
Adjunto el Demo en el que puede hacer pruebas quitando poniendo el lenguaje Español.
El ejecutable demo.exe va sin la selección del lenguaje español. En el demoSP.exe va con el español y también en el demo.prg ya va incluido. (Se incluye Const.dbf y Const.fpt)
Salud.
Code: Select all
***CODIGO DE PAGINA español***
REQUEST HB_CODEPAGE_ESWIN
HB_SETCODEPAGE("ESWIN")
REQUEST HB_LANG_ESWIN
HB_LANGSELECT( "ESWIN")
Adjunto el Demo en el que puede hacer pruebas quitando poniendo el lenguaje Español.
El ejecutable demo.exe va sin la selección del lenguaje español. En el demoSP.exe va con el español y también en el demo.prg ya va incluido. (Se incluye Const.dbf y Const.fpt)
Salud.
- Attachments
-
- RichEditBox.rar
- (2.65 MiB) Downloaded 204 times
- 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
Gracias Inacihn..., funciona.
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.
- 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 OTRA VEZ...,
YA LO HE PROBADO, Y NO ME FUNCIONAN LOS GRAFICOS CON HMG3.4.4 USADO BAJO XP Y WINDOW 7...
ALGUIEN SABE PORQUE...?
ANDRES, EL FICHERO QUE ME HAS PASADO NO CONSIGO VER LAS FOTOS.
ES POSIBLE QUE SEA PROBLEMA DE S.O.
GRACIAS
YA LO HE PROBADO, Y NO ME FUNCIONAN LOS GRAFICOS CON HMG3.4.4 USADO BAJO XP Y WINDOW 7...
ALGUIEN SABE PORQUE...?
ANDRES, EL FICHERO QUE ME HAS PASADO NO CONSIGO VER LAS FOTOS.
ES POSIBLE QUE SEA PROBLEMA DE S.O.
GRACIAS
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
Ya probaste esto publicado en este mismo post:
"Hola Andrés y Salinetas:
Probé con un RTF en que agregué una imagen, con WORDPAD, en el Miniwriter no funcionó, no solo no mostró la imagen, simplemente la borró.
Luego probé el RTF con la misma imagen agregada con WORDPAD y posteriormente la abrí con MSWORD 2016 le hice un simulacro de modificación y la grabé como RTF y realmente funciona perfecto. Grabarla con MSWORD es la solución. Uso W8.1.
Buen trabajo Andrés.
Saludos
Julio"
Al final la conclusión es que un RTF grabado en WORDPAD no tiene la misma estructura que uno grabado en Microsoft Office. Cuando expreso "simplemente la borró", significa que con solo ver el RTF en Miniwriter y sin grabar, al abrirlo en el WORDPAD la imagen ya no aparece.
.
Esa ha sido la actitud de Microsoft siempre, desde sus inicios.
Salud.
Julio Meza
"Hola Andrés y Salinetas:
Probé con un RTF en que agregué una imagen, con WORDPAD, en el Miniwriter no funcionó, no solo no mostró la imagen, simplemente la borró.
Luego probé el RTF con la misma imagen agregada con WORDPAD y posteriormente la abrí con MSWORD 2016 le hice un simulacro de modificación y la grabé como RTF y realmente funciona perfecto. Grabarla con MSWORD es la solución. Uso W8.1.
Buen trabajo Andrés.
Saludos
Julio"
Al final la conclusión es que un RTF grabado en WORDPAD no tiene la misma estructura que uno grabado en Microsoft Office. Cuando expreso "simplemente la borró", significa que con solo ver el RTF en Miniwriter y sin grabar, al abrirlo en el WORDPAD la imagen ya no aparece.
.
Esa ha sido la actitud de Microsoft siempre, desde sus inicios.
Salud.
Julio Meza
Re: Mostrar campo memo que contiene texto RTF en RICHEDITBOX
En windows 7 definitivamente no funciona. Asi es la estrategia comercial de Bill, lo que funciona para windows 7 no funciona para windows 8, 10... y viceversa.
Ni modos.
Ni modos.
- 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
Bueno.., pues llegados a este punto y dado que nadie está obligado a trabajar con el S.O. que Billy "el Puertas" quiera me gustaría dar una solución para mostrar un gráfico cuando se genera el "PDF", un membrete en la parte de arriba. A ver si alguien me ayuda.
He visto que tenemos esto :
La idea sería lo mismo pero en lugar de imprimirlo al pie de pagina, hacerlo al principio y con un BMP., como se hace en la clase T_report
//--> Esta línea el de T_Report
oprint:printimage(nfi,nci+repobject:nlmargin,nff,ncf+repobject:nlmargin,cgraphic)
Quizás alguien con más experiencia y conocimientos me pueda indicar ...
Muchas gracias y cervezas para todos... (fresquitas..)
He visto que tenemos esto :
Lo cual añade al final de la carta la paginación y cada vez que imprime la ejecuta. Se encuentra en \SOURC\H_RICHEDITBOX.PRG- PrintPageCodeBlock is a code block that is executed to send each page of the document to the printer,
e.g. PrintPageCodeBlock := { || @ nRow , nCol PRINT "Pag. " + HB_NTOS( nPag++ ) CENTER }
Code: Select all
START PRINTDOC
DO WHILE nNextChar < nTextLength
START PRINTPAGE
EVAL ( PrintPageCodeBlock )
nNextChar := RichEditBox_FormatRange ( hWndControl, OpenPrinterGetPageDC(), nLeft, nTop, nRight, nBottom, aSelRange )
aSelRange [1] := nNextChar
DO EVENTS
END PRINTPAGE
ENDDO
END PRINTDOC
//--> Esta línea el de T_Report
oprint:printimage(nfi,nci+repobject:nlmargin,nff,ncf+repobject:nlmargin,cgraphic)
Quizás alguien con más experiencia y conocimientos me pueda indicar ...
Muchas gracias y cervezas para todos... (fresquitas..)
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
Traten esto:
1.- Abrir Miniwriter
2.- Ir la carpeta de la imagen que quieren incluir, y darle doble click
para que se muestre en el visor de default, dar boton derecho y COPIAR.
3.- Ir a miniwriter, posicionarte en Ren. y Col. donde quieres insertar la
imagen y boton derecho y PEGAR.
4.- Salvar el archivo .RTF y volover abrir el Miniwriter.
(La imagen se puede alinear dandole Click con el botón derecho.)
*-----------------------------------------------------------------------------------------------
Try this:
1.- Open Miniwriter
2.- Go to the folder of the image you want to include, and double click
so that it shows in the default viewer, give right button and COPY.
3.- Go to miniwriter, position yourself in Ren. and Col. where you want to insert the
image and right button and PASTE.
4. Save the .RTF file and open the Miniwriter again.
(The image can be aligned by clicking on it with the right button.)
1.- Abrir Miniwriter
2.- Ir la carpeta de la imagen que quieren incluir, y darle doble click
para que se muestre en el visor de default, dar boton derecho y COPIAR.
3.- Ir a miniwriter, posicionarte en Ren. y Col. donde quieres insertar la
imagen y boton derecho y PEGAR.
4.- Salvar el archivo .RTF y volover abrir el Miniwriter.
(La imagen se puede alinear dandole Click con el botón derecho.)
*-----------------------------------------------------------------------------------------------
Try this:
1.- Open Miniwriter
2.- Go to the folder of the image you want to include, and double click
so that it shows in the default viewer, give right button and COPY.
3.- Go to miniwriter, position yourself in Ren. and Col. where you want to insert the
image and right button and PASTE.
4. Save the .RTF file and open the Miniwriter again.
(The image can be aligned by clicking on it with the right button.)
Andrés González López
Desde Guadalajara, Jalisco. México.
Desde Guadalajara, Jalisco. México.
- 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
Gracias Andrés.., a copiar y pegar llegamos.. jajajaja.. pero que sepas que no funciona.
Creo que es un problema de la API esa del Windons... y de sus incompabilidades.
Pero dado que cuando creo un REPORT o un PDF si que puedo insertar una imagen.., la mejor solución para poner una especie de membrete, creo que seria la que yo indico.., pero no se como hacerlo.
Una vez le damos a imprimir y antes de visionarlo, insertar la imagen.. como en la clase REPORT.., pero no tengo n.p.i.
Creo que es un problema de la API esa del Windons... y de sus incompabilidades.
Pero dado que cuando creo un REPORT o un PDF si que puedo insertar una imagen.., la mejor solución para poner una especie de membrete, creo que seria la que yo indico.., pero no se como hacerlo.
Una vez le damos a imprimir y antes de visionarlo, insertar la imagen.. como en la clase REPORT.., pero no tengo n.p.i.
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no.