Con el siguiente código creo una cantidad de botones (BTNBMP)
- Code: Select all Expand view RUN
DO WHILE ! oRsHab:EOF()
nVez++
REDEFINE BTNBMP oBtn[nVez] PROMPT AllTrim(Str(oRsHab:Fields("HAB_NUM"):Value,03,0)) + CRLF + "$" + AllTrim(Str(oRsHab:Fields("TIP_PRE"):Value,07,2)) ;
ID nVez + 100 CENTER FONT oFont OF oDlg UPDATE
oBtn[nVez]:cargo := oRsHab:Fields("HAB_NUM"):Value
oBtn[nVez]:bAction := {|oBtn| Eventos(oBtn) }
DO CASE
CASE oRsHab:Fields("HAB_STS"):Value = 0 // Disponible
oBtn[nVez]:SetColor( CLR_BLACK, CLR_WHITE)
CASE oRsHab:Fields("HAB_STS"):Value = 1 // Ocupada
oBtn[nVez]:SetColor( CLR_WHITE, CLR_RED)
CASE oRsHab:Fields("HAB_STS"):Value = 2 // En aseo
oBtn[nVez]:SetColor( CLR_BLACK, CLR_YELLOW)
ENDCASE
oRsHab:MoveNext()
ENDDO
Resalto que en la data CARGO guardo el número de habitación.
Posteriormente, con un clic sobre cualquier boton voy a la función Eventos()
cuyo código es el siguiente
- Code: Select all Expand view RUN
STATIC FUNCTION Eventos(oBtn)
MsgInfo(oBtn)
MsgInfo(oBtn[17]:cargo)
RETURN(.T.)
En esta función necesito saber que valor tiene la data cargo
pero el msginfo me tira error
Alguna pista?
Saludos y gracias por el apoyo