|
, un módem, entre otros. En este capítulo se explica como leer
información desde el teclado y desplegar esta en la pantalla de tu computadora, mas
adelante veremos el uso de otros mecanismos.
READ(Nombre_Variable)
Este comando para el programa y espera a que el usuario introduzca un dato, el cual sera almacenado en la variable "Nombre_Variable"; como es READ se lee la información y se queda en la misma linea.
READLN(Nombre_Variable)
Este comando hace exactamente lo mismo que el anterior, solo que se produce un salto de linea.
WRITE(Nombre_Variable)
Este comando escribe el contenido de la variable "Nombre_Variable" sin producir salto de linea.
WRITELN(Nombre_Variable)
Similar al anterior pero con salto de linea.
Program segundo;
Uses crt;
Var
Cualquier_texto : string;
Begin
Clrscr;
Write(Escribe lo que quieras y termina con [ENTER]);
Readln(Cualquier_texto);
Writeln(El texto que escribiste es el siguiente:, Cualquier_texto );
Readln;
End.
FORMATOS PARA WRITE, WRITELN, READ, READLN
Para estos dos comandos se pueden usar salidas formateadas con el fin de mejorar el aspecto de presentación en la pantalla; un monitor en modo texto, tiene 80 columnas por 25 filas, que se numeran desde el 0 hasta la 79 en el caso de las primeras y de 0 a 24 para las últimas. Con este programita entenderás mejor la diferencia entre columnas y filas
Ver Código Fuente
Ver Ejecutable
Cuando se necesite
imprimir por pantalla información de tipo REAL, se puede indicar cuantas posiciones
decimales se mostraran; ejemplo:
FORMATO |
SALIDA EN PANTALLA |
| Write(1/3); | 3.3333333333E-0001 |
| Write(1/3:4:3); | 0.333 |
![]()
ESCRIBIENDO CÓDIGOS ASCII
Si se quiere escribir cualquier carácter de la tabla ASCII, basta con anteponer el carácter "#" a cualquier número comprendido entre 0 y 255, ejemplo:
Write(#176); La anterior expresión despliega el carácter Este programa te muestra los códigos ASCII
Ver Código Fuente
Ver Ejecutable
![]()
Constante |
Valor |
Modo De Video |
BW40 |
0 |
40x25 Blanco y negro en tarjeta de COLOR |
CO40 |
1 |
40x25 COLOR |
BW80 |
2 |
80x25 Blanco y negro en tarjeta de COLOR |
CO80 |
3 |
80x25 COLOR (Este es el modo por defecto) |
Mono |
7 |
80x25 Monocromático |
Program Cambio_de_modo;
Uses crt;
Begin
Writeln('Este es el modo normal');
Readln;
Textmode(CO40);{Pasa el modo texto a 40 columnas en color}
Writeln('Este es el modo CO40');
Readln;
Writeln('De nuevo en el modo normal');
End.
COLORESPrimer Plano Y Fondo |
Primer Plano |
||||
Constante |
Valor |
Color |
Constante |
Valor |
Color |
Black |
0 |
Negro |
Dark gray |
8 |
Gris Oscuro |
Blue |
1 |
Azul |
Light Blue |
9 |
Azul claro |
Green |
2 |
Verde |
Light Green |
10 |
Verde claro |
Cyan |
3 |
Cyan |
Light Cyan |
11 |
Cyan claro |
Red |
4 |
Rojo |
Light Red |
12 |
Rojo claro |
Magenta |
5 |
Magenta |
Light Magenta |
13 |
Magenta claro |
Brown |
6 |
Café |
Yellow |
14 |
Amarillo |
Light Gray |
7 |
Gris claro |
White |
15 |
Blanco |
Si se quiere hacer que el texto brinque se le adiciona al color la palabra blink o el numero 132.
Por ejemplo : textcolor(lightblue+132);o tambien textcolor(lightblue+blink);
La unidad CRT provee un conjunto de variables utilizadas para modificar aspectos referentes a entradas de teclado, modo de la pantalla, etc. A continuación se listan las principales con su función específica.
Tipo : boolean. Cuando el contenido de esta variable es True se encuentra activada la terminación de un programa por medio de las teclas Crtl-Break. Si se cambia su valor a False se desactiva esta opción.
Tipo : Word La variable LastMode contiene el valor del modo de texto actual. Se inicializa al momento de iniciar el programa y se utiliza comunmente para restaurar el modo original al momento de terminar el programa, ejemplo:
Program cambio_de_modos;
uses crt;
var
Video_original: integer;
begin
CheckBreak:=False; { Apaga el chequeo de Contrl-C }
Video_original:=LastMode; { Recuerda el mod de video original }
TextMode(Lo(LastMode)+Font8x8); { Pasa a 43 o 50 lineas sobre EGA/VGA }
write('Este es un modo de video pequeñito');
readln;
textmode(CO40); {Pasa a modo 40 x 25}
write('Este es un modo de video enorme');
readln;
textmode(Video_original); {Vuelve al modo normal}
write('Este es el modo de video normal');
readln;
end.
ClrEol
Este procedimiento borra todos los caracteres de la linea actual desde la posición del cursor hasta el final de la linea. Ejemplo:
Program Uso_del_clreol;
Uses Crt;
Var columnas, filas : Integer;
Begin
{Se hace un dos ciclos que recorren totalmente la pantalla
imprimiendo el carácter #219 del código ASCII}
For Columnas := 1 To 80 Do
For Filas := 1 To 24 Do
Begin
Gotoxy(Columnas,Filas); {Se ubica en la columna, fila
específica }
Write('_ ');{Imprime el codigo Ascii #219}
End;
Gotoxy(2,4); Clreol;{Se ubica en la columna 2, fila 4 y limpia hasta la columna 80}
Gotoxy(12,10); Clreol; {Se ubica en la columna 12, fila 10 y limpia hasta la columna 80}
End.
ClrScr;
Se utiliza para borrar la pantalla completa o la ventana actual.
Delay(Espera : Word);
Detiene la ejecución del programa durante un tiempo especificado en la variable Espera en milisegundos. El intervalo válido es desde 0 hasta 65535 (Pues es de tipo WORD), la precisión del retardo depende de la precisión del reloj interno de la computadora. Ejemplo:
Program Uso_del_clreol_pero_con_delay;
Uses Crt;
Var columnas, filas : Integer;
Begin
{Se hace un dos ciclos que recorren totalmente la pantalla
imprimiendo el carácter #219 del código ASCII}
For Columnas := 1 To 80 Do
For Filas := 1 To 24 Do
Begin
Gotoxy(Columnas,Filas);{Se ubica en la columna, fila
específica }
Write('µ ');{Imprime el codigo Ascii #219}
Delay(20);{Hace un retardo de 20 milisegundos}
End;
Gotoxy(2,4); Clreol;{Se ubica en la columna 2, fila 4 y limpia hasta la columna 80}
Gotoxy(12,10); Clreol; {Se ubica en la columna 12, fila 10 y limpia hasta la columna 80}
End.
DelLine;
GotoXY(Columna, fila : Byte);
Ubica el cursor en las coordenadas especificadas por Columna y Fila.
L
a variable fila representa el valor de Y partiendo de arriba hacia abajo.
Con el siguiente programa entenderás mejor el uso del procedimiento GOTOXY(Columna,fila) y la diferencia entre columnas(X) y filas(Y).
Ver Código Fuente
Ver Ejecutable
HighVideo;
Activa la pantalla de video de alta intensidad.
InsLine;Inserta una linea en blanco en la posición actual del cursor.
LowVideo;
Activa la pantalla de video de baja intensidad.
NormVideo;
Restaura los atributos de primer plano y fondo a los colores originales establecidos cuando arrancó el programa.
NoSound;
Desactiva el sonido iniciado con el procedimiento Sound.
Sound (Frecuencia : Word);
Activa el parlante interno del computador en una frecuencia determinada por el valor de Frecuencia. Para desactivarlo es obligatorio ejecutar el procedimiento NoSound o de lo contrario tu computador pitara como loco hasta que lo resetees o lo apagues.

A continuación te presento dos programas que hacen uso del procedimiento SOUND :
Ver Código Fuente
Ver Ejecutable
Codificador Morse
Ver Código Fuente
Ver Ejecutable
TextBackGround (Color
: byte);
Se utiliza para seleccionar
el color del fondo de la pantalla. Los valores que puede utilizar son del 0 al 7, también
es posible utilizar las constantes predefinidas para los colores como YELLOW, BLUE, RED, entre otras. Hay que destacar que este
procedimiento se usa en conjunto con el procedimiento CLRSCR para que tenga efecto el
cambio.
Ejemplo:
Program cambio_de_color;
Uses crt;
Begin
Clrscr;
Writeln('Estamos con fondo normal');
Readln;
Textbackground(BLUE);
Clrscr;
Writeln('Ahora el fondo es azul');Readln;
End.
TextColor (Color: Byte);
Se usa para seleccionar el color del texto en la pantalla, al igual que TextBackGround también se pueden usar utilizar las constantes predefinidas para los colores como LIGHTMAGENTA, LIGHTGREEN, BROWN entre otros.Para que quede mas claro el manejo de los procedimientos textbackground y textcolor, aquí te presento un programita que permite escoger el color del fondo deseado. Espero sea de tu agrado
Ver Código Fuente
Ver Ejecutable
Window (x1, y1, x2, y2
: Byte);
Define las coordenadas de la ventana de texto activa; x1 y y1 son las coordenadas de la esquina superior izquierda, x2 y y2 son las coordenadas de la esquina inferior derecha.
El siguiente programa ilustra la forma como crear ventanas:
Ver Código Fuente
Ver Ejecutable
![]()
A continuación te muestro un programa que hace uso de estas múltiples funciones y procedimientos: {1}program manejo_de_pantalla; {2}uses crt; {3}var {4} nombre : string[30]; {5} edad : byte; {6} peso : real; {7}begin {8} textbackground(LIGHTBLUE); {9} clrscr; {10} gotoxy(10,2); {11} textcolor(YELLOW); {12} write('ENTRADA DE DATOS'); {13} textcolor(WHITE); {14} gotoxy(1,4); {15} write('Digita tu nombre : '); {16} gotoxy(20,4); {17} read(nombre); {18} gotoxy(1,5); {19} write('Digita tu edad : '); {20} gotoxy(20,5); {21} read(edad); {22} gotoxy(1,6); {23} write('Digita tu peso : '); {24} gotoxy(20,6); {25} read(peso); {26} textbackground(BLACK); {27} clrscr; {28} gotoxy(10,2); {29} write('IMPRESION DE DATOS'); {30} gotoxy(2,4); {31} write('NOMBRE....: ',nombre); {32} gotoxy(2,5); {33} write('EDAD......: ',edad); {34} gotoxy(2,6); {35} write('PESO......: ',peso:2:2); {36} readkey; {37}end. Explicación {1}Linea de identificación de programa {2}Uso de la unidad CRT {3}Comienzo de definición de variables {4}Declaración de la variable NOMBRE de tipo STRING {5} Declaración de la variable EDAD de tipo BYTE {6} Declaración de la variable PESO de tipo REAL {7}Inicio del bloque principal del programa {8}Se cambia el color del fondo a azul brillante {9}Se limpia la pantalla {10}Se ubica el cursor en la columna 10 fila 2 {11}Cambiamos el color del texto a AMARILLO {12}Se imprime en la pantalla el letrero "ENTRADA DE DATOS" {13}Se cambia el color del texto a blanco. {14}Se ubica el cursor en la posición columna 1, fila 4 {15}Se imprime en la pantalla el letrero DIGITA TU NOMBRE {16}Se ubica el cursor en la columna 20 fila 4 {17}Se lee la información de tipo cadena que será almacenada en la variable NOMBRE {18}Se ubica el cursor en la columna 1 fila 5 {19} Se imprime en la pantalla el letrero DIGITA TU EDAD {20} Se ubica el cursor en la columna 20 fila 5 {21} Se lee la información de tipo BYTE que será almacenada en la variable EDAD {22} Se ubica el cursor en la columna 1 fila 6 {23} Se imprime en la pantalla el letrero DIGITA TU PESO {24}Se ubica el cursor en la columna 20 fila 6 {25} Se lee la información de tipo REAL que será almacenada en la variable PESO {26}Se cambia el color del fondo a negro
{27}Se limpia la pantalla con la función CLRSCR para que tenga efecto el cambio de color establecido por la función TEXTBACKGROUND (BLACK)
{28}Se ubica el cursor en la columna 10 fila 2
{29}Se imprime en la pantalla el letrero IMPRESIÓN DE DATOS
{30}Se ubica el cursor en la columna 2 fila 4
{31}Se imprime el texto NOMBRE y el contenido de la variable NOMBRE leido anteriormente
{32}Se ubica el cursor en la columna 2 fila 5
{33}Se imprime el texto EDAD y el contenido de la variable EDAD leido anteriormente
{34} Se ubica el cursor en la columna 2 fila 6
{35} Se imprime el texto PESO y el contenido de la variable PESO leido anteriormente
{36}Con la función READKEY se hace una espera hasta que el usuario presione cualquier tecla.
{37}Este es el final del programa.
![]()