Difference between revisions of "Record"

From Free Pascal wiki
Jump to navigationJump to search
Line 1: Line 1:
 
{{Record}}
 
{{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.
+
A highly structured data [[Type|type]] in [[Pascal]] .
 +
 
 +
While simple data structures such as [[Array|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.
  
 
Some examples of records:
 
Some examples of records:
  
 +
<delphi>
 
  Type
 
  Type
 
   ExampleRecord = Record
 
   ExampleRecord = Record
Line 20: Line 22:
 
               PaidCurrentSubscription: Boolean
 
               PaidCurrentSubscription: Boolean
 
             End;
 
             End;
 +
</delphi>
  
 
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:
 
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:
  
 +
<delphi>
 
  Var a, b : Member;
 
  Var a, b : Member;
 
  Begin
 
  Begin
Line 30: Line 34:
 
   b := a
 
   b := a
 
  End;
 
  End;
 +
</delphi>
  
 
Individual fields are accessed by placing a dot between the record name and the field name thus:
 
Individual fields are accessed by placing a dot between the record name and the field name thus:
 +
<delphi>
 
   a.firstname := 'George';
 
   a.firstname := 'George';
 
   a.surname := 'Petersen';
 
   a.surname := 'Petersen';
 
   a.phone := 789534;
 
   a.phone := 789534;
 
   a.PaidCurrentSubscription := TRUE;
 
   a.PaidCurrentSubscription := TRUE;
 +
</delphi>
  
Alternatively, the whole series of fields can be made available together using the WITH construct:
+
Alternatively, the whole series of fields can be made available together using the [[With|WITH]] construct:
 +
<delphi>
 
  with a  
 
  with a  
 
   do
 
   do
Line 46: Line 54:
 
     PaidCurrentSubscription := TRUE
 
     PaidCurrentSubscription := TRUE
 
   end;
 
   end;
 
+
</delphi>
  
 
Records are widely used in Pascal, to group data items together logically.
 
Records are widely used in Pascal, to group data items together logically.

Revision as of 07:12, 22 July 2008

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

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.

Some examples of records:

<delphi>

Type
  ExampleRecord = Record
                    Values: array [1..200] of real;
                    NumValues: Integer; { holds the actual number of points in the array }
                    Average: Real { holds the average or mean of the values in the array }
                  End;
  Member = Record
             Firstname, Surname : string;
             Address: array [1..3] of string;
             Phone : Integer;
             Birthdate: TDateTime;
             PaidCurrentSubscription: Boolean
           End;

</delphi>

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:

<delphi>

Var a, b : Member;
Begin
  { assign values to the fields in Record a }
  ...
  ...
  b := a
End;

</delphi>

Individual fields are accessed by placing a dot between the record name and the field name thus: <delphi>

 a.firstname := 'George';
 a.surname := 'Petersen';
 a.phone := 789534;
 a.PaidCurrentSubscription := TRUE;

</delphi>

Alternatively, the whole series of fields can be made available together using the WITH construct: <delphi>

with a 
  do
  begin
    firstname := 'George';
    surname := 'Petersen';
    phone := 789534;
    PaidCurrentSubscription := TRUE
  end;

</delphi>

Records are widely used in Pascal, to group data items together logically.