Record/es

From Lazarus 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:

<delphi> 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;</delphi>

   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í:

<delphi> Var registro1, registro2 : Socio;

Begin
  { asignar los valores de los campos de registro1 a registro2}
  ...
  ...
 registro2 := registro1;
End;</delphi>

   A los campos individuales se accede colocando un punto entre el nombre del registro y el nombre del campo, de esta forma: <delphi> registro.Nombre := 'Jorge';

 registro.Apellidos := 'Pérez Serrano';
 registro.Telefono := 789534;
 registro.CuotasAlDia := TRUE;</delphi>

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

  begin
    Nombre := 'Jorge';
    Apellidos := 'Pérez Serrano';
    Telefono := 789534;
    CuotasAlDia := TRUE;
  end;</delphi>

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