08 enero 2007

VerticalScrollPosition y HorizontalScrollPosition

Extendiendo el "Post" anterior podemos añadir el mensaje 276 para el control del desplazamiento horizontal. Para disponer de un control detallado de los posibles desplazamientos, las constantes que podríamos utilizar son:


De todos modos, al final he optado por otra solución en la que utilizo describe y modify sobre VerticalScrollPosition, HorizontalScrollPosition y Horizontal2ScrollPosition, ya que en mi caso, me interesa desplazarme a una posición en la que se visualiza un objeto en concreto, y me permitiría el control horizontal de las dos áreas visibles del dw si esta activado el atributo HSplitScroll. Así que la parte del código que controla el error queda del siguiente modo (tras controlar el error y notificarlo):


¿Qué tal se portaron los Reyes?

05 enero 2007

Scroll en un datawindow con PowerScript

Tras un error controlado necesité poner el foco en el control que el usuario tiene que corregir, pero trabajando con un formulario de tipo freeform, con una fila que ocupa más de una página, si el control no esta visible, aunque reciba el foco no se desplaza el dw, por lo que es necesario desplazarlo manualmente desde código. Mandando un mensaje al control podremos hacer scroll en los dw desde el código:


Felices Reyes

04 enero 2007

Convertir a números cardinales

En más de una ocasión me he visto en la necesidad de convertir el contenido de una variable numérica a un string con el número en cardinal representado con texto, así que en adelante si me sucede ya sólo tendré que llegarme hasta aquí. En esta ocasión principalmente encontrareis el código sin muchos comentarios como otras veces, deciros que es mejorable, que se puede hacer más genérica y tratar el género, la moneda para trabajar con distintas divisas, las apócopes, etc. En mi caso la he centrado en el Euro con sus correspondientes céntimos, si cambia la moneda que usáis y también tiene fracción, solo tendréis que cambiar los literales correspondientes. La declaración de la función sería: string f_numberToCardinal(decimal adc_value) y el código quedaría así:


Algo que es interesante es el uso de la recursividad para resolver el
tema de los céntimos... ¿Qué os parece? Bueno, para no salirme de la tónica... espero que también os sirva a vosotros también.