Record型の配列変数に初期値を入れる方法は??

解決


AS  2023-02-04 20:44:16  No: 150768  IP: [192.*.*.*]

実は、子供にdelphiを教えているのですが、参考文献が手持ちにないので、1994年に買ったベストCプログラム集を参考にしています。配列に初期値を入れることは私のプログラムではないので、ここで質問させていただきます。
私のプログラムでは、procudeure Aput のように使い、データの保存、読み込みに使用しています。

初期値として、入れる方法を教えてください。
よろしくお願いします。

unit PSubProDD;

interface

uses
  Windows, Messages, SysUtils,  Classes,   Graphics, Controls, Forms, Dialogs,
  DateUtils,Registry;

type
  Dtype = packed record
     name: string;
    Price: integer;
  end;

  procedure APut;

implementation

var
   a:array[1..4] of Dtype =
      (('Orange',200),('Apple',400),('Melon',800),('Fig',100));
  DD:Dtype;
  nm:string;
 sll:integer;

{$R *.dfm}

procedure APut;
begin
 DD.name:='Orange';  DD.price:=200;  a[1]:=DD;
 DD.name:='Apple';   DD.price:=400;  a[2]:=DD;
 DD.name:='Melon';   DD.price:=800;  a[3]:=DD;
 DD.name:='Fig';     DD.price:=100;  a[4]:=DD;
end;

end.

編集 削除
mam  2023-02-06 00:52:26  No: 150769  IP: [192.*.*.*]

Delphiのバージョンによって使えるかわかりませんが、Delphi XE10.2では以下で初期値を入れることができます。

var
  Form1: TForm1;
  a:array[1..4] of DType=
  (
    (name:'Orange';price:200),
    (name:'Apple' ;price:400),
    (name:'Melon' ;price:800),
    (name:'Fig'   ;price:100)
  );

編集 削除
AS  2023-02-07 10:39:51  No: 150770  IP: [192.*.*.*]

mamさん、ありがとうございました。
また、よろしくお願いします。

編集 削除