Difference between revisions of "Record/es"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting; removed categories included in template)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Record}}[[category:Español]][[category:Castellano]]
+
{{Record}}
A highly structured data type in [[Pascal]] .
 
  
While simple data structures such as arrays or sets consist of elements all of the same type, a record can consist of a number of elements of different types, and can take on a huge complexity. Each separate part of a record is referred to as a Field.
+
Un [[Type|tipo]] de datos altamente estructurado en [[Pascal]] .  
  
Some examples of records:
+
Mientras las estructuras simples cómo [[Array|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:
 +
 +
<syntaxhighlight lang=pascal>
 
  Type
 
  Type
   ExampleRecord = Record
+
   RegistroEjemplo = Record
                     Values: array [1..200] of real;
+
                     Valores: array [1..200] of real;
                     NumValues: Integer; { holds the actual number of points in the array }
+
                     CuantosValores: Integer; { el número real de puntos en la matriz }
                     Average: Real { holds the average or mean of the values in the array }
+
                     Media: Real { el promedio o media de los valores en la matriz }
 
                   End;
 
                   End;
  
   Member = Record
+
   Socio = Record
               Firstname, Surname : string;
+
               Nombre, Apellidos : string;
               Address: array [1..3] of string;
+
               Direccion: array [1..3] of string;
               Phone : Integer;
+
               Telefono : Integer;
               Birthdate: TDateTime;
+
               FechaNacimiento: TDateTime;
               PaidCurrentSubscription: Boolean
+
               CuotasAlDia: Boolean
             End;
+
             End;</syntaxhighlight>
  
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:
+
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 a, b : Member;
+
<syntaxhighlight lang=pascal>
 +
  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;
+
  End;</syntaxhighlight>
 +
 
 +
A los campos individuales  se accede colocando un punto entre el nombre del registro y el nombre del campo, de esta forma:
 +
 
 +
<syntaxhighlight lang=pascal>
 +
  registro.Nombre := 'Jorge';
 +
  registro.Apellidos := 'Pérez Serrano';
 +
  registro.Telefono := 789534;
 +
  registro.CuotasAlDia := TRUE;</syntaxhighlight>
  
Individual fields are accessed by placing a dot between the record name and the field name thus:
+
Así mismo, una serie de campos pueden ser asignados de forma conjunta con la utilización del constructor WITH:
  a.firstname := 'George';
 
  a.surname := 'Petersen';
 
  a.phone := 789534;
 
  a.PaidCurrentSubscription := TRUE;
 
  
Alternatively, the whole series of fields can be made available together using the WITH construct:
+
<syntaxhighlight lang=pascal>
  with a
+
  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;
+
   end;</syntaxhighlight>
 
 
  
Records are widely used in Pascal, to group data items together logically.
+
Los registros se utilizan mucho en Pascal, para agrupar elementos ligados lógicamente.

Latest revision as of 04:53, 24 February 2020

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.