Cobol en español
  Página de Inicio Recomiéndala Contáctame Usuarios en Linea
13
     Crea Una cuenta  
Video 1
Video 2
Video 3

Si te ha servido la web
o te han gustado los videos, colabora haciendo click en el botón.

MANUALES
TEMATICOS
BASES DE DATOS
COBOL / WINDOWS
COBOL / UNIX
HISTORIA /DOCS
 
BUSCADOR
PROGRAMANDO-Dos
TRUCOS
AÑO 2.000
TEORIA POWCOB-3
PROG. POWCOB-3
TEORIA POWCOB-5
PROG. POWCOB-5
OCX-ESCOBOL
RUTINAS/MANUALES
OCX / JUEGOS
HERRAMIENTAS
COMPILADORES
ENCUESTAS
ENLACES
FOROS
TOP 10

CHAT   Usuarios: 1
Programando en Windows (PowerCobol-3)
TEMARIO1.- Comienza la Aplicación
2.- Diseñando la Pantalla
3.- Eventos de la ventana
4.- La Procedure
5.- Progr. Controles (I)
6.- Progr. Controles (II)
7.- La Pantalla de Consulta
8.- Clasificando y FIN
>> agenda.exe e iconos <<

5.- Progr. Controles (I)

página(s) : 1/2
(4538 palabras totales en este texto)
(18519 Lecturas)   Versión Imprimible



En el capítulo anterior vimos la programación de las rutinas ahora es el momento de ver como se programan los eventos de los controles que tenemos en nuestra pantalla.

Una de las grandes diferencias que al menos yo he encontrado, es que cuando se programa de manera tradicional, vas teniendo el control de cada campo por separado, ahora en cambio el usuario con el ratón se puede ir a cualquier campo y dejar otros en blanco. Para evitar un poco el descontrol, he optado por lo siguiente. Nuestro primer campo a pedir es el código y por lo tanto una vez nos situemos sobre el siempre vamos a deshabilitar todos los demás campos y dejarlos sin contenido, así el usuario estará obligado a entrar un código antes de hacer nada, además aprovechamos y colocamos el número siguiente de código libre, veamos su programación:

Control: AGE-COD
Evento : EDIT
Programación
     ENVIRONMENT DIVISION.
     DATA        DIVISION.
     WORKING-STORAGE SECTION.
     01  SIGUE PIC 9999.
     PROCEDURE   DIVISION.
          MOVE SPACES TO POW-TEXT OF AGE-NOM
          MOVE SPACES TO POW-TEXT OF AGE-DOM
          MOVE SPACES TO POW-TEXT OF AGE-POB
          MOVE 0          TO POW-NUMERIC OF AGE-POS
          MOVE SPACES TO POW-TEXT OF AGE-PRO
          MOVE SPACES TO POW-TEXT OF AGE-MOV
          MOVE SPACES TO POW-TEXT OF AGE-TEL
          MOVE SPACES TO POW-TEXT OF AGE-MAI
          MOVE SPACES TO POW-TEXT OF AGE-WEB

          MOVE 0 TO POW-ENABLE OF AGE-NOM
          MOVE 0 TO POW-ENABLE OF AGE-DOM
          MOVE 0 TO POW-ENABLE OF AGE-POB
          MOVE 0 TO POW-ENABLE OF AGE-POS
          MOVE 0 TO POW-ENABLE OF AGE-PRO
          MOVE 0 TO POW-ENABLE OF AGE-GEH
          MOVE 0 TO POW-ENABLE OF AGE-GEM
          MOVE 0 TO POW-ENABLE OF AGE-TIP
          MOVE 0 TO POW-ENABLE OF AGE-MOV
          MOVE 0 TO POW-ENABLE OF AGE-TEL
          MOVE 0 TO POW-ENABLE OF AGE-MAI
          MOVE 0 TO POW-ENABLE OF AGE-WEB
          MOVE 0 TO POW-ENABLE OF GRABAR
          MOVE 0 TO POW-ENABLE OF L-GRABAR
          MOVE 0 TO POW-ENABLE OF BORRAR
          MOVE 0 TO POW-ENABLE OF L-BORRAR
          MOVE 0 TO POW-ENABLE OF LISTAR
          MOVE 0 TO POW-ENABLE OF L-LISTAR
          MOVE 0 TO POW-ENABLE OF EMAIL
          MOVE 0 TO POW-ENABLE OF L-EMAIL
          MOVE 0 TO POW-ENABLE OF CANCELAR
          MOVE 0 TO POW-ENABLE OF L-CANCELAR

          COMPUTE SIGUE = TOPE + 1
          MOVE SIGUE TO POW-NUMERIC OF AGE-COD.


Ahora, una vez pulsado Return sobre el código introducido generamos otro evento en el que se comprueba si existe o no y dependiendo se realizará una función u otra. Si existe el código llamamos a la rutina existe, que se encarga de colocarnos todos los contenidos de los campos y podremos, modificarlos, borrar, regrabar, etc .... En caso de no existir pone de nuevo los demás campos habilitados y nos envía al siguiente que en este caso es AGE-NOM. Veamos su programación:

Control: AGE-COD
Evento : RETURN
Programación
    ENVIRONMENT DIVISION.
     DATA        DIVISION.
     PROCEDURE   DIVISION.
          MOVE POW-NUMERIC OF AGE-COD TO AGECOD
          IF AGECOD = 0 GO DOS
          END-IF
          READ AGENDA INVALID KEY GO TRES
                  NOT INVALID KEY CALL "EXISTE"
          END-READ
          CALL "PONCCC"
          EXIT PROGRAM.

     DOS.
         CALL SETFOCUS OF AGE-COD
         EXIT PROGRAM.

     TRES.
         MOVE 1 TO POW-ENABLE OF AGE-NOM
         MOVE 1 TO POW-ENABLE OF AGE-DOM
         MOVE 1 TO POW-ENABLE OF AGE-POB
         MOVE 1 TO POW-ENABLE OF AGE-POS
         MOVE 1 TO POW-ENABLE OF AGE-PRO
         MOVE 1 TO POW-ENABLE OF AGE-GEH
         MOVE 1 TO POW-ENABLE OF AGE-GEM
         MOVE 1 TO POW-ENABLE OF AGE-TIP
         MOVE 1 TO POW-ENABLE OF AGE-MOV
         MOVE 1 TO POW-ENABLE OF AGE-TEL
         MOVE 1 TO POW-ENABLE OF AGE-MAI
         MOVE 1 TO POW-ENABLE OF AGE-WEB
         MOVE 1 TO POW-SELECT OF AGE-TIP
         INITIALIZE REGAGE
         MOVE POW-NUMERIC OF AGE-COD TO AGECOD
         CALL SETFOCUS OF AGE-NOM
         MOVE "Grabar" TO POW-TEXT OF L-GRABAR
         MOVE 1 TO POW-ENABLE OF GRABAR
         MOVE 1 TO POW-ENABLE OF L-GRABAR
         MOVE 1 TO POW-ENABLE OF CANCELAR
         MOVE 1 TO POW-ENABLE OF L-CANCELAR
         EXIT PROGRAM.


A partir de aquí y para los demás controles normalmente lo que haremos será ir pasando el foco al siguiente campo cada vez que pulsemos RETURN, como lo haríamos en un programa convencional. Por supuesto el usuario podrá ir libremente por cada campo. Cuando se pulse el botón de Grabar será cuando se realicen los controles en los campos que consideremos como obligatorios. Veamos toda la programación aunque sea muy simple.

   Inicio de Página    | Siguiente (2/2)
Sitio desarrollado con PHP-Nuke. Todos los Derechos Reservados.
PHP-Nuke es un Software Libre realizado con licencia GNU/GPL.
Página creada en Junio de 1.998, con el proposito de difundir el lenguaje Cobol en nuestra lengua.
Andres Montes [98/11]