14/01/2022
La librería CRT en Pascal, especialmente en el contexto de Turbo Pascal para DOS, es una unidad fundamental que proporciona funcionalidades para manipular la pantalla en modo texto. Aunque no forma parte del estándar Pascal, su amplia compatibilidad con compiladores posteriores como Free Pascal y otros, la convierte en una herramienta útil para programadores que trabajan con interfaces de texto.

Qué significa CRT en Pascal
CRT son las siglas de Cathode Ray Tube, que en español significa Tubo de Rayos Catódicos. Esta denominación se debe a que en la época en que Turbo Pascal era preponderante, las pantallas de computadora se basaban en esta tecnología. En el contexto de la programación, la unidad CRT se refiere a las funciones y procedimientos que permiten interactuar directamente con la pantalla de texto.
Acceso a la Unidad CRT
Para utilizar la unidad CRT en Turbo Pascal (versiones 0 y superiores), debes incluir la sentencia uses crt; después de la declaración program y antes de las declaraciones de variables. Ejemplo:
program miPrograma;uses crt;var miVariable: integer;begin // Código del programaend.En versiones anteriores de Turbo Pascal, como la 01, la unidad CRT no existe. Las funciones que ofrece CRT deben ser emuladas manualmente o utilizando otras herramientas.
Funciones y Procedimientos Clave de la Librería CRT
La unidad CRT ofrece una variedad de procedimientos y funciones para controlar la pantalla. A continuación, se detallan algunos de los más importantes:
| Procedimiento/Función | Descripción |
|---|---|
ClrScr | Borra la pantalla y sitúa el cursor en la esquina superior izquierda (coordenadas 1,1). |
GotoXY(x, y) | Mueve el cursor a la posición especificada por las coordenadas x e y . Recuerda que x representa la columna (1-80) e y la fila (1-25). |
TextColor(Color) | Establece el color del texto. Los colores se definen como constantes (e.g., Black , Blue , Red , etc.). |
TextBackground(Color) | Establece el color de fondo de la pantalla. Utiliza las mismas constantes que TextColor . |
WhereX | Función que devuelve la coordenada x (columna) del cursor actual. |
WhereY | Función que devuelve la coordenada y (fila) del cursor actual. |
Window(x1, y1, x2, y2) | Define una ventana de texto dentro de la pantalla, delimitada por las coordenadas (x1, y1) y (x2, y2). |
Delay(ms) | Pausa la ejecución del programa durante un número específico de milisegundos (ms). |
ReadKey | Función que lee un carácter del teclado sin necesidad de presionar Enter. |
KeyPressed | Función booleana que devuelve True si se ha presionado alguna tecla, y False en caso contrario. |
Sound(Hz) | Genera un sonido con la frecuencia especificada en Hertz (Hz). |
NoSound | Detiene la generación de sonido. |
Nota: La numeración de filas y columnas comienza en 1 en Turbo Pascal, mientras que en algunos entornos como Surpas comienza en 0.

Compatibilidad con Otras Versiones de Pascal
Si bien la unidad CRT está fuertemente asociada a Turbo Pascal, muchos compiladores modernos, como Free Pascal, ofrecen una compatibilidad significativa, permitiendo el uso de la mayoría de las funciones y procedimientos. Sin embargo, tener en cuenta que pueden existir ligeras diferencias en la implementación o en la disponibilidad de ciertas funcionalidades.
Ejemplos de Uso de la Librería CRT
A continuación, se presentan algunos ejemplos que ilustran el uso de la librería CRT en Pascal:
Ejemplo 1: Programa básico con CRT
program ejemploCRT;uses crt;begin clrscr; textcolor(red); gotoxy(20,10); writeln('Hola entorno!'); readln;end.Ejemplo 2: Uso de funciones adicionales
program ejemploAvanzado;uses crt;var x, y: integer;begin clrscr; gotoxy(10,5); writeln('Posicion del cursor:'); x := wherex; y := wherey; writeln('X: ', x, ' Y: ', y); delay(2000); // Espera 2 segundos clrscr; readln;end.Consideraciones para Surpas
En Surpas, algunas funciones de la librería CRT no están disponibles directamente. Es necesario emular su comportamiento mediante secuencias de escape o a través de llamadas a funciones del sistema. Por ejemplo, ClrScr, TextColory TextBackgroundrequieren una implementación específica para Surpas.

Alternativas a la Librería CRT
Para entornos modernos, existen librerías gráficas más avanzadas que proporcionan un control más sofisticado sobre la presentación de la información. Sin embargo, la librería CRT sigue siendo una opción viable para aplicaciones que requieren una interfaz simple de texto y que buscan compatibilidad con compiladores antiguos.
Conclusión
La librería CRT en Pascal, aunque no es parte del estándar, es una herramienta invaluable para el desarrollo de aplicaciones que interactúan con la pantalla en modo texto, especialmente en entornos heredados. Su compatibilidad con compiladores modernos y su facilidad de uso la convierten en una opción a considerar para proyectos específicos.
Si quieres conocer otros artículos parecidos a Librería crt pascal puedes visitar la categoría Libros y Librerías.
