Colocar Negrilla en mitad del texto

User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Colocar Negrilla en mitad del texto

Post by leandro »

Compañeros del foro tengan buena tarde.

Tengo almacenado un texto en una dbf. Pero requiero que en la mitad del texto se impriman negrillas. ejemplo

Nota: Si a la fecha del recibido de la presente notificación Usted se encuentra al día en el pago de sus cuotas, favor hacer caso omiso a esta comunicación y allegar los respectivos soportes de pago a la oficina.

Necesito darle formato al texto así como el ejemplo anterior, pero desde mi reporte.

Algún ejemplo o sugerencia?
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Leandro,

Tienes ya algún ejemplo creado para probarlo con EasyReport ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Colocar Negrilla en mitad del texto

Post by leandro »

Hola Antonio Gracias por Responder...

Claro que si...te adjunto el codigo

Code: Select all

********************************
*Imprime Contrato de Compraventa
********************************
FUNCTION pNotificaCobro()

local text1,text2,nomb
uFec:=dtoc(date())
uTim:=subs(time(),1,8)

dia:=day(date())
mes:=oLamcla:vMese[month(date())]
ano:=year(date())
nDia:=Letras(dia)

vRGman:=oRsDocfac:Fields( "id_manzana" ):Value
vRGlot:=oRsDocfac:Fields( "id_lote" ):Value
vRGter:=oRsDocfac:Fields( "docu_terce" ):Value
vRGtel:=oLamcla:cNoNulo(oRsDocfac:Fields( "telefono" ):Value,"C")
vRGdir:=oLamcla:cNoNulo(oRsDocfac:Fields( "direccion" ):Value,"C")
vRGexp:=oLamcla:cNoNulo(oRsDocfac:Fields( "expedida" ):Value,"C")
vRGres:=oLamcla:cNoNulo(oRsDocfac:Fields( "residencia" ):Value,"C")
vRGmts:=oRsDocfac:Fields( "mts2" ):Value
vRGcbe:=oRsDocfac:Fields( "cedula_benefi" ):Value
vRGnbe:=oRsDocfac:Fields( "nombre_benefi" ):Value

tVar := {|| vArray:=oLamcla:pRetornoarra2(3,alltrim(vRGter),30),nomb:=vArray[2]}
EVAL( tVar )
vBar:="DIR-"+strzero(vRGman,3)+"-"+strzero(vRGlot,2)

nFecha:="Yopal, "+alltrim(str(dia))+" de "+alltrim(mes)+" de "+alltrim(str(ano))
nCedu:="C.C.No.: "+alltrim(vRGter)
nDire:="Direccion: "+alltrim(vRGdir)
nTele:="Telefono: "+alltrim(vRGtel)
nRefe:="COMPRAVENTA DE LOTE No. "+alltrim(str(vRGlot))+" Mz. "+alltrim(str(vRGman))

text1:="NOMBRE DEL GERENTE,  en mi calidad de Representante Legal de la Ciudadela La "
text1+="Ciudadela La Bendición, de manera formal y ante el caso omiso a los llamados de cobro "
text1+="verbales, me permito comunicarle que de acuerdo con el contrato de compraventa verbal "
text1+="realizado con Usted respecto de los lotes de la referencia, Usted presenta incumplimiento "
text1+="en los pagos acordados, razón por la cual se ha constituido en mora tal como lo establece el "
text1+="Art. 1608 del Código Civil que reza: La mora en los contratos bilaterales, "
text1+="EL DEUDOR ESTÁ EN MORA: 1. Cuando no ha cumplido la obligación dentro del término estipulado."

text2:="El valor que Usted adeuda a la fecha es "

text4:="De acuerdo con lo anterior le solicito ponerse al día en el pago de su obligación dentro de los tres (3) "
text4+="días hábiles siguientes al recibo de la presente notificación so pena de dar por terminado de manera "
text4+="unilateral el contrato de compraventa y exigir la entrega del inmueble."

text5:="Es pertinente recordarle que su compromiso al momento de la compra fue el de pagar la cuota mensual "
text5+="del lote objeto de compraventa dentro de los CINCO (05) primeros días de cada mes, so pena de perder "
text5+="el derecho a la posesión y tenencia del lote y demás derechos adquiridos, puesto que el incumplimiento de la "
text5+="obligación conlleva a la empresa a tomar medidas de recuperación del Lote mencionado sin derecho a "
text5+="devolver el valor de las mejoras realizadas en el predio, además, perderá los bonos en dinero "
text5+="otorgados por mera liberalidad del Vendedor."

text6:="De igual manera,  al hacer parte del  Proyecto de Vivienda Ciudadela La Bendición, se encuentra "
text6+="inmerso el pago de la acometida para el agua y la energía de su vivienda y de la colecta mensual "
text6+="por concepto de potabilización de agua y mantenimiento de redes eléctricas, pagos que a la fecha "
text6+="no se han realizado; otro hecho que constituye incumplimiento de su parte, motivo que conlleva "
text6+="a la suspensión del suministro de estos servicios."

text7:="Nota: Si a la fecha del recibido de la presente notificación Usted se encuentra al día en el pago "
text7+="de sus cuotas, favor hacer caso omiso a esta comunicación y allegar los respectivos "
text7+="soportes de pago a la oficina."


EASYREPORT oVRD NAME ".\report\NOTIFICACION.vrd" PREVIEW (.T.)

  IF oVRD:lDialogCancel = .T.
    RETURN( .F. )
  ENDIF

  PRINTAREA 1 OF oVRD;
  ITEMIDS    {101,103,104,105,106,107,109,110,111};
  ITEMVALUES {vBar,nFecha,alltrim(nomb),nCedu,nDire,nTele,nRefe,text1,text2}

  PRINTAREA 3 OF oVRD;
  ITEMIDS    {301,302,303,304};
  ITEMVALUES {text4,text5,text6,text7}

END EASYREPORT oVRD

 
Dentro de la variable text5, necesito resaltar el siguiente texto "CINCO (05) primeros días de cada mes".

Saludos
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Leandro,

Otto es un gran experto con EasyReport, igual él puede ayudarnos en esto
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Otto »

Hello,
can you please post a screenshot how the report should look.

I am sorry I do not quiet understand the problem.

If I understand well you want a different look depending on the content of the line.
If this is the problem he needs to declare a extra PRINTAREA and then a if else endif.

If A = .t.
PRINTAREA 1 OF oVRD;
ITEMIDS {101,103,104,105,106,107,109,110,111};
ITEMVALUES {vBar,nFecha,alltrim(nomb),nCedu,nDire,nTele,nRefe,text1,text2}
Else
PRINTAREA 3 OF oVRD;
ITEMIDS {101,103,104,105,106,107,109,110,111};
ITEMVALUES {vBar,nFecha,alltrim(nomb),nCedu,nDire,nTele,nRefe,text1,text2}

endif

otherwise you can change
method say in vrd.prg.

Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org

********************************************************************
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Colocar Negrilla en mitad del texto

Post by leandro »

Otto Muchas Gracias por Responder
Otto Thanks for answering

Lo que necesito, es colocar en negrilla únicamente el texto que esta encerrado con los óvalos en rojo. No es todo
el texto únicamente el valor en letras de lo que debe el usuario.
What I need is to put in bold only the text that is enclosed with red ovals . Not all
the text only the value in words what must the user.


Espero haberme hecho entender.
I hope I made ​​my point .

Mira adjunto la imagen
Look at the picture attached

Image
subefotos

y el codigo que genera ese reporte.

Code: Select all

********************************
*Imprime Contrato de Compraventa
********************************
FUNCTION pNotificaCobro()

local text1,text2,nomb
uFec:=dtoc(date())
uTim:=subs(time(),1,8)

dia:=day(date())
mes:=oLamcla:vMese[month(date())]
ano:=year(date())
nDia:=Letras(dia)

vRGman:=oRsDocfac:Fields( "id_manzana" ):Value
vRGlot:=oRsDocfac:Fields( "id_lote" ):Value
vRGter:=oRsDocfac:Fields( "docu_terce" ):Value
vRGtel:=oLamcla:cNoNulo(oRsDocfac:Fields( "telefono" ):Value,"C")
vRGdir:=oLamcla:cNoNulo(oRsDocfac:Fields( "direccion" ):Value,"C")
vRGexp:=oLamcla:cNoNulo(oRsDocfac:Fields( "expedida" ):Value,"C")
vRGres:=oLamcla:cNoNulo(oRsDocfac:Fields( "residencia" ):Value,"C")
vRGmts:=oRsDocfac:Fields( "mts2" ):Value
vRGcbe:=oRsDocfac:Fields( "cedula_benefi" ):Value
vRGnbe:=oRsDocfac:Fields( "nombre_benefi" ):Value

tVar := {|| vArray:=oLamcla:pRetornoarra2(3,alltrim(vRGter),30),nomb:=vArray[2]}
EVAL( tVar )
vBar:="DIR-"+strzero(vRGman,3)+"-"+strzero(vRGlot,2)

//BUSCAMOS EL VALOR DE LA DEUDA EN LA TABLA TEMPORAL PARA
//PODER GESTIONAR LAS NOTIFICACIONES DE COBRO
oVar:="SELECT * from lyma_deuda_temporal WHERE id_proyecto=1 AND id_manzana="+lTransPic(vRGman)+" AND id_lote="+lTransPic(vRGlot)
oRs7 := FW_OPENRECORDSET(oLamcla:oCon,oVar,adLockOptimistic,adOpenKeyset)
nRegistros := oRs7:RecordCount()
if nRegistros#0
  v_deuda:=oLamcla:cNoNulo(oRs7:Fields("deuda_lote"):Value,"N")
  v_servi:=oLamcla:cNoNulo(oRs7:Fields("deuda_acom"):Value,"N")
  v_acome:=oLamcla:cNoNulo(oRs7:Fields("deuda_serv"):Value,"N")
else
  v_deuda:=v_servi:=v_acome:=0
endif

vTDeuda:=alltrim(Transform(v_deuda+v_servi+v_acome,oLamcla:pic2))
nTDeuda:=letras(v_deuda+v_servi+v_acome)

nFecha:="Yopal, "+alltrim(str(dia))+" de "+alltrim(mes)+" de "+alltrim(str(ano))
nCedu:="C.C.No.: "+alltrim(vRGter)
nDire:="Direccion: "+alltrim(vRGdir)
nTele:="Telefono: "+alltrim(vRGtel)
nRefe:="COMPRAVENTA DE LOTE No. "+alltrim(str(vRGlot))+" Mz. "+alltrim(str(vRGman))

text1:="NOMBRE DEL GERENTE,  en mi calidad de Representante Legal de la Ciudadela La "
text1+="Ciudadela La Bendición, de manera formal y ante el caso omiso a los llamados de cobro "
text1+="verbales, me permito comunicarle que de acuerdo con el contrato de compraventa verbal "
text1+="realizado con Usted respecto de los lotes de la referencia, Usted presenta incumplimiento "
text1+="en los pagos acordados, razón por la cual se ha constituido en mora tal como lo establece el "
text1+="Art. 1608 del Código Civil que reza: La mora en los contratos bilaterales, "
text1+="EL DEUDOR ESTÁ EN MORA: 1. Cuando no ha cumplido la obligación dentro del término estipulado."

if v_deuda#0
  nTCredi:=" por concepto de CUOTAS: "+letras(v_deuda)+" PESOS ("+alltrim(Transform(v_deuda,oLamcla:pic2))+") M/CTE"
else
  nTCredi:=space(0)
endif

if v_acome#0
  nTAcome:=" por concepto de ACOMETIDA AGUA: "+letras(v_acome)+" PESOS ("+alltrim(Transform(v_acome,oLamcla:pic2))+") M/CTE"
else
  nTAcome:=space(0)
endif

if v_servi#0
  v_servi:=" por concepto de SERVICIOS PUBLICOS: "+letras(v_servi)+" PESOS ("+alltrim(Transform(v_servi,oLamcla:pic2))+") M/CTE"
else
  v_servi:=space(0)
endif

text2:="El valor que Usted adeuda a la fecha es "+nTDeuda+" PESOS ("+vTDeuda+") M/CTE "
text2+="por los siguientes conceptos:"+nTCredi+nTAcome+v_servi+"."

text4:="De acuerdo con lo anterior le solicito ponerse al día en el pago de su obligación dentro de los tres (3) "
text4+="días hábiles siguientes al recibo de la presente notificación so pena de dar por terminado de manera "
text4+="unilateral el contrato de compraventa y exigir la entrega del inmueble."

text5:="Es pertinente recordarle que su compromiso al momento de la compra fue el de pagar la cuota mensual "
text5+="del lote objeto de compraventa dentro de los CINCO (05) primeros días de cada mes, so pena de perder "
text5+="el derecho a la posesión y tenencia del lote y demás derechos adquiridos, puesto que el incumplimiento de la "
text5+="obligación conlleva a la empresa a tomar medidas de recuperación del Lote mencionado sin derecho a "
text5+="devolver el valor de las mejoras realizadas en el predio, además, perderá los bonos en dinero "
text5+="otorgados por mera liberalidad del Vendedor."

text6:="De igual manera,  al hacer parte del  Proyecto de Vivienda Ciudadela La Bendición, se encuentra "
text6+="inmerso el pago de la acometida para el agua y la energía de su vivienda y de la colecta mensual "
text6+="por concepto de potabilización de agua y mantenimiento de redes eléctricas, pagos que a la fecha "
text6+="no se han realizado; otro hecho que constituye incumplimiento de su parte, motivo que conlleva "
text6+="a la suspensión del suministro de estos servicios."

text7:="Nota: Si a la fecha del recibido de la presente notificación Usted se encuentra al día en el pago "
text7+="de sus cuotas, favor hacer caso omiso a esta comunicación y allegar los respectivos "
text7+="soportes de pago a la oficina."


EASYREPORT oVRD NAME ".\report\NOTIFICACION.vrd" PREVIEW (.T.)

  IF oVRD:lDialogCancel = .T.
    RETURN( .F. )
  ENDIF

  PRINTAREA 1 OF oVRD;
  ITEMIDS    {101,103,104,105,106,107,109,110,111};
  ITEMVALUES {vBar,nFecha,alltrim(nomb),nCedu,nDire,nTele,nRefe,text1,text2}

  PRINTAREA 3 OF oVRD;
  ITEMIDS    {301,302,303,304};
  ITEMVALUES {text4,text5,text6,text7}

END EASYREPORT oVRD
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Leandro,

la frase que comienza con "Notificación de cobro..." está en negrita.

Donde está indicado que se vea en negrita en tu código ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Otto »

Hello,
maybe we can extend method say

Pseudocode
if isrtf( cText )
oRTF:print
else
TextOut( ::oPrn:hDCOut, nRow, nCol, cText )
endif

Best regards,
Otto




METHOD Say( nRow, nCol, cText, oFont, nWidth, nClrText, nBkMode, nPad ) CLASS VRD

IF ::oPrn:hDC = 0
RETURN NIL
ENDIF

DEFAULT oFont := ::oPrn:oFont
DEFAULT nBkMode := 1
DEFAULT nPad := 0

IF oFont != nil
oFont:Activate( ::oPrn:hDCOut )
ENDIF

// 1,2 transparent or Opaque
SetbkMode( ::oPrn:hDCOut, nBkMode )

IF nClrText != NIL
#IFDEF __HARBOUR__
SetTextColor( ::oPrn:hDCOut, nClrText )
#ELSE
SetTextCol( ::oPrn:hDCOut, nClrText )
#ENDIF
ENDIF

DO CASE
CASE nPad == 1 // right
nCol := Max( 0, nCol - ::GetTextWidth( cText, oFont ) )
CASE nPad == 2 // center
nCol := Max( 0, nCol - ( ::GetTextWidth( cText, oFont ) / 2 ) )
ENDCASE
Pseudocode
if isrtf( cText )
oRTF:print
else
TextOut( ::oPrn:hDCOut, nRow, nCol, cText )
endif
IF oFont != nil
oFont:DeActivate( ::oPrn:hDCOut )
ENDIF

RETURN ( NIL )
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org

********************************************************************
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Otto,

if we provide a bold font to Method Say() then it should do it.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Colocar Negrilla en mitad del texto

Post by leandro »

Antonio buenos días..

En la linea REF: lo que pasa es que son los cuadros de texto diferentes, en ese caso es fácil hacerlo.

El problema es cuando es un solo párrafo y dentro del párrafo debo resaltar unas palabras en especifico.

Image
subir imagenes

Creo que no me hecho entender....

Mira el texto en este momento se muestra asi:

De igual manera, al hacer parte del Proyecto de Vivienda Ciudadela La Bendición, se encuentra inmerso el pago de la acometida para el agua y la energía de su vivienda y de la colecta mensual por concepto de potabilización de agua y mantenimiento de redes eléctricas, pagos que a la fecha no se han realizado; otro hecho que constituye incumplimiento de su parte, motivo que conlleva a la suspensión del suministro de estos servicios.

Lo que quiero es que me salga asi:


De igual manera, al hacer parte del Proyecto de Vivienda Ciudadela La Bendición, se encuentra inmerso el pago de la acometida para el agua y la energía de su vivienda y de la colecta mensual por concepto de potabilización de agua y mantenimiento de redes eléctricas, pagos que a la fecha no se han realizado; otro hecho que constituye incumplimiento de su parte, motivo que conlleva a la suspensión del suministro de estos servicios.

Saludos
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Leandro,

Si localizásemos en que método se imprime ese texto, podriamos usar unas marcas en el texto para indicar negrita.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Otto »

Dear Antonio,
I think it is METHOD Say( nRow, nCol, cText, oFont, nWidth, nClrText, nBkMode, nPad ) CLASS VRD.
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org

********************************************************************
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Leandro,

hay una solución muy simple:

crea otro item con el texto que quieres poner en negrita, usando un font bold, y sobreponlo encima del texto que quieres resaltar :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Otto »

Dear Antonio,
but how do you get nRow, nCol for this new Item?
Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org

********************************************************************
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Colocar Negrilla en mitad del texto

Post by Antonio Linares »

Otto,

I did it manually using the EasyReport designer :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply