2020-02-23 14:47:37 +03:00
|
|
|
|
type
|
|
|
|
|
|
TPerson = record
|
|
|
|
|
|
fam: string[15];
|
|
|
|
|
|
name: string[10];
|
|
|
|
|
|
id: integer;
|
|
|
|
|
|
end;
|
|
|
|
|
|
type
|
|
|
|
|
|
PPerson = ^TPerson;
|
2020-02-24 22:08:13 +03:00
|
|
|
|
var x: array[1..3] of TPerson;
|
2020-02-23 14:47:37 +03:00
|
|
|
|
p: PPerson;
|
2020-02-24 22:08:13 +03:00
|
|
|
|
|
|
|
|
|
|
procedure test1;
|
2020-02-23 14:47:37 +03:00
|
|
|
|
begin
|
2020-02-24 22:08:13 +03:00
|
|
|
|
var p1: PPerson := @x[1];
|
|
|
|
|
|
for var i := 1 to 1000 do
|
|
|
|
|
|
begin
|
|
|
|
|
|
p1^.name := 'abc';
|
|
|
|
|
|
assert(p1^.name = 'abc');
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure test2;
|
|
|
|
|
|
begin
|
|
|
|
|
|
var p2: PPerson := @x[2];
|
|
|
|
|
|
for var i := 1 to 1000 do
|
|
|
|
|
|
begin
|
|
|
|
|
|
p2^.name := 'abc';
|
|
|
|
|
|
assert(p2^.name = 'abc');
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
begin
|
|
|
|
|
|
{$omp parallel sections}
|
|
|
|
|
|
begin
|
|
|
|
|
|
test1;
|
|
|
|
|
|
test2;
|
|
|
|
|
|
end;
|
2020-02-23 14:47:37 +03:00
|
|
|
|
p := @x[1];
|
|
|
|
|
|
p^.name := 'abc';
|
|
|
|
|
|
assert(p^.name = 'abc');
|
2020-02-24 22:08:13 +03:00
|
|
|
|
p := @x[2];
|
|
|
|
|
|
p^.name := 'def';
|
|
|
|
|
|
assert(p^.name = 'def');
|
2020-02-23 14:47:37 +03:00
|
|
|
|
end.
|