program Project1;
{$MODE delphi}
type
TTest = Record
Name : String ;
ValuesA : Integer ;
ValuesB : Integer ;
end ;
TTestArray = array of TTest;
TTestArrayHelper = record helper for TTestArray
function MaxA: Integer;
function MaxB: Integer;
end;
function TTestArrayHelper.MaxA: Integer;
var
t: TTest;
begin
Result := -MaxInt;
for t in self do
if t.ValuesA > Result then Result := t.ValuesA;
end;
function TTestArrayHelper.MaxB: Integer;
var
t: TTest;
begin
Result := -MaxInt;
for t in self do
if t.ValuesB > Result then Result := t.ValuesB;
end;
var
test: TTestArray;
begin
SetLength(test, 2);
test[0].Name := 'A';
test[0].ValuesA := 11;
test[0].ValuesB := 2;
test[1].Name := 'B';
test[1].ValuesA := 10;
test[1].ValuesB := 20;
WriteLn(test.MaxA);
WriteLn(test.MaxB);
ReadLn;
end.