VScrollBar siempre visibles
Declaración de funciones externas:
Función:
¿Cual es el contenido de este Blog? Cualquier cosa relacionada con Powerbuilder. Principalmente soluciones, como resolví tal cosa o tal otra, referencias interesantes, etc. La idea fundamental es emplear el tiempo una sola vez para resolver algo, y no tener que hacerlo cada vez que me enfrente al mismo problema. Encontraras: Métodos aplicados, códigos fuentes, programas relacionados o web con contenido útil, etc. Espero que también a tí te sea útil.
A las 16:04 0 comentarios
Etiquetas: APIs, Datawindows, PowerScript
A las 17:30 0 comentarios
Etiquetas: Entorno
Esta otra imagen corresponde con el módulo que permite traducir las frases, lo que esta bien para esto es que dispone de un acceso independiente para acceder solo a este módulo para que un traductor se pueda encargar de esta parte, sin acceso al resto de la herramienta:
Y por último os muestro una pantalla donde se seleccionan los objetos que se quieren traducir, en este caso se seleccionan los objetos para los que hay que cambiar las frases:
A las 11:33 0 comentarios
Etiquetas: Herramientas

A las 10:13 0 comentarios
Etiquetas: Herramientas
integer uf_modlong(string as_valor, integer ai_divisor)CÓDIGO:
A las 10:18 2 comentarios
Etiquetas: PowerScript
En este script, partimos de la premisa de disponer del IBAN formateado adecuadamente, así iremos al grano, y dejo que cada cual utilice las comprobaciones que considere oportunas para ver si el IBAN tiene el formato adecuado. Para concretar más el formato utilizado para el ejemplo será AANNCCCCCCCCCCCCCCCCCCCC, donde:
En primer lugar convertimos las letras a números, contando que la A vale 10, la B vale 11 y así sucesivamente, de tal modo que BE62510007547061 quedaría 111462510007547061.
ls_letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ls_aux = string(pos(ls_letras, left(as_IBAN, 1))+9)
ls_aux += string(pos(ls_letras, mid(as_IBAN, 2, 1))+9)
En segundo paso consiste en mover los primeros seis caracteres a la derecha de tal modo que 111462510007547061 quedará 510007547061111462:
as_IBAN = mid(as_IBAN, 5) + ls_aux + mid(as_IBAN, 3, 2)
Y para finalizar hay que comprobar si el resto de la división del número obtenido entre 97 es 1. Si el resultado fuese distinto, el dígito de control sería incorrecto.
mod(double(as_IBAN), 97)
En este último punto hay un temita que puede tenerse en cuenta, y es que por razones de precisión se recomienda realizar esta operación con números enteros y no fraccionados o decimales, y como pordrá comprobarse el número con el que hay que operar es mayor que el que se puede almacenar en un unsignedlong (mayor entero en PB), como un entero de 32 bits o 64 bits representa un máximo de 9 ó 18 dígitos, se puede realizar la operación por partes tal y como describo a continuación:
A las 16:58 4 comentarios
Etiquetas: PowerScript
public string gf_limpiar(string as_texto)CÓDIGO:
A las 15:54 0 comentarios
Etiquetas: PowerScript
Para la implementación de un algoritmo de validación del IBAN, que publicaré más adelante, he necesitado localizar la norma ISO que identifica que letras están asociadas con cada país. He encontrado por un lado la "English country names and code elements - ISO 3166 Code lists" publicado por el propio organismo que la implemento, y por otro lado, como siempre días después intentando localizar la página mencionada, he llegado hasta la web ADAGO, concretamente a la lista de standards ISO. Además de aparecer la lista de códigos de países hay un montón de standards interesantes. |
A las 10:46 0 comentarios
Etiquetas: Direcciones Web