Existen varias formas de hacer cosas similares, queda en uno elegir la mas apropiada para la ocasión: Por ejemplo puedes hacerlo con un procedure que tenga cuatro parámetros var, o puedes hacerlo con una función que devuelva un record o un array.
Un Procedure:
Código:
procedure TraerValores(var AVar1, AVar2, AVar3, AVar4: Integer);
begin
...
end;
Con un Record:
Código:
type
TValores = record
Valor1,
Valor2,
Valor3,
Valor4 : Integer;
end;
...
function TraerValores: TValores;
begin
...
end;
Con un Array:
Código:
type
TValores = array of Integer;
...
function TraerValores: TValores;
begin
...
end;
Saludos!