FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cambio de colores en un GET
Posts: 117
Joined: Sun Oct 08, 2017 12:51 PM
Cambio de colores en un GET
Posted: Sat Mar 27, 2021 02:36 AM

Hola gente !

Esto es una pantalla de facturación, a la cuál a medida que le incorporo artículos, se van incrementando los kilos.
A medida que se incrementan, quiero cambiar el color de la celda con la variable xcolorkgs.
Pero...
No funciona...
¿ Alguien me podría dar una mano ?

Muchas gracias !
Pedro.

public xcolorkgs

REDEFINE SAY oxkilos PROMPT xkilos ID 4007 of oDlg picture "999999" ;
COLOR xcolorkgs

//---------------------
FUNCTION CARGARTICULO()
//---------------------
if xkilos <= 100
xcolorkgs:=32768 // verde
endif
if xkilos > 100 .amd. xkilos <=1000
xcolorkgs:=8388608 // azul
endif
if xkilospro > 1000
xcolorkgs:=255 // rojo
endif

Pedro L. Lavallen

San Luis (Capital), Argentina
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Cambio de colores en un GET
Posted: Sat Mar 27, 2021 08:38 AM
Code (fw): Select all Collapse
#include "fivewin.ch"

function Main()

   local oDlg, oFont, oBold, oSay
   local nValue   := 2000

   DEFINE FONT oFont NAME "TAHOMA"  SIZE 0,-12
   DEFINE FONT oBold NAME "VERDANA" SIZE 0,-32 BOLD

   DEFINE DIALOG oDlg SIZE 400,150 PIXEL TRUEPIXEL FONT oFont ;
      TITLE "SAY : Using bGet and bClrText"

   @ 20,100 SAY oSay PROMPT { || nValue } PICTURE "9999" ;
      SIZE 200,36 PIXEL OF oDlg FONT oBold CENTER ;
      COLOR { || If( nValue <= 100, CLR_HBLUE, If( nValue <= 1000, CLR_GREEN, CLR_HRED ) ) }, ;
      CLR_WHITE UPDATE

   @ 80, 20 BUTTON   "50" SIZE 100,30 PIXEL OF oDlg ACTION ( nValue :=   50, oDlg:Update() )
   @ 80,150 BUTTON  "500" SIZE 100,30 PIXEL OF oDlg ACTION ( nValue :=  500, oDlg:Update() )
   @ 80,280 BUTTON "5000" SIZE 100,30 PIXEL OF oDlg ACTION ( nValue := 5000, oDlg:Update() )

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont, oBold

return nil


Regards



G. N. Rao.

Hyderabad, India
Posts: 117
Joined: Sun Oct 08, 2017 12:51 PM
Re: Cambio de colores en un GET
Posted: Sat Mar 27, 2021 08:34 PM

Muchas gracias por ser tan amable en responder amigo Rao.

Pero el tema que tengo FWH 17.09 y quise compilar su ejemplo
(que está hermoso), con el buildx.bat.
al ejecutarlo no da errores, pero no me muestra nada,
solamente la pantalla de fondo. Es como si la pantalla se achicara y
no se ven los botones.

Por otra parte, traté de implementar en mi programa lo escrito en el
que me mandó como ejemplo y tampoco me funciona...
Es como la variable nValue no se refrescara o actualizara.
En fin, seguiré probando.
Saludos !

Pedro L. Lavallen

San Luis (Capital), Argentina
Posts: 400
Joined: Fri May 11, 2007 08:20 PM
Re: Cambio de colores en un GET
Posted: Sat Mar 27, 2021 09:52 PM
Code (fw): Select all Collapse
FUNCTION CARGARTICULO(odlg)
//---------------------
if xkilos <= 100
xcolorkgs:=32768 // verde
endif
if xkilos > 100 .amd. xkilos <=1000
xcolorkgs:=8388608 // azul
endif
if xkilospro > 1000
xcolorkgs:=255 // rojo
endif
odlg:update()
oxkilos:refresh()  //sino funciona odlg:update()
return nil
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Cambio de colores en un GET
Posted: Sat Mar 27, 2021 11:14 PM
Code (fw): Select all Collapse
function CambiaClrSay() 
   local oDlg, oFont, oBold, oSay
   local nKilos := 2000
   local bColor :=  {|| If( nKilos <= 50, cClr := CLR_HBLUE ,;
                        If( nKilos >= 51 .and. nKilos <=500, cClr := CLR_GREEN ,;
                        If( nKilos >= 501 .and. nKilos <=1000, cClr := CLR_HRED,))) ,;
                        oSay:SetColor(cClr,CLR_YELLOW) ,;
                        oSay:Refresh() }

   DEFINE FONT oFont NAME "TAHOMA"  SIZE 0,-12
   DEFINE FONT oBold NAME "VERDANA" SIZE 0,-32 BOLD

   DEFINE DIALOG oDlg SIZE 400,150 PIXEL TRUEPIXEL FONT oFont ;
          TITLE "SAY COLOR TEST"

   @ 20,100 SAY oSay PROMPT nKilos PICTURE "9999" ;
            SIZE 200,36 PIXEL OF oDlg FONT oBold CENTER 

   @ 80, 20 BUTTON   "50" SIZE 100,30 PIXEL OF oDlg ACTION ( nKilos :=   50, Eval(bColor) ) 
   @ 80,150 BUTTON  "500" SIZE 100,30 PIXEL OF oDlg ACTION ( nKilos :=  500, Eval(bColor) ) 
   @ 80,280 BUTTON "1000" SIZE 100,30 PIXEL OF oDlg ACTION ( nKilos := 1000, Eval(bColor) ) 

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont, oBold

return nil
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Cambio de colores en un GET
Posted: Sun Mar 28, 2021 02:54 AM
This works for FWH1709.

Code (fw): Select all Collapse
#include "fivewin.ch"

function SayColors()

   local oDlg, oFont, oBold, oSay
   local nValue   := 2000

   DEFINE FONT oFont NAME "TAHOMA"  SIZE 0,-12
   DEFINE FONT oBold NAME "VERDANA" SIZE 0,-32 BOLD

   DEFINE DIALOG oDlg SIZE 400,150 PIXEL TRUEPIXEL FONT oFont ;
      TITLE FWVERSION

   @ 20,100 SAY oSay PROMPT nValue PICTURE "9999" ;
      SIZE 200,36 PIXEL OF oDlg FONT oBold CENTER ;
      COLOR SayClr( nValue ), CLR_WHITE UPDATE

   @ 80, 20 BUTTON   "50" SIZE 100,30 PIXEL OF oDlg ;
      ACTION ( nValue :=   50, oSay:SetColor( SayClr( nValue ), CLR_WHITE ), oDlg:Update() )
   @ 80,150 BUTTON  "500" SIZE 100,30 PIXEL OF oDlg ;
      ACTION ( nValue :=  500, oSay:SetColor( SayClr( nValue ), CLR_WHITE ), oDlg:Update() )
   @ 80,280 BUTTON "5000" SIZE 100,30 PIXEL OF oDlg ;
      ACTION ( nValue := 5000, oSay:SetColor( SayClr( nValue ), CLR_WHITE ), oDlg:Update() )

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont, oBold

return nil

static function SayClr( n )
return If( n <= 100, CLR_BLUE, If( n <= 1000, CLR_GREEN, CLR_HRED ) )




We request you to indicate your FWH version, whenever you make a posting. This will help us to provide a solution that works for your version. This saves a lot of time for us and you.
Regards



G. N. Rao.

Hyderabad, India
Posts: 117
Joined: Sun Oct 08, 2017 12:51 PM
Re: Cambio de colores en un GET
Posted: Tue Mar 30, 2021 11:29 PM

Muchas gracias amigos por su ayuda !!!
Saludos !
Pedro.

Pedro L. Lavallen

San Luis (Capital), Argentina

Continue the discussion