Cobol en español
  Página de Inicio Recomiéndala Contáctame Usuarios en Linea
14
     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
Trucos
TEMARIONúmeros Aleatorios
Sec. Escape a Impresoras
Imp. ¿Pantalla o Impresora?
Dibujar Cuadros o Líneas
Años Bisiestos
Ventana de Opciones
Campos Tipo Hora
Busqueda de Cadenas
Mandar un e-mail
Pequeño Editor Texto
Día de la Semana
Registros / Fichero
ListBox en modo caracter

Campos Tipo Hora

(591 palabras totales en este texto)
(11788 Lecturas)   Versión Imprimible



Muchas veces se nos plantean cosas tan simples como saber el tiempo transcurrido entre una hora y otra. Algo tan sencillo como eso, a veces nos puede hacer perder mucho tiempo intentando encontrar el algoritmo apropiado para conseguirlo. Desde aquí voy a explicar una manera de hacerla, fácil de entender y de aplicar.

Primero nos hacemos el planteamiento y nos definimos las variables a utilizar. Por ejemplo vamos a calcular cuanto tiempo pasa entre las 8:37 y las 12:16. Evidentemente es muy sencillo (de cabeza) serían 3 horas 39 minutos. Veamos porque:

...
WORKING-STORAGE SECTION.
01  TIEMPO PIC 9(4).
(definimos 7 opciones de 10 caracteres cada una).
01  R-TIEMPO REDEFINES TIEMPO.
     02  HORA PIC 99.
     02  MINU PIC 99.
01  RESTO PIC 9(4).
01  DESDE PIC 9(4).
01  HASTA PIC 9(4).
01  LINEA.
     02  FILLER PIC X(17) VALUE "HAN TRANSCURRIDO ".
     02  LHORA PIC Z9B.
     02  FILLER PIC XXX   VALUE " Y ".
     02  LMINU PIC Z9B.
     02  FILLER PIC X(7) VALUE "MINUTOS".

01  LI      PIC 99.
01  OP     PIC X.
01  ESCA PIC 9 COMP-1.
01  QW    PIC 9.

PROCEDURE DIVISION.
INICIO.
(partimos del ejemplo y le damos esos valores).
     MOVE 0837 TO TIEMPO.
     COMPUTE DESDE = HORA * 60 + MINU.
(obtenemos los minutos de la primera hora).
     MOVE 1216 TO TIEMPO.
     COMPUTE HASTA = HORA * 60 + MINU.
(obtenemos los minutos de la segunda hora).
(asi DESDE=517 y HASTA=736).

     COMPUTE RESTO = HASTA - DESDE.  (219, minutos transcurridos).
     COMPUTE HORA = RESTO / 60. (obtenemos las horas "3").
     COMPUTE MINU = RESTO - (HORA * 60). (obtenemos los minutos "39").
(ahora displayamos el resultado).

     MOVE HORA TO LHORA MOVE MINU TO LMINU.
     DISPLAY LINEA LINE 10 COL 20 LOW ERASE.
     ...

De ésta manera se consigue saber el tiempo en hora transcurrido entre dos variables de tipo hora. Como siempre espero que os sirva de ayuda, tanto para éste caso en concreto como para practicar las órdenes que vamos viendo en el manual.

   Inicio de Página   
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]