var
D1, D2: TDateTime;
R: Real;
begin
D1 := StrToDateTime('07:58:28');
D2 := StrToDateTime('08:03:57');
R := 0;
while (R < D1) or (R > D2) do
R := random(10000) / 10000;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
vStartTime, vEndTime: TTime;
T: Real;
R: Real;
begin
Randomize;
vStartTime := StrToTime('07:58:28');
vEndTime := StrToTime('08:03:57');
T := vEndTime - vStartTime;
R := Random;
while R > T do R := R - T;
Caption := TimeToStr(vStartTime + R);
end;