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: 0
Programando en Ms-Dos (texto)
TEMARIOPaso a paso
1.- Introducción
2.- Empezando
3.- Las variables
4.- Iniciando el proceso
5.- Pantalla inicial y Menú
6.- Mantenimiento Fichero
7.- Consulta con Scroll
8.- Opción de Listado
uN JueGo eN CoBoL

6.- Mantenimiento Fichero

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



En este capítulo veremos como añadir, modificar, consultar y modificar socios de nuestra agenda. Pero para ello no utilizaremos ningún menú. El funcionamiento será el siguiente: Todo se realizará desde la misma ventana y no tendremos opciones de menú. Si al introducir un código, éste existe, nos mostrara su contenido y nos preguntará si queremos modificarlo o borrarlo. Si no existe nos dará la oportunidad de crearlo. Cuando modificamos utilizamos el mismo desarrollo que para las altas, solo que los campos aparecen en reverso, para diferenciar. Veréis que bien queda y que fácil es.

El párrafo que teníamos en el capítulo anterior llamado SOCIOS. Ahora se sustituye por lo que viene a continuación.

Las frases en éste color son comentarios.

»» VENTANA Y PANTALLA DE SOCIOS Creamos nuestra ventana independiente del programa principal, donde haremos todo el proceso del mantenimiento del archivo. Dibujamos los campos que van a aparecer para luego colocar su contenido.
SOCIOS.
      MOVE 16 TO WINLIN MOVE 54 TO WINCOL.
      MOVE " CONTACTOS " TO WINTIT MOVE 11 TO WINTITLO.
      MOVE WCB TO WIN (1).
      DISPLAY WIN (1) LINE 3 COL 3 LOW ERASE CONTROL
           "WINDOW-CREATE, FCOLOR=WHITE, BCOLOR=BROWN".

SOCIO0.
      DISPLAY " " LINE 1 COL 1 ERASE CONTROL "FCOLOR=WHITE".
      DISPLAY "CODIGO ....." LINE 2 COL 2.
      DISPLAY RAYA LINE 3 COL 2 SIZE 52.
      DISPLAY "NOMBRE ....." LINE 4 COL 2.
      DISPLAY "DIRECCION .." LINE 5 COL 2.
      DISPLAY "POBLACION." LINE 6 COL 2.
      DISPLAY "C.POSTAL."LINE 6 COL 38.
      DISPLAY "PROVINCIA .." LINE 7 COL 2.
      DISPLAY RAYA LINE 8 COL 2 SIZE 52.
      DISPLAY "TELEFONO ." LINE 9 COL 2.
      DISPLAY "MOVIL ...." LINE 10 COL 2.
      DISPLAY RAYA LINE 11 COL 2 SIZE 52.
      DISPLAY "E-MAIL ..." LINE 12 COL 2.
      DISPLAY "DIRECCION PAGINA WEB COMPLETA ......."
          LINE 13 COL 2.
      DISPLAY ">"LINE 14 COL 2.
      DISPLAY RAYA LINE 15 COL 2 SIZE 52.
      INITIALIZE REGAGE.
Programa Agenda (Imagen 2)
»» ACEPTANDO EL CODIGO Aceptamos el código y si existe nos vamos a mostrar el contenido de los campos en el párrafo SOCI-MOS (que se verá mas adelante). Si no existe, pedimos confirmación para crearlo.
Utilizamos la variable C4 para guardar provisionalmente el código.
SOCI-CERO.
      DISPLAY SPACES LINE 2 COL 16 SIZE 40.
      ACCEPT C4 LINE 2 COL 16 PROMPT LOW NO BEEP
          ON EXCEPTION ESCA NEXT SENTENCE.
      DISPLAY SPACES LINE 2 COL 16 SIZE 30.
      IF ESCA = 27 GO SOCIFIN.
SOCI-MIRA.
      IF C4 < 1 GO SOCI-CERO.
      MOVE C4 TO AGECOD DC4 DISPLAY DC4 LINE 2 COL 16 LOW.
      MOVE 0 TO MODI.
      READ AGENDA INVALID KEY GO SOCI-ABRIR.
      GO SOCI-MOS.
SOCI-ABRIR.
      DISPLAY "CREAR EL CONTACTO ??" LINE 2 COL 22
          LOW REVERSE.
      ACCEPT OP LINE 2 COL 44 OFF NO BEEP
          ON EXCEPTION ESCA NEXT SENTENCE.
      DISPLAY SPACES LINE 2 COL 22 SIZE 30.
      IF OP = "S" NEXT SENTENCE ELSE GO SOCI-CERO.
»» ACEPTANDO LOS CAMPOS Cada uno de éstos párrafos nos va a servir para aceptar cada uno de los campos de nuestro fichero. Cada párrafo es igual, si estamos creando hacemos el ACCEPT LOW y si estamos modificando lo hacemos LOW REVERSE, UPDATE, para que por defecto nos de el valor del campo. Luego si pulsamos ESCAPE o las felcas, se moverá dependiendo si estamos modificando o creando. La variable MODI, es la que utilizamos para diferenciar modificación de creación. Siempre al terminar de aceptar cada campo lo volvemos a displayar sin atributos. 
SOCI-UNO.
      DISPLAY SPACES LINE 4 COL 16 SIZE 40.
      IF MODI = 0 ACCEPT AGENOM LINE 4 COL 16 LOW NO BEEP UPDATE 
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGENOM LINE 4 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 4 COL 16
          SIZE 30 GO SOCI-CERO ELSE GO SOCI-MOS.
      DISPLAY AGENOM LINE 4 COL 16 LOW.
SOCI-DOS. 
      DISPLAY SPACES LINE 5 COL 16 SIZE 40.
      IF MODI = 0 ACCEPT AGEDOM LINE 5 COL 16 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGEDOM LINE 5 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
          IF ESCA = 27 DISPLAY SPACES LINE 5 COL 16 SIZE 40
      GO SOCI-UNO.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-UNO. 
      DISPLAY AGEDOM LINE 5 COL 16 LOW.

Si pulsamos ESCAPE y estamos creando nos vamos al campo anterior. Si estamos modificando nos salimos de modificar.
Si pulsamos FLECHA ARRIBA y estamos modificando reestablece el valor del campo y se va al campo anterior, si estamos creando no hace nada.

SOCI-TRES.
      DISPLAY SPACES LINE 6 COL 16 SIZE 20.
      IF MODI = 0 ACCEPT AGEPOB LINE 6 COL 16 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGEPOB LINE 6 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 6 COL 16 
          SIZE 20 GO SOCI-DOS ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-DOS. 
      DISPLAY AGEPOB LINE 6 COL 16 LOW.
SOCI-CUATRO.
      DISPLAY " " LINE 6 COL 48.
      IF MODI = 0 ACCEPT AGEPOS LINE 6 COL 48 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGEPOS LINE 6 COL 48 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY " " LINE 6 COL 48 
          GO SOCI-TRES ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-TRES. 
      DISPLAY AGEPOS LINE 6 COL 48 LOW.
SOCI-CINCO.
      DISPLAY SPACES LINE 7 COL 16 SIZE 20.
      IF MODI = 0 ACCEPT AGEPRO LINE 7 COL 16 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGEPRO LINE 7 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 7 COL 16 
          SIZE 20 GO SOCI-CUATRO ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-CUATRO.
      DISPLAY AGEPRO LINE 7 COL 16 LOW.
SOCI-SEIS.
      DISPLAY SPACES LINE 9 COL 16 SIZE 20.
      IF MODI = 0 ACCEPT AGETEL LINE 9 COL 16 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
      ACCEPT AGETEL LINE 9 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 9 COL 16 
          SIZE 20 GO SOCI-CINCO ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-CINCO.
      DISPLAY AGETEL LINE 9 COL 16 LOW.
SOCI-SIETE.
      DISPLAY SPACES LINE 10 COL 16 SIZE 20.
      IF MODI = 0 ACCEPT AGEMOV LINE 10 COL 16 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGEMOV LINE 10 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 10 COL 16 
          SIZE 20 GO SOCI-SEIS ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-SEIS.
      DISPLAY AGEMOV LINE 10 COL 16 LOW.
SOCI-OCHO.
      DISPLAY SPACES LINE 12 COL 16 SIZE 30.
      IF MODI = 0 ACCEPT AGEMAI LINE 12 COL 16 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
          ACCEPT AGEMAI LINE 12 COL 16 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 12 COL 16 
          SIZE 30 GO SOCI-SIETE ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-SIETE.
      DISPLAY AGEMAI LINE 12 COL 16 LOW.
SOCI-NUEVE.
      DISPLAY SPACES LINE 14 COL 4 SIZE 40.
      IF MODI = 0 ACCEPT AGEWEB LINE 14 COL 4 LOW NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE ELSE
      ACCEPT AGEWEB LINE 14 COL 4 LOW REVERSE NO BEEP UPDATE
          ON EXCEPTION ESCA NEXT SENTENCE.
      IF ESCA = 27 IF MODI = 0 DISPLAY SPACES LINE 14 COL 4 
          SIZE 40 GO SOCI-OCHO ELSE GO SOCI-MOS.
      IF MODI = 1 IF ESCA = 52 PERFORM SOCI-MOS GO SOCI-OCHO.
      DISPLAY AGEWEB LINE 14 COL 4 LOW.
      IF MODI = 1 GO SOCI-OCHO.


Aqui preguntamos si todos los datos son correctos. Si la respuesta es positiva movemos los valores a la clave alternada y grabamos. En caso de error en la grabación mostraríamos el mensaje con el error.
SOCI-VEINTE.
      DISPLAY "CORRECTO ?" LINE 16 COL 2.
      ACCEPT OP LINE 16 COL 16 PROMPT NO BEEP LOW
          ON EXCEPTION ESCA NEXT SENTENCE.
      DISPLAY SPACES LINE 16 SIZE 50.
      IF ESCA = 27 OR OP = "N" GO SOCI-NUEVE.
      IF OP = "S" NEXT SENTENCE ELSE GO SOCI-VEINTE.
      MOVE AGECOD TO AGECOD1 MOVE AGENOM TO AGENOM1.
      WRITE REGAGE INVALID KEY
          MOVE "GRABAR UN REGISTRO" TO MOTIVO PERFORM MENERROR.
      GO SOCIO0.

   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]