|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Генерация случайного времени в промежутке
Здравствуйте! Нужно генерировать случайное время в заданном промежутке (например, 18:32:01..23:25:34).
Набросал вот такой код, но генерировать будет, если h1<h2 and m1<m2 and s1<s2. В общем, помогите Заранее спасибо! Код:
function TForm1.RandomRangeTime(h1,m1,s1,h2,m2,s2: integer): string; var t: TTime; stop: boolean; h, m, s: integer; begin randomize; stop:=false; while stop=false do begin h:=random(24); if h in [h1..h2] then stop:=true; end; stop:=false; while stop=false do begin m:=random(60); if m in [m1..m2] then stop:=true; end; stop:=false; while stop=false do begin s:=random(60); if s in [s1..s2] then stop:=true; end; t:=EncodeTime(h,m,s,0); result:=TimeToStr(t); end; |
#2
|
|||
|
|||
Как-то так:
Код:
function GetRandomTime(RangeStart, RangeEnd : TDateTime) : TDateTime; const DateTimeSecond = 1/(24*60*60); begin Result := RangeStart + Random(1+SecondsBetween(RangeStart, RangeEnd))*DateTimeSecond; end; |
#3
|
||||
|
||||
Спасибо!
|