Instr. de Pantalla
página(s) : 1/3 (5792 palabras totales en este texto) (117781 Lecturas) 
Sin duda alguna e independientemente del lenguaje de programación escogido, las instrucciones que mas se suelen utilizar, serán las que hagan uso de la pantalla, ya sea como salida o entrada de información.
Para la programación en Windows, pondré la información en la Sección "Programando en Windows".
Vamos a utilizar ésta sección para hacer un análisis profundo de dichas instrucciones.
ACCEPT, es la instrucción que usaremos para la entrada de datos. Aunque su sintaxis principal nunca ha variado, ésta ha sido una de las instrucciones que mas cláusulas se le han ido añadiendo, incluso diferentes según el compilador, aquí vamos a explicar las comunes y principales.
Aunque la forma mas usual de utilizarla, es para aceptar datos por el teclado, también es posible utilizarla para "cogerlos" también del sistema, para aceptar valores de variables de entorno definidas previamente a nivel de sistema o para aceptar pantallas completas definidas en la SCREEN-SECTION. Además siguen aumentando sus posibilidades. Veamos sus formatos principales:
Formato para aceptar datos del sistema o variables de entorno.
ACCEPT variable
FROM (DATE,
DAY, DAY-OF-WEEK, TIME, CENTURY-DATE, CENTURY-DAY, ESCAPE-KEY, ENVIRONMENT
variable de entorno)
Según la opción escogida, así será el valor que contendrá la variable usada, una vez completada la sentencia. Veamos cada una
de las opciones:
- DATE, devuelve la fecha en formato AAMMDD, por lo que la variable debe de
estar definida con PIC 9(6).
- CENTUY-DATE, igual que DATE, pero acepta la fecha con 8 dígitos en
formato SSAAMMDD. Definir con PIC 9(8).
- DAY, devuelve el año y el día del año en que estamos con el formato
AADDD, siendo el valor 1, para el 1 de Enero y así sucesivamente. Debe de estar definida con
PIC 9(5).
- CENTURY-DAY, igual que DAY, pero acepta 4 dígitos para el año,
quedando el formato AAAADDD. Definir con PIC 9(7).
- DAY-OF-WEEK, devuelve un dígito que indica el día de la semana,
siendo 1 el Lunes, 2 el Martes, ... Aquí, la variable debe de estar definida como
PIC 9.
- TIME, devuelve la hora con formato HHMMSSMM, la variable debe de estar como
PIC 9(8).
- ESCAPE-KEY, devuelve el código de la tecla de excepción pulsada,
debe de estar definida con PIC 99 y según el compilador los valores pueden ser
distintos, pero los básicos suelen ser los mismos, por ejemplo: ENTER=13, FLECHA ARRIBA=52,
FLECHA-ABAJO=53 y las teclas de función desde F01 hasta F8 tomarían los valores del 1 al 8, TAB=9.
- ENVIRONMENT "Variable de entorno"
, nos devuelve el valor que dicha variable tenga asignado,
normalmente éstas variables se asignan en el fichero de configuración del compilador o
desde una variable del sistema. Puede ser muy útil para darle capacidades a usuarios
diferentes por ejemplo. Tener en cuenta que la variable de entorno
debe de ir entre comillas para que sea reconocida.
La definición de la variable que he
dado, no es fija, pero si la mas conveniente, es decir para guardar el dia de la semana,
he indicado una variable con PIC 9, pero podíamos haber escogido
PIC 9(8), lo que pasa, es que no tendría mucho sentido malgastar espacio, cuando
sabemos con seguridad, que el dato posible es de 1 a 7, y por lo tanto de
PIC 9.
Además de todas éstas opciones, cada compilador ha ido incorporando las que ha creido conveniente y por ejemplo con algunas de
las nuevas es posible saber información sobre el sistema sobre el que trabajamos, el
terminal, la línea, etc ....
|
...
WORKING-STORAGE SECTION.
77 DIA PIC 9.
77 FECHA PIC 9(6).
77 FECHA8 PIC 9(8).
...
PROCEDURE DIVISION.
INICIO.
ACCEPT DIA FROM DAY-OF-WEEK.
ACCEPT FECHA FROM DATE.
ACCEPT FECHA8 FROM CENTURY-DATE.
... |
|
Nota: Si usarames éste programa el día 1 de Julio de 1.999, el valor de las
variables sería:
FECHA=990701.
FECHA8=19990701
DIA=4.
El 4 nos indicaría que el día de la semana sería Jueves.
|
Formato para aceptar datos por el teclado.
ACCEPT variable
CLAUSULAS ... ON EXCEPTION variable instrucción.
La lista de cláusulas es muy larga, y por desgracia algunos compiladores pueden tener mas que otros, así que voy a
explicar las mas comunes a continuación: Recordad que lo que se explica aquí puede ser
válido tanto para ACCEPT como para
DISPLAY.
- LINE variable, constante numérica,
(ACCEPT Y DISPLAY) le indicamos la línea donde se aceptará el campo, puede
ser una variable o un número, tendremos siempre en cuenta que la línea 1 será la
primera de arriba de la pantalla, normalmente podremos trabajar con 24 líneas. Si no se
específica tomará la referencia de la siguiente línea en la que estemos.
- COLUMN, COL, POSITION variable, constante numérica,
(ACCEPT Y DISPLAY) aquí le indicamos la columna dentro de la línea y
sus valores pueden ser desde 1 (izquierda) hasta 80 (derecha) de la pantalla. En algunos
terminales es posible capturar 132 columnas. Si no se especifica tomará el valor 1.
- BEEP, NO BEEP, (ACCEPT Y DISPLAY)
con ésta opción le indicamos si queremos o no que emita un pitido al llegar al comando. Por defecto sonará.
BLINK, (ACCEPT Y DISPLAY) si aparece ésta
cláusula, el campo que aceptemos parpadeará.
HIGH, LOW, OFF, (ACCEPT Y DISPLAY) le indicamos el nivel
de luminosidad con que se acepta el campo, solo puede ir especificado uno:
HIGH con brillo, LOW sin brillo,
OFF hace que los datos que introducimos no se vean, se utiliza cuando queremos aceptar una contraseña o
alguna clave, en la pantalla no salen los datos que vamos introduciendo. Si no indicamos
ninguna el sistema coge HIGH por defecto.
TAB, (ACCEPT) la presencia de ésta cláusula hace que no salte
al siguiente campo hasta que no pulsemos ENTER. Por defecto al
introducir el número de caracteres o dígitos del campo salta automáticamente.
TIME variable, constante numérica,
(ACCEPT) conseguiremos que la espera para introducir el campo sea
limitada y vendrá dada por el valor que le asignemos. El valor se indica en centésimas
de segundo.
CURSOR variable,
(ACCEPT) si especificamos ésta cláusula, el sistema guardará en la variable la
posición donde se ha terminado la introducción de los datos. Por ejemplo si aceptamos un
campo de PIC X(40) y solo rellenamos 9 caracteres, el valor de la
variable asociada a CURSOR será de 10.
ERASE, haremos que se borra toda la pantalla.
ERASE EOL, (ACCEPT Y DISPLAY) le indicamos que borre
la línea sobre la que estamos desde la posición del ACCEPT.
ERASE EOS, (ACCEPT Y DISPLAY) le indicamos que borre
toda la página desde la posición de la línea en la que estamos.
|