Difference between revisions of "Record/es"

From Lazarus wiki
Jump to navigationJump to search
Line 21: Line 21:
 
             End;</delphi>
 
             End;</delphi>
  
&nbsp;&nbsp;&nbsp;A record is treated by the program as a single entity, and for example a whole record can be copied (provided the copy is of the same type) thus:
+
&nbsp;&nbsp;&nbsp;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 a, b : Member;
+
<delphi> Var registro1, registro2 : Socio;
 
  Begin
 
  Begin
   { assign values to the fields in Record a }
+
   { asignar los valores de los campos de ''registro1'' a ''registro2''}
 
   ...
 
   ...
 
   ...
 
   ...
  b := a
+
  registro2 := registro1;
 
  End;</delphi>
 
  End;</delphi>
  
&nbsp;&nbsp;&nbsp;Individual fields are accessed by placing a dot between the record name and the field name thus:
+
&nbsp;&nbsp;&nbsp;A los campos individuales  se accede colocando un punto entre el nombre del registro y el nombre del campo, de esta forma:
<delphi>  a.firstname := 'George';
+
<delphi>  registro.Nombre := 'Jorge';
   a.surname := 'Petersen';
+
   registro.Apellidos := 'Pérez Serrano';
   a.phone := 789534;
+
   registro.Telefono := 789534;
   a.PaidCurrentSubscription := TRUE;</delphi>
+
   registro.CuotasAlDia := TRUE;</delphi>
  
&nbsp;&nbsp;&nbsp;Alternatively, the whole series of fields can be made available together using the WITH construct:
+
&nbsp;&nbsp;&nbsp;Así mismo, una serie de campos pueden ser asignados de forma conjunta con la utilización del constructor WITH:
<delphi> with a
+
<delphi> WITH registro do
  do
 
 
   begin
 
   begin
     firstname := 'George';
+
     Nombre := 'Jorge';
     surname := 'Petersen';
+
     Apellidos := 'Pérez Serrano';
     phone := 789534;
+
     Telefono := 789534;
     PaidCurrentSubscription := TRUE
+
     CuotasAlDia := TRUE;
 
   end;</delphi>
 
   end;</delphi>
  
  
&nbsp;&nbsp;&nbsp;Records are widely used in Pascal, to group data items together logically.
+
&nbsp;&nbsp;&nbsp;Los registros se utilizan mucho en Pascal, para agrupar elementos ligados lógicamente.

Revision as of 02:02, 22 July 2008

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.