HonradosHP
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48

2 participantes

Ir abajo

Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48 Empty Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48

Mensaje  Esteban R Vie Sep 03, 2010 10:46 pm

Saludos a todos los miembros del foro.

He intentado hacer un programa con el browser 48 donde las etiquetas de menú cambién según el ítem que este actualmente seleccionado.

Por ejemplo:

Cuando el ítem seleccionado sea la opción 17, la etiqueta sea 17.
Cuando el ítem seleccionado sea la opción 18, la etiqueta sea 18.
etc.

Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48 B48pregunta

Esto se puede hacer en el browser 49. ¿Es posible también hacerlo en el browser 48?
Esteban R
Esteban R
Baby HP
Baby HP

Cantidad de envíos : 17
Localización : Paraguay
Calculadora : HP 50g
ROM : 2.09

Volver arriba Ir abajo

Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48 Empty Re: Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48

Mensaje  CesarV Sáb Oct 16, 2010 8:50 pm

Mostrar un menú dinámico al usar el browser 48

En el siguiente ejemplo se muestra un menú dinámico con el browser 48. Este menú muestra diferentes etiquetas de acuerdo al elemento seleccionado.
Para esto, se cambió la asignación de las teclas flecha arriba y flecha abajo en el parámetro AppKeys del POL del browser 48.
Estas asignaciones de teclas son cambiadas cuando el POL se inicia (con el mensaje 65), y después ya no son modificadas.

A continuación el código que puedes copiar y pegar en el editor de Debug 4x.

Código:
ASSEMBLE
  CON(1) 8 * Tell parser 'Non algebraic'
RPL
xNAME B48MenúChange ( -> ob T // F )
:: CK0                ( Ningún argumento es requerido )

FALSE 1LAMBIND        ( )

' MH_B48_MenuDinamico  ( MH )          ( ES EL MESSAGE HANDLER )
"Menú Dinámico"        ( MH $tit )
BINT1                  ( MH $tit Converter )
{ "OpciÓn 1"  "OpciÓn 2"  "OpciÓn 3"  "OpciÓn 4"  "OpciÓn 5"
  "OpciÓn 6"  "OpciÓn 7"  "OpciÓn 8"  "OpciÓn 9"  "OpciÓn 10"
  "OpciÓn 11" "OpciÓn 12" "OpciÓn 13" "OpciÓn 14" "OpciÓn 15"
  "OpciÓn 16" "OpciÓn 17" "OpciÓn 18" "OpciÓn 19" "OpciÓn 20"
}                      ( MH $tit Converter {ítems} )
BINT1                  ( MH $tit Converter {ítems} #índice )
ROMPTR Choose          ( ob T // F )

ABND                  ( )
;

El message handler usado por el browser del ejemplo es el siguiente.

Código:
* El message handler 65 es para dibujar el marco de la ventana.
* No es manejado aquí, pero se usa para cambiar el parámetro
* AppKeys del POL, pues el mensaje 65 es el primero en ser llamado una vez * que se inició el POL.
* En cambio el mensaje 85 no puede ser utilizado para cambiar el parámetro
* AppKeys, pues sería llamado antes de iniciarse el POL.
* El message handler 83 es para definir el menú.
NULLNAME MH_B48_MenuDinamico
:: BINT65 #=casedrop ( este mensaje es para el marco )
  :: 24GETLAM_
      caseFALSE
                                    ( )
      TRUE 24PUTLAM_                ( )
      ' ::                          ( #ct_B #p_B )
          OVER                      ( #ct_B #p_B #ct_B )
          BINT10 #=                ( #ct_B #p_B flag )
          3PICK                    ( #ct_B #p_B flag #ct_B )
          BINT15 #=                ( #ct_B #p_B flag flag' )
          ORcase
          ::                        ( #ct_B #p_B )
              ROMPTR 0B3 008        ( prog T )
              DROP                  ( prog )
              ' ROMPTR BReReadMenus_ ( prog romptr )
              ' DispMenu.1          ( prog romptr DispMenu.1 )
              BINT3                  ( prog romptr DispMenu.1 #3 )
              ::N                    ( prog' )
              TRUE                  ( prog' T )
          ;
                                    ( #ct #p ) ( para AppKeys )
      ;
      ' ROMPTR 0B3 008 ( prog romptr )
      ROMPTR@          ( prog prog' T )
      DROP            ( prog prog' )
      &COMP            ( prog'' )
      AppKeys!        ( )
      FALSE            ( F )
  ;
  BINT83 #=casedrop ( es el menú )
  :: ' :: NoExitAction
          { NullMenuKey
            NullMenuKey
            { :: TakeOver 18GETLAM #>$ ;
              :: TakeOver
                  "El menú tambien puede cambiar en el browser 48"
                  FlashWarning
              ;
            }
            NullMenuKey
            { "CANCL" FLASHPTR DoCKeyCancel }
            { "OK"    FLASHPTR DoCKeyOK }
          }
        ;
      TRUE
      ;
      DROPFALSE
;

Menu que cambie sus etiquetas al cambiar el ítem seleccionado en el browser 48 B48pregunta
CesarV
CesarV
Admin

Masculino Cantidad de envíos : 133
Localización : Perú
Calculadora : HP 50g
ROM : 2.15

https://sites.google.com/view/cesarv1821

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.