FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Bitmaps en una columna de xbrowse
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Bitmaps en una columna de xbrowse
Posted: Sat Jul 17, 2010 07:35 PM

Quizá esto sea muy sencillo, o ya esté en el foro, pero no pude encontrarlo.....

Lo que quiero es en un xbrowse una columna donde dependiendo del valor contenido en otra me presente un bmp diferente, vale decir, tengo 4 bmps, uno rojo, uno verde, uno amarillo y uno transparente.

Quiero colocar en la primer celda de cada línea un bmp que será verde, amarillo y rojo, dependiendo de un valor en otra celda de la misma línea si una variable estática ldesp está en .t., pero... si está en .f. no debe presentar nada o presentar un bmp transparente.

He estado trabajando para hacerlo, pero no me ha sido posible.... :oops:

Si alguien puede ayudarme en esto sería de gran valor, porque llevo varios días preparando esta consulta y es el único detalle que no sale. :roll:

Gracias desde ya por la ayuda que puedan brindarme :D :D :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Bitmaps en una columna de xbrowse
Posted: Sat Jul 17, 2010 08:16 PM
José:

Te voy a mostrar un código que yo uso con un recordset pero la idea es la misma para DBFs

Code (fw): Select all Collapse
aCol[ 5]:= oBrw:AddCol()
aCol[ 5]:AddResource("SI")
aCol[ 5]:AddResource("NO")
aCol[ 5]:cHeader := "Aut"
aCol[ 5]:bBmpData := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),2,IIF(oRsPro:Fields("PRO_AUT"):Value,1,2)) }
aCol[ 5]:nDataBmpAlign := AL_RIGHT
aCol[ 5]:nWidth := 25


Lo destacable de este código es la parte donde se agregan los BMPs
Code (fw): Select all Collapse
aCol[ 5]:AddResource("SI")
aCol[ 5]:AddResource("NO")


que en tu caso debería ser

Code (fw): Select all Collapse
aCol[ 5]:AddResource("Verde")
aCol[ 5]:AddResource("Amarillo")
aCol[ 5]:AddResource("Rojo")
aCol[ 5]:AddResource("Transparente")


y la prte donde se define cual BMP se debe presentar

Code (fw): Select all Collapse
aCol[ 5]:bBmpData := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),2,IIF(oRsPro:Fields("PRO_AUT"):Value,1,2)) }


Me parece que te conviene usar una función que te devuelva el número BMP a mostrar
y te quedaría así:

Code (fw): Select all Collapse
aCol[ 5]:bBmpData := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),2,CualBmp()) }


Y la función CualBmp() debería ser + - así

Code (fw): Select all Collapse
FUNCTION CualBmp()
LOCAL nBmp := 0
DO CASE
     CASE Algo
        nBmp := 1   // Verde
     CASE Algomas
        nBmp := 2   // Amarillo
     CASE Algomasmas
        nBmp := 3   // Rojo
      OTHERWHISE
       nBmp := 4    // Transparente
RETURN(nBmp)

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Bitmaps en una columna de xbrowse
Posted: Sat Jul 17, 2010 08:33 PM

Gracias Armando,

Lo pruebo y te comento el lunes!!!!!!!! :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Bitmaps en una columna de xbrowse
Posted: Mon Jul 19, 2010 10:45 AM

Tal como lo dijeras, con unos pequeños retoques ha funcionado de maravillas!!!! :D

Muchas Gracias!!!!!! :D

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion