Bienvenidos a Iseries Venezuela

Las mejores prácticas, recursos, tips, enlaces, videos y artículos para informáticos relacionados con el Iseries y el As/400 lenguajes de programación RPG, ILE RPG y SQL.

The best practices, resources, tips, links, videoes and articles for computer related to the Iseries and the As/400 languages of programming RPG, ILE RPG and SQL.

Monday, April 4, 2022

Cuando las ventanas son un estorbo. Como solucionarlo?

 Utilizamos ventanas en nuestro diseño de pantallas para facilitar el acceso a la información. Sin embargo, con mucha frecuencia sucede que la ventana que programamos, oculta información de la pantalla anterior, que es de utilidad para el usuario. En este caso, el usuario tendría que realizar estos pasos:

1.-Salir de la ventana

2.-Registrar o escribir el dato que necesita tener a mano.

3.-Ingresar nuevamente a la ventana.

Veamos el siguiente ejemplo.                                                                                                


Podemos apreciar que la ventana oculta el costo unitario del producto y la fábrica donde es utilizado. Esta información puede ser muy valiosa para tomar decisiones antes de continuar navegando en la aplicación.

El usuario puede escribir o memorizar información clave  rápidamente pero consume tiempo y esfuerzo y no contribuye a agilizar su trabajo.

Programar ventanas moviles quita tiempo, pero a la larga favorecemos la dinámica diaria del negocio y las tareas del usuario, quien al fin y al cabo, es el consumidor de nuestro desarrollo y nuestro principal evaluador.

Programar ventanas moviles requiere:

 

1.-Declarar en los parametros de Star Line de la pantalla dos variables de fila y columna (ROW, COL)


 

 Lo siguiente que necesitamos es incorporar en el diseño de pantalla las siguientes palabras claves: 

1.-MOUBTN(*ULP CA12) 

Esta palabra clave indica al sistema que vamos a utilizar el mouse (ratón) en el archivo de pantalla y que:

A.-Vamos a utilizar el boton Izquierdo del mouse (*ULP) Esto significa, presionar botón izquierdo sin desplazamiento (sin drag and drop)

B.- Cuando el usuario haga click con el boton izquierdo del mouse, se va a encender el indicador asociado. 

En el ejemplo coloqué CA12 pero puede ser cualquier funcion y cualquier indicador que elijan. Supongamos  que elegimos CA12 y lo asociamos con el indicador 12.


2.-RTNCSRLOC(*MOUSE &ROWMOUSE1 &COLMOUSE1)           

 Esta palabra clave indica al sistema que nos devuelva  las coordenadas de la ubicación del cursor en pantalla, expresadas en fila y columna en estos parámetros: &Rowmouse1 y &Colmouse1 repectivamente.

(Nota: recordar que las variables Row, Col, Rowmouse1 y Colmouse1, deben ser declaradas de tres posiciones  numéricas y de tipo "H" (ocultas)).

Cuando el usuario haga click en cualquier posicion de la pantalla se enciende el indicador 12. En el progama RPG preguntamos si el indicador 12 esta encendido. Si es asi,  debemos igualar las variables ROW y COL  que defininimos para la ventana con las variables &ROWMOUSE1 &COLMOUSE1 que indican la posicion del cursor.

En el código del programa colocaríamos:

                                       If Click (in12)

                                          ROW = RowMouse1

                                          COL  = ColMouse1

                                       Endif

 Para sacar la ventana de esa posicion que resulta incómoda, es suficiente que el usuario haga click en el lugar de la pantalla donde desea relocalizar la ventana.

 Por ultimo queda monitorear el error de dispositivo que puede dar cuando la ubicacion elegida por el usuario no hace posible relocalizar la ventana en ese sitio. En el ejemplo que tenemos en la pantalla, quiere relocalizar la ventana haciendo click en el borde inferior de la pantalla. Obviamente la ventana movil no puede desplegarse allí porque justo allí termina el espacio disponible para mover la ventana. Entonces en este caso se monitorea con MONITOR el mensaje de error y por programa, movemos la ventana a una fila y columna que elegimos por defecto cuando se presenten situaciones como esta.


Puedes descargar el código fuente en este enlace: 

 Codigo Fuente Ventanas Moviles   

        

     Si te pareció interesante, reenvíalo a un amigo haciendo click en el sobrecito que está al final del artículo o en el enlace de Linkedin que está encima de este mensaje.  El conocimiento es valioso, compártelo. 

    Autor: Ing. Liliana Suárez


 

No comments: