![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброе время суток! Нужна помощь! Есть два списка, нужно получить итоговый список в котором разница во времени между исходными списками больше 4 четырех часов!
Код:
procedure TForm1.btn3Click(Sender: TObject); var i,j:Integer; s1,s2,q:TDateTime; begin for i:= 0 to lst1.Items.Count-1 do s1:=StrToDateTime(lst1.Items.Strings[i]); for j:= 0 to lst2.Items.Count-1 do begin s2:=StrToDateTime(lst2.Items.Strings[j]); if s2>s1 then begin q := HoursBetween(s2,s1); if (Trunc(q)>4) and (Trunc(q)<>0) then lst3.Items.Add(floatToStr(q)+' s2>s1 '+datetimetostr(s2)) end else begin q := HoursBetween(s1,s2); if (Trunc(q)<4) and (Trunc(q)<>0) then lst3.Items.Add(floatToStr(q)+' s1>s2 '+datetimetostr(s1)) end; end; end; Последний раз редактировалось Admin, 14.05.2015 в 19:45. |
#2
|
||||
|
||||
![]() HoursBetween возвращает целое число часов, а не TDateTime. И, если имеется проверка q>4 (Trunc здесь не при делах), проверять на 0 уже не имеет смысла.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |