Hola.
Para esta solución usé 2 botones TButton y un TTimer.
Los botones empiezan deshabilitados y el OnTimer decide si se habilitan.
Código Delphi
[-]
procedure TForm1.Timer1Timer(Sender: TObject);
var
Horario:TDateTime;
begin
Button1.Enabled:=False;
Button2.Enabled:=False;
Horario:=GetTime;
if (Horario >= StrToDateTime('08:00:00')) and (Horario <= StrToDateTime('19:59:59')) then
Button1.Enabled:=True
else
if (Horario >= StrToDateTime('20:00:00')) and (Horario <= StrToDateTime('07:59:59')) then
Button2.Enabled:=True;
end;
Ahora tenés una idea de cómo hacerlo.
Saludos!