32 - Biblioteca estándar de Delphi

Hasta ahora hemos utilizado los procedimientos y funciones básicos de Delphi, aquellos que son tan comunes que no hace falta hacer referencia a su ubicación y se pueden llamar automáticamente en nuestros programas (ReadLn, Write, WriteLn, Length etc.)

Hay otras rutinas que para poder utilizarlas en nuestro programas debemos importarlas.

En Delphi las librerías se almacenan en archivos especiales llamados unidades (Unit)

En este concepto veremos como invocar algoritmos almacenados en la biblioteca estándar de Delphi.

Para hacer uso de una librería debemos indicar la palabra clave "uses" y seguidamente enumeramos los distintos archivos que contienen las librerías:

uses
  System.SysUtils, System.Math, System.Zip;

Luego de declarar el uso de una unidad podemos acceder a todos los procedimientos, funciones, tipos de datos etc. definidos en la misma.

Cada una de las unidades que especificamos es un archivo *.dcu que se instaló con Delphi:

biblioteca estádar de Delphi

Existen cientos de unidades con distintos objetivos, ya veremos luego que todos los archivos que comienzan con el nombre vcl.* están relacionados con las componentes para implementar interfaces visuales en Windows (Botones, Ventanas, editores de línea etc.)

Lo que buscamos entender en este conceptos es la necesidad de hacer referencia a una determinada unidad si queremos utilizar sus funcionalidades.

Problema 1

Llamar a algunas funcionalidades de las unidades System.SysUtils y System.Math

Proyecto122

program Proyecto122;

{$APPTYPE CONSOLE}

uses
  System.SysUtils, System.Math;

var
  valor1: Integer;
  cadena1: String;
  valor2: Double;
begin
  Write('Ingrese un entero:');
  ReadLn(valor1);
  cadena1 := IntToStr(valor1);
  WriteLn('La variable cadena1 tiene el valor:', cadena1);
  WriteLn('Presione la tecla Entrada para emitir un Beep');
  ReadLn;
  Beep;
  valor2 := Power(valor1, 3);
  WriteLn(valor1,' elevado al cubo es ', valor2:0:0);
  ReadLn;
end.

Luego de definir el nombre del programa y las directivas de compilación aparece la zona de uses, en nuestro ejemplo indicamos que usaremos dos unidades llamadas System.SysUtils, System.Math:

uses
  System.SysUtils, System.Math;

Este programa pide cargar una variable Integer por teclado y luego copia su contenido en la variable cadena1. Como las variables no son del mismo tipo no podemos hacer la asignación:

cadena1 := valor1;

Una forma para copiar el contenido de una variable Integer en una variable String es utilizar la función IntToStr que le enviamos como parámetro la variable Integer y nos devuelve un dato de tipo String:

  cadena1 := IntToStr(valor1);

La función IntToStr se encuentra definida en la undidad System.SysUtils, probemos de borrar la zona de uses y volver a compilar:

biblioteca estádar de Delphi

En la ventana de "Messages" nos informa que no está declarado el identificador IntToStr.

Para emitir un sonido de advertencia existe un procedimiento llamado Beep que se encuentra también en la unidad System.SysUtils:

  Beep;

Por último nuestro programa muestra el valor ingresado por teclado elevado al cubo, para esta operación podemos utilizar la función Power que se encuentra definida en la unidad System.Math

A medida que avancemos en el curso incorporaremos funcionalidades de la biblioteca estándar que provee Delphi, no haremos un estudio de cada unidad sino que según la necesidad las iremos presentando.

En la página oficial de Delphi puede consultar la biblioteca