Ejemplo para construir una ventana

El ejemplo siguiente construye una ventana simple que dibuja algunos polígonos sobre la pantalla. A diferencia de un programa tradicional, la ejecución no empieza al principio y continua línea por línea, hasta que llega al fin. En contrario, se divide la lógica en pequeños fragmentos que son ejecutados en respuesta de «eventos» tal como un clic de ratón.

Este ejemplo puede crear una ventana modal o una ventana no modal. Si usa una ventana no modal, entonces puedes ejecutar CONFIGURA después de CREAVENTANA termina. Si usa una ventana modal, entonces se ejecuta CONFIGURA mediante la instrucción de CREADIALOGO porque CREADIALOGO no termina hasta que el usuario cerrara la ventana.

PARA VENTANA
  ; Para una ventana no modal, usa esta línea
  CREAVENTANA "raíz "d1 [Dibujar Formas] 0 0 150 110 [] CONFIGURA ; Crea la ventana principal

  ; Para una ventana modal, usa esta línea
  ; CREADIALOGO "raíz "d1 [Dibujar Formas] 0 0 150 110 [CONFIGURA] ; Crea la ventana principal
FIN

PARA CONFIGURA
  CREAESTATICO "d1 "st4 [Selecciona Forma] 5 10 50 10 ; Etiqueta el LISTBOX

  CREALISTBOX "d1 "l1 5 25 80 40 ; Crea un LISTBOX con 3 elementos
  AÑADECADENALISTBOX "l1 "Cuadrado
  AÑADECADENALISTBOX "l1 "Triángulo
  AÑADECADENALISTBOX "l1 "Hexágono

  CREAESTATICO "d1 "st11 [Rojo] 100 10 40 10 ; Pon una etiqueta a la barra de desplazamiento

  CREABARRADESPLAZAMIENTO "d1 "s1 100 25 10 50 [MIROJO] ; Crea la barra que ejecuta MIROJO cuando se la deslizan
  PONBARRADESPLAZAMIENTO "s1 1 255 125 MIROJO           ; Pon un valor inicial de medio rojo.

  CREABOTON "d1 "b1 "Salir   5   80 40 10 [MIFIN]         ; Crea el botón para ejecutar MIFIN
  CREABOTON "d1 "b3 "Borrar  55  80 35 10 [BORRAPANTALLA] ; Crea el botón para borrar la pantalla
  CREABOTON "d1 "b2 "Dibujar 100 80 35 10 [DIBUJAFORMA]   ; Crea el botón para ejecutar DIBUJAFORMA
FIN

; Ejecuta este procedimiento cuando se presiona el botón «Dibujar»
PARA DIBUJAFORMA
  PONCOLORLAPIZ (LISTA LEEBARRADESPLAZAMIENTO "s1 0 0)  ; Pídele el color de la forma a la barra de desplazamiento

  ; Dibuja la forma correcta según el LISTBOX
  SI IGUALES? [Hexágono]  LEESELECCIONLISTBOX "l1 [REPITE 6 [AVANZA 100 GIRADERECHA 60]]
  SI IGUALES? [Cuadrado]  LEESELECCIONLISTBOX "l1 [REPITE 4 [AVANZA 100 GIRADERECHA 90]]
  SI IGUALES? [Triángulo] LEESELECCIONLISTBOX "l1 [REPITE 3 [AVANZA 100 GIRADERECHA 120]]
FIN

; Ejecuta este procedimiento cuando se presiona el botón «Salir»
PARA MIFIN
  ; Para el ejemplo no modal, usa esta línea
  BORRAVENTANA "d1

  ; Para el ejemplo modal, usa esta línea
  ; BORRADIALOGO "d1
FIN

; Ejecuta este procedimiento cuando se ajusta la barra de desplazamiento roja.
PARA MIROJO
  ACTUALIZAESTATICO "st11 FRASE [Rojo] LEEBARRADESPLAZAMIENTO "s1 ; Actualiza la etiqueta con la nueva posición
FIN

SourceForge.net Logo