Page 1 of 3
Consulta RICHEDIT
Posted: Tue Feb 12, 2019 8:39 pm
by remtec
Amigos
Muy buenas tardes.
Estoy probando la RichEdit, con Fwh 17.09 y Harbour, he cargado la Variable cTxt, con el contenido de unos registros de una Dbf, puedo realizar cambios o actualizaciones sobre el Texto, tales como diferentes Font y Tamaños de Letras en pantalla, pero no logro obtener la variable con el contenido actualizado, para grabarlo en la DBF.
Necesito saber de que forma puedo obtener el contenido actualizado de la variable??
Desde ya muchas gracias.
Atte.
Antonio
Este es el código que estoy usando:
Code: Select all | Expand
// FWH and FW++ RichEdit sample
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oRich
local hRichDLL := LoadLibrary( "riched20.dll" )
local lSyntaxHL := .f.
Static cTxt := ""
Static aa
USE DETALLE
go top
WHILE !EOF()
cTxt += deinfec->COD_DET + CHR( 13 )
SKIP
ENDDO
CLOSE
DEFINE DIALOG oDlg RESOURCE "#100"
oRich = TRichEdit():Redefine( 100, { || "" }, oDlg )
oRich:lHighLight = .f.
REDEFINE BUTTON ID 110 ;
ACTION oRich:SetText(cTxt )
REDEFINE CHECKBOX lSyntaxHL ID 115 OF oDlg ;
ON CHANGE ( oRich:lHighLight := lSyntaxHL,;
oRich:SetText( oRich:GetText() ) )
REDEFINE BUTTON ID 120 ;
ACTION oRich:LoadFromRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf" ) )
REDEFINE BUTTON ID 130 ;
ACTION oRich:SaveToRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf",;
"Please write a filename", "test" ) )
REDEFINE BUTTON ID 998 ACTION ( oRich:GoToLine( 10 ), oRich:SetFocus() )
ACTIVATE DIALOG oDlg CENTERED ;
// ON INIT oRich:AutoURLDetect( .t. )
FreeLibrary( hRichDLL )
return nil
Re: Consulta RICHEDIT
Posted: Tue Feb 12, 2019 9:20 pm
by cnavarro
Yo prefiero utilizar TRichEdit5, pero prueba asi
Code: Select all | Expand
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oRich
local hRichDLL := LoadLibrary( "riched20.dll" )
local lSyntaxHL := .f.
local cTxt := ""
USE CUSTOMER
go top
WHILE !EOF()
cTxt += customer->First + Chr( 9 ) + customer->Last + CHR( 13 )
SKIP
ENDDO
CLOSE
DEFINE DIALOG oDlg RESOURCE "Test"
oRich = TRichEdit():Redefine( 100, bSETGET( cTxt ), oDlg )
oRich:lHighLight = .f.
REDEFINE BUTTON ID 110 ;
ACTION ( oRich:SetText( cTxt ) )
REDEFINE CHECKBOX lSyntaxHL ID 115 OF oDlg ;
ON CHANGE ( oRich:lHighLight := lSyntaxHL,;
oRich:SetText( oRich:GetText() ) )
REDEFINE BUTTON ID 120 ;
ACTION oRich:LoadFromRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf" ) )
REDEFINE BUTTON ID 130 ;
ACTION oRich:SaveToRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf",;
"Please write a filename", "test" ) )
REDEFINE BUTTON ID 998 ACTION ( oRich:GoToLine( 10 ), oRich:SetFocus() )
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT oRich:SetText( cTxt ) ;
VALID ( cTxt := oRich:GetText(), .T. )
MemoEdit( cTxt )
FreeLibrary( hRichDLL )
return nil
//----------------------------------------------------------------------------//
Re: Consulta RICHEDIT
Posted: Wed Feb 13, 2019 12:14 am
by remtec
Hola C. Navarro
Muchas gracias por responder.
Aplique tu codigo, como resultado solo actualizo lo escrito, todas las aplicaciones de Tipos de Font, negritas o colores, no los guarda, al recuperar el texto, pierde todo lo enriquecido.
Existe alguna forma que pueda mantener todo lo aplicado al codigo??
Que diferencia tiene RichEdit y TRichEdit5 que tu me dices que prefieres??
Muchos Saludos.
Antonio.
Re: Consulta RICHEDIT
Posted: Wed Feb 13, 2019 11:23 am
by cnavarro
La diferencia entre ambas clases es que la clase TRichEdit5 es más moderna y utiliza otra DLL: MsftEdit.dll, y el control en los redefines es RichEdit50W, contiene más métodos y funcionalidades.
Bien, en cuanto a lo que necesitas, ahora si te he entendido
Cambia en el código del ejemplo que te he puesto esta línea
Code: Select all | Expand
VALID ( cTxt := oRich:SaveAsRTF(), .T. ) // oRich:GetText(), .T. )
Re: Consulta RICHEDIT
Posted: Wed Feb 13, 2019 3:13 pm
by remtec
C. Navarro
Hola, muchas gracias por toda tu atencion y disponibilidad que siempres tienes para ayudarme.
Aplique lo que me dejastes, el resultado es que:
Hasta antes de grabar en la DBF, todo bien, la palabra Textto con Font Aplicado y Cambio de color, ademas Segundo con Color Rojo.
Escrito Original
Code: Select all | Expand
En pierna a nivel safena con reflujo menor a 1 segundo y di metro
Grabado en la DBF, en un campo Char de 70, al salir de proceso de actualizacion de texto:
Code: Select all | Expand
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0
Como podria grabar en la DBF, para mantener las condiciones de actualizacion del Texto o definitivamente, no se puede aplicar??
Muchos Saludos
Antonio
Re: Consulta RICHEDIT
Posted: Wed Feb 13, 2019 9:44 pm
by cnavarro
remtec wrote:C. Navarro
Como podria grabar en la DBF, para mantener las condiciones de actualizacion del Texto o definitivamente, no se puede aplicar??
Muchos Saludos
Antonio
Antonio, creo que no te entiendo bien
Puedes obtener el texto sin formato, y grabarlo ( primer ejemplo ) o con el formato incrustado ( segundo ejemplo ), y grabarlo, pero otro tema es visualizar ese campo de la DBF como si tuvieras un control RICHEDIT.
Re: Consulta RICHEDIT
Posted: Thu Feb 14, 2019 3:29 am
by remtec
C. Navarro
Muchas gracias.
Cómo muestro en el Segundo Ejemplo, es lo q se grabó en la DBF, esto tiene incluido los tipos actualizaciones de tipos de Font y tamaños, este texto puede necesitarse modificarlo o imprimirlo en más de una oportunidad,por lo q requiere volver a recuperar con todo el texto enriquecido. Esto al tratarse de informes de exámenes, debe poder obtenerse de la misma forma y contenido que fue impreso en su primera ves.
Hoy si trato de recuperar este texto con RichEdit el mismo q lo grabo, no muestra contenido en la pantalla.
Espero haberme explicado más claro.
Muchos saludos.
Antonio
Re: Consulta RICHEDIT
Posted: Fri Feb 15, 2019 10:26 am
by cnavarro
Has probado con
Code: Select all | Expand
oRTF:InsertRTF( <contenido del campo leido de la base de datos> )
o directamente con
Code: Select all | Expand
REINSERTRTF( oRTF:hWnd, <contenido del campo leido de la base de datos> )
Aunque deberías probar antes con
Code: Select all | Expand
oRrf:LoadRTF( <contenido del campo leido de la base de datos> )
Re: Consulta RICHEDIT
Posted: Fri Feb 15, 2019 4:31 pm
by remtec
C. Navarro
Muy buen dia, disculpa por seguir abusando de tu persona, molestandote por tu ayuda.
He tratado de aplicar lo que me sugieres pero arroja Error al Compilar.
Code: Select all | Expand
Application
===========
Path and name: C:\Util\fwh1709\pruebas\editaexa.exe (32 bits)
Size: 3,753,472 bytes
Compiler version: Harbour 3.2.0dev (r1506171039)
FiveWin version: FWH 17.09
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 5.1, Build 2600 Service Pack 3
Time from start: 0 hours 0 mins 0 secs
Error occurred at: 02/15/19, 13:23:36
Error description: Error BASE/1004 No exported method: LOADRTF
Args:
[ 1] = U
[ 2] = C {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0
Se identifica Uni¢n Safeno Femoral con reflujo menor a 3 segundos
en Valsalva y di metro de Sefena Magna proximal de 4 mm. En muslo
fena transcurre en espacio interfascial, no tortuosa, con comunicantes
competentes.
En pierna a nivel safena con reflujo menor a 1 segundo y di metro
de 2 mm.
No se identificaron trombos en los segmentos estudiados. Safena
parva en espacio interfacial, competente sin reflujo significativo
Sistema Venoso Profundo:
gen. Se identifica vena femoral comun, superficial y profunda en
sin contenido trombotico, diametros normales. Vena poplitea compe-
tentes y sin trombos, venas infrapopliteas permeables, competentes
y sin trombos.
Miembro Inferior Izquierdo
Sistema Venoso Superficial:
Se identifica Uni¢n Safeno Femoral con reflujo menor a 3 segundos
en Valsalva y diametro de Safena Magna proximal de 6 mm. En muslo
transcurre en espacio interfascial, no tortuosa, con comunicantes compe
tentes.
En piera a este nivel safena con reflujo menor a 1 segundo de 2 mm
No se identificaron trombos en los segmentos estudiados. Safena
parva en espacio interfacial, competente sin reflujo significativo
Sistema Venoso Profundo:
Se identifica vena femoral com£n, superficial y profunda en su ori
gen. sin contenido trombotico, di metros normales. Vena poplitea
competente y sin trombos. Venas infrapopliteas permeables, compe-
tentes y sin trombos.
IMPRESION ECOGRAFICA: TVP cronica femoral izquierda con recanaliza
cion completa.
Atentamente,
Dr. Eliomar Cabrera Pernia.
Medico Cirujano
Rut.:25.670.611-3
RCM.:42081-6
Stack Calls
===========
Called from: => LOADRTF( 0 )
Called from: editaexa.prg => MAIN( 29 )
System
======
CPU type: Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz 2793 Mhz
Hardware memory: 1980 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Windows total applications running: 9
1 ,
2 , C:\Util\fwh1709\pruebas\editaexa.exe
3 , C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202
4 , C:\WINDOWS\system32\COMCTL32.DLL
5 , C:\WINDOWS\system32\SHLWAPI.dll
6 DDE Server Window, C:\WINDOWS\system32\OLE32.DLL
7 GDI+ Window, C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6002.23846_x-ww_f7dfd05e\GDIPLU
8 M, C:\WINDOWS\system32\msctfime.ime
9 SysFader, C:\WINDOWS\system32\SHELL32.dll
Variables in use
================
Procedure Type Value
==========================
LOADRTF
Param 1: O Class: ERROR
MAIN
Param 1: C "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0
Se identifica Uni¢n Safeno Femoral con reflujo menor a 3 segundos
en Valsalva y di metro de Sefena Magna proximal de 4 mm. En muslo
fena transcurre en espacio interfascial, no tortuosa, con comunicantes
competentes.
En pierna a nivel safena con reflujo menor a 1 segundo y di metro
de 2 mm.
No se identificaron trombos en los segmentos estudiados. Safena
parva en espacio interfacial, competente sin reflujo significativo
Sistema Venoso Profundo:
gen. Se identifica vena femoral comun, superficial y profunda en
sin contenido trombotico, diametros normales. Vena poplitea compe-
tentes y sin trombos, venas infrapopliteas permeables, competentes
y sin trombos.
Miembro Inferior Izquierdo
Sistema Venoso Superficial:
Se identifica Uni¢n Safeno Femoral con reflujo menor a 3 segundos
en Valsalva y diametro de Safena Magna proximal de 6 mm. En muslo
transcurre en espacio interfascial, no tortuosa, con comunicantes compe
tentes.
En piera a este nivel safena con reflujo menor a 1 segundo de 2 mm
No se identificaron trombos en los segmentos estudiados. Safena
parva en espacio interfacial, competente sin reflujo significativo
Sistema Venoso Profundo:
Se identifica vena femoral com£n, superficial y profunda en su ori
gen. sin contenido trombotico, di metros normales. Vena poplitea
competente y sin trombos. Venas infrapopliteas permeables, compe-
tentes y sin trombos.
IMPRESION ECOGRAFICA: TVP cronica femoral izquierda con recanaliza
cion completa.
Atentamente,
Dr. Eliomar Cabrera Pernia.
Medico Cirujano
Rut.:25.670.611-3
RCM.:42081-6
"
Local 1: U
Local 2: U
Linked RDDs
===========
DBF
DBFFPT
DBFBLOB
DBFNTX
DataBases in use
================
Classes in use:
===============
1 ERROR
2 HBCLASS
3 HBOBJECT
4 TREG32
5 TSTRUCT
Memory Analysis
===============
375 Static variables
Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
El Codigo que Estoy probando es el Siguiente:
Code: Select all | Expand
// FWH and FW++ RichEdit sample
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
// Inicializacion RDD DBFCDX Nativo***
REQUEST DBFNTX,DBFDBT
//rddsetdefault( "DBFNTX" )
function Main()
local oDlg, oRich
local hRichDLL := LoadLibrary( "riched20.dll" )
local lSyntaxHL := .f.
Static cTxt := ""
Static aa
USE Deinfec
go top
WHILE !EOF()
cTxt += deinfec->COD_DET + CHR( 13 )
SKIP
ENDDO
*/
CLOSE
oRich:LoadRTF( cTxt )
// oRich:InsertRTF( cTxt )
DEFINE DIALOG oDlg RESOURCE "#100"
oRich = TRichEdit():Redefine( 100, bSETGET( cTxt ), oDlg )
oRich:lHighLight = .f.
REDEFINE BUTTON ID 110 ;
ACTION ( oRich:SetText( cTxt ) )
REDEFINE CHECKBOX lSyntaxHL ID 115 OF oDlg ;
ON CHANGE ( oRich:lHighLight := lSyntaxHL,;
oRich:SetText( oRich:GetText() ) )
REDEFINE BUTTON ID 120 ;
ACTION oRich:LoadFromRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf" ) )
REDEFINE BUTTON ID 130 ;
ACTION oRich:SaveToRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf",;
"Please write a filename", "test" ) )
REDEFINE BUTTON ID 998 ACTION ( oRich:GoToLine( 10 ), oRich:SetFocus() )
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT oRich:SetText( cTxt ) ;
VALID ( cTxt := oRich:SaveAsRTF(), .T. ) // oRich:GetText(), .T. )
Graba(cTxt)
MemoEdit( cTxt )
FreeLibrary( hRichDLL )
return nil
//----------------------------------------------------------------------------//
Static Function Graba(cTxt)
use Deinfec
go top
repl cod_det with subs(cTxt,1,70)
close
Return nil
Agradeciendo tu ayuda.
Muchos Saludos.
Antonio
Re: Consulta RICHEDIT
Posted: Fri Feb 15, 2019 5:43 pm
by cmsoft
A esa altura todavia no has creado el objeto RTF
Proba asi:
Code: Select all | Expand
DEFINE DIALOG oDlg RESOURCE "#100"
oRich = TRichEdit():Redefine( 100, bSETGET( cTxt ), oDlg )
oRich:LoadRTF( cTxt )
oRich:lHighLight = .f.
Re: Consulta RICHEDIT
Posted: Fri Feb 15, 2019 7:36 pm
by remtec
Hola Cesar y C. Navarro
Con la modificacion que me indico Cesar, ya no se cae al compilar.
En la primera ejecución de programa, se muestra el código original, he aplicado un cambio del tamaño de FONT y usando negrita a una palabra y un cambio de color a otra en la primera linea, una vez terminado realizo la grabación en la DBF, primera linea, para ver el resultado y lo que se ha grabado es lo siguiente:
Code: Select all | Expand
{\rtf1\ansi\ansicpg1252\deff0\deflang13322{\fonttbl{\f0\fnil\fcharset0
Al volver ejecutar el programa, debiera mostrarme el texto en pantalla, muestra la pantalla vacia sin texto, aun cuando compruebo que la variable cTxt, es cargada con todo el texto en:
Code: Select all | Expand
WHILE !EOF()
?cod_det
cTxt += deinfec->COD_DET + CHR( 13 )
SKIP
ENDDO
Lo que definitivamente necesito, es poder recuperar el texto con las modificaciones realizadas, ya sea cambios de tipos de Font, letras negritas u otros colores, ya que puede ser requerido para modificarse o imprimirse, una vez impreso, deber ser fiel copia de lo que se guarda en la DBF.
Realmente llevo mucho tiempo tratando de resolver este problema y necesidad del sistema, me pregunto es tan dificil realizarlo con Fivewin?
Estoy atado de manos.
Saludos y muchas gracias a C. Navarro y Cesar que siempre estan presente.
Antonio.
Re: Consulta RICHEDIT
Posted: Fri Feb 15, 2019 8:53 pm
by cnavarro
Antonio, con el código que te he puesto y también el compañero, debe funcionar sin problemas
Una vez definido el control RICHEDIT
oRich:LoadRTF( cTxt )
oRich:lHighLight = .T.
Re: Consulta RICHEDIT
Posted: Sat Feb 16, 2019 12:31 am
by remtec
Hola C. Navarro.
Sigo dando molestias, he aplicado lo que me has indicado, al igual que Cesar, pero nada.
Este es Texto Original Actualizado:
Code: Select all | Expand
IMPRESION ECOGRAFICA: TVP cronica femoral izquierda con recanaliza..
La Palabra "ECOGRAFICA", le aplique Font Arial 16 y "izquierda", Color rojo y Font 12.
EL resultado grabado en la DBF es:
Code: Select all | Expand
{\rtf1\ansi\ansicpg1252\deff0\deflang13322{\fonttbl{\f0\fnil\fcharset0
Creo que me estoy volviendo loco, pero algo estoy haciendo mal si esto debiera funcionar, vuelvo a dejar el codigo del Prg:
Code: Select all | Expand
// FWH and FW++ RichEdit sample
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oRich
local hRichDLL := LoadLibrary( "riched20.dll" )
local lSyntaxHL := .f.
Static cTxt := ""
Static aa
USE deinfec
go top
WHILE !EOF()
cTxt += deinfec->COD_DET + CHR( 13 )
SKIP
ENDDO
CLOSE
DEFINE DIALOG oDlg RESOURCE "#100"
oRich = TRichEdit():Redefine( 100, bSETGET( cTxt ), oDlg ) // Lineas Corregidas
oRich:LoadRTF( cTxt ) // Lineas Corregidas
oRich:lHighLight = .f. // Lineas Corregidas
REDEFINE BUTTON ID 110 ;
ACTION ( oRich:SetText( cTxt ) )
REDEFINE CHECKBOX lSyntaxHL ID 115 OF oDlg ;
ON CHANGE ( oRich:lHighLight := lSyntaxHL,;
oRich:SetText( oRich:GetText() ) )
REDEFINE BUTTON ID 120 ;
ACTION oRich:LoadFromRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf" ) )
REDEFINE BUTTON ID 130 ;
ACTION oRich:SaveToRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf",;
"Please write a filename", "test" ) )
REDEFINE BUTTON ID 998 ACTION ( oRich:GoToLine( 10 ), oRich:SetFocus() )
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT oRich:SetText( cTxt ) ;
VALID ( cTxt := oRich:SaveAsRTF(), .T. ) // oRich:GetText(), .T. )
Graba(cTxt)
FreeLibrary( hRichDLL )
Return nil
Static Function Graba(cTxt)
USE deinfec
go top
repl cod_det with subs(cTxt,1,70) // Aqui Grabo la primera Linea Con el Contenido Actualizado con Tipo de Font, Tamaño y Color
close
return nil
Disculpa todas las molestias.
Saludos
Antonio
Re: Consulta RICHEDIT
Posted: Sat Feb 16, 2019 11:25 am
by cnavarro
Bueno, aqui tienes un ejemplo
Code: Select all | Expand
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oRich
local hRichDLL := LoadLibrary( "riched20.dll" )
local lSyntaxHL := .f.
local cTxt := ""
/*
USE CUSTOMER
go top
WHILE !EOF()
cTxt += customer->First + Chr( 9 ) + customer->Last + CHR( 13 )
SKIP
ENDDO
CLOSE
*/
// Simulo la lectura del contenido del campo
cTxt := "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Microsoft Sans Serif;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}}" + ;
"{\colortbl ;\red128\green0\blue0;\red0\green0\blue0;\red0\green128\blue0;\red255\green0\blue0;}" + ;
"\viewkind4\uc1\pard\cf1\b\i\f0\fs28 JH\cf2\b0\i0 - Sue let me \cf3 know\cf2 that their rep had noticed that they were not performing the yearly \cf4\ul\b\fs24 escrow\cf2\ulnone\b0\fs28 analysis.\cf0\f1\fs17\par" + ;
"}"
DEFINE DIALOG oDlg RESOURCE "Test"
oRich = TRichEdit():Redefine( 100, bSETGET( cTxt ), oDlg )
oRich:lHighLight = .T.
REDEFINE BUTTON ID 110 ;
ACTION ( oRich:SetText( cTxt ) )
REDEFINE CHECKBOX lSyntaxHL ID 115 OF oDlg ;
ON CHANGE ( oRich:lHighLight := lSyntaxHL,;
oRich:SetText( oRich:GetText() ) )
REDEFINE BUTTON ID 120 ;
ACTION oRich:LoadFromRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf" ) )
REDEFINE BUTTON ID 130 ;
ACTION oRich:SaveToRTFFile( cGetFile( "RTF file (*.rtf) | *.rtf",;
"Please write a filename", "test" ) )
REDEFINE BUTTON ID 998 ACTION ( oRich:GoToLine( 10 ), oRich:SetFocus() )
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT oRich:LoadRtf( cTxt ) ; //oRich:SetText( cTxt ) ; //
VALID ( cTxt := oRich:SaveAsRTF(), .T. ) // oRich:GetText(), .T. )
//MemoEdit( cTxt )
FreeLibrary( hRichDLL )
return nil
//----------------------------------------------------------------------------//
Re: Consulta RICHEDIT
Posted: Sat Feb 16, 2019 4:11 pm
by remtec
Hola C.Navarro.
He probado tu codigo tal como tu me lo pasas y funciona perfecto.
Pero al cargar cTxt con el contenido de la DBF, no muestra nada, ahora si despues de cargar cTxt con el contenido de la DBF y le agrego el contenido de texto que tu me pasaste, solo muestra tu texto, como si no le aplicara el texto de la DBF.
Le puse un Msginfo():
MsgInfo( cTxt ) <----- Aqui muestra todo el contenido de la DBf y tu Texto enriquecido.
De aqui en adelante solo muestra tu texto.
DEFINE DIALOG oDlg RESOURCE "Test"
oRich = TRichEdit():Redefine( 100, bSETGET( cTxt ), oDlg )
oRich:lHighLight = .T.
Esta claro que es el contenido de la DBF.
Esta DBF tiene 2 campos:
Folio N 10
Cod_det Char 85
Disculpa todas las molestias, muchas gracias por todo tu tiempo y ayuda.
Muchos Saludos
Antonio