Record/es

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) polski (pl) português (pt) русский (ru)

Un tipo de datos altamente estructurado en Pascal .

Mientras las estructuras simples cómo matrices y conjuntos consisten en agrupaciones de elementos del mismo tipo, un registro consiste en una agrupación de elementos de tipos diversos y puede ser muy complejo. Cada una de las distintas partes de un registro se denomina Campo.

Algunos ejemplos de registros:

 Type
   RegistroEjemplo = Record
                     Valores: array [1..200] of real;
                     CuantosValores: Integer; { el número real de puntos en la matriz }
                     Media: Real { el promedio o media de los valores en la matriz }
                   End;

   Socio = Record
              Nombre, Apellidos : string;
              Direccion: array [1..3] of string;
              Telefono : Integer;
              FechaNacimiento: TDateTime;
              CuotasAlDia: Boolean
            End;

Un regsitro es tratado por el programa como una única entidad y por ello un registro completo puede ser copiado (siempre que el destino de la copia sea del mismo tipo) así:

 Var registro1, registro2 : Socio;
 Begin
   { asignar los valores de los campos de ''registro1'' a ''registro2''}
   ...
   ...
  registro2 := registro1;
 End;

A los campos individuales se accede colocando un punto entre el nombre del registro y el nombre del campo, de esta forma:

  registro.Nombre := 'Jorge';
  registro.Apellidos := 'Pérez Serrano';
  registro.Telefono := 789534;
  registro.CuotasAlDia := TRUE;

Así mismo, una serie de campos pueden ser asignados de forma conjunta con la utilización del constructor WITH:

 WITH registro do
   begin
     Nombre := 'Jorge';
     Apellidos := 'Pérez Serrano';
     Telefono := 789534;
     CuotasAlDia := TRUE;
   end;

Los registros se utilizan mucho en Pascal, para agrupar elementos ligados lógicamente.