record

recordは、複数の変数を一まとまりにしたい時などに使われます。例を見てください。

  type
    THuman = record
      Name: string;
      Age: Integer;
      Japanese: Boolean; // 日本人か?
    end;

    TForm1 = class(TForm)
      Button1: TButton;
      Memo1: TMemo;
      procedure Button1Click(Sender: TObject);
    private
      { Private 宣言 }
    public
      { Public 宣言 }
    end;

  var
    Form1: TForm1;

  implementation

  {$R *.dfm}

  procedure TForm1.Button1Click(Sender: TObject);
  var
    Human: array[0..2] of THuman;
    i: Integer;
  begin
    Human[0].Name := 'Satou';
    Human[0].Age := 15;
    Human[0].Japanese := True;

    Human[1].Name := 'David';
    Human[1].Age := 30;
    Human[1].Japanese := False;

    with Human[2] do // withを使うこともできます。
    begin
      Name := 'Suzuki';
      Age := 20;
      Japanese := True;
    end;

    Memo1.Clear;
    for i := Low(Human) to High(Human) do
    begin
      Memo1.Lines.Add(Human[i].Name + ' さん');
      Memo1.Lines.Add(IntToStr(Human[i].Age) + '才');
    end;

    Memo1.Lines.Add('日本人は....');
    for i := Low(Human) to High(Human) do
    begin
      if Human[i].Japanese = True then
        Memo1.Lines.Add(Human[i].Name + ' さん');
    end;
  end;

THumanの中にName, Age, Japaneseを入れています。それぞれの要素にアクセスするには.(ドット)を使ってやりますまた、withを使うことも出来ます。

最初は、record は何かを一まとめにしているとイメージしておくと良いのではないでしょうか。


up next
Last update 2002/3/21