A ver, se trata de una función suelta, no es para que la pongas dentro de ningún evento. Tal función la usarías en el momento que desees:
Código Delphi
[-]
implementation
uses Date Utils;
function LaboralAnterior(ADate: TDate): TDate;
const
Dias: array[1..7] of Integer = (3, 1, 1, 1, 1, 1, 2);
begin
Result:= ADate - Dias[DayOfTheWeek(ADate)];
end;
procedure TForm7.FormCreate(Sender: TObject);
begin
...
end;
procedure TForm7.FormActivate(Sender: TObject);
begin
HFecha.DateTime := LaboralAnterior(Now);
end;
// Saludos