Types pascal-如何将记录键作为过程参数传递?

Types pascal-如何将记录键作为过程参数传递?,types,parameters,record,pascal,procedure,Types,Parameters,Record,Pascal,Procedure,我对pascal中的record+过程没有什么问题。我已将记录声明为类型,并希望此记录键作为过程中的参数 以下是记录结构和声明: person = record name:string[20]; age:integer; end; var x:person 我有这个过程,我不知道在参数中插入什么: procedure out(param); begin writeln(param); end; 以及程序主体中的调用过程: x.name := 'Obama'; x.age :=

我对pascal中的record+过程没有什么问题。我已将记录声明为类型,并希望此记录键作为过程中的参数

以下是记录结构和声明:

person = record
  name:string[20];
  age:integer;
end;

var x:person
我有这个过程,我不知道在参数中插入什么:

procedure out(param);
begin
  writeln(param);
end;
以及程序主体中的调用过程:

x.name := 'Obama';
x.age := 35;

out(x.name);
out(x.age);

如何访问记录的某个键以及如何将其传入参数?谢谢

你为什么不把这个人传出去,然后写下姓名和年龄?因为我不想把所有的钥匙都写在记录里,那你需要什么?你所做的只是给writeln取别名?记录只是语法糖,它在编译过程中会消失。你不能像Person['name']那样做任何事情。如果你真的需要出去,那么它;s gong必须是大修、OutName、OutName和age等。您正在了解我们提出OO的原因(您不能编写一个过程同时接受同一参数中的字符串和整数。请编写单独的过程。如果您在答案中添加一些解释或参考(例如文档),效果会更好。
procedure out(param:person);
begin
  writeln(param.name);
  writeln(param.age);
end;