Difference between revisions of "Record/ru"

From Lazarus wiki
Jump to navigationJump to search
(Перевод)
 
m
Line 55: Line 55:
 
   end;
 
   end;
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
{{AutoCategory}}

Revision as of 12:01, 9 July 2013

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

Структурный тип данных в Pascal .

В то время как простые структуры данных, такие как массивы или множества состоят из элементов одного типа, запись может состоять из нескольких элементов различных типов. Каждая отдельная часть записи называется поле.

Примеры записей:

type
  ExampleRecord = record
    Values: array[1..200] of Real;
    NumValues: Integer; 
    Average: Real;
  end;

  Member = record
    Firstname, Surname: string;
    Address: array[1..3] of string;
    Phone: Integer;
    Birthdate: TDateTime;
    PaidCurrentSubscription: Boolean;
  end;

Запись обрабатывается программой как одно целое, и записи могут быть скопированы таким образом:

var 
  a, b: Member;
begin
  { Заполнение полей записи a }
  ...
  ...
  b := a;
end;

Доступ к полям записи осуществляется через точку после имени переменной. Например:

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

C использованием ключевого слова with, к полям записи можно обращаться без указания переменной каждый раз с названием поля.

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