Soy nuevo programando. Como puedo hacer un bucle que termine cuando presione la tecla esc, en power builder 6.5.
1 Respuesta
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Lo primero que tienes que determinar es la forma en que power builder funciona, o mejor dicho, la estructura de programación de power builder, la cual es PROGRAMACIÓN ORIENTADA A EVENTOS. Esto significa que por una acción hay una reacción, por ejemplo, si presiono el clicl del mouse, puede generar un sonido. Esto se ejecuta por medio de una acción (presionar el botón del mouse) y esto dispara un evento, en el cual puedo escribir la instrucción para generar un sonido. El efecto es cuando haces click hace un sonido. En el caso de detener un bucle cuando presionas una tecla, y con lo anterior dicho, debería estar relacionado con un evento de un objeto regularmente sera de la ventana o forma, este evento es disparado en el momento que una tecla es presionada, regularmente su nombre es KEY o KEYDOWN o KEYUP, dentro de el evento puedes preguntar por el valor de una variable que tiene el código de la tecla presionada, la variable o argumento es KEY, el cual puede ser comparado con valores predeterminados de power builder o utilizando los valores decimales de las teclas, por ejemplo escape es 27 en valor ascii, Entonces podrías preguntar si el argumento key es igual a 27 entonces, coloca el valor de una variable global del tipo boolean en falso, Esta variable permite que el bucle se mantenga, por ejemplo pbLoop = true DO ... ... .. loop while pbLoop Como veras la variable globlal o publica la he llamado pbLoop, la cual inicializo con true Cuando la pantalla se encuentra activa, el evento KEY, sera disparado cuando una tecla sea presionada, esto a su vez, permitirá determinar el valor de la tecla presionada, y si fuera 27 o bien escape, entonces coloca el valor FALSE a la variable pbLoop, esto influye en el loop o bucle de tal forma que es roto. Mi recomendación antes que te duela la cabeza tratando de hacer cosas que normalmente pueden hacerse con una programación convencional, es que leas un par de manuales, o tutoriales, que expliquen la forma de programar en EVENTOS, o bien PROGRAMACIÓN ORIENTADA A EVENTOS, y de paso PROGRAMACIÓN ORIENTADA A OBJETOS. Seguro que podrá serte de mucha utilidad, y seguro que abrirá mucho más tu campo como desarrollador, uno de los cambios drásticos de este tipo de programación, es que los conceptos de programación, lineal, o procedural, dejan de existir como tal, y se convierten en clases, eventos, métodos, propiedades, herencia, polimorfismo, etc.