Na formie masz 2 TlabeledEdit'y o nazwach jeden (jak widzę na podstawie kodu) eCzasDo a drugi pewnie eCzasOd
Tylko nie wiem jak taki komponent wygląda i nie wiem jakie może mieć właściwości, chodzi mi o to czy rzeczywiście ma "możliwość" Checked?
Ale mniejsza o to.
Ustaw więc w onChange obydwu tych komponentów tą samą procedurę np eCzasDoChange
Sprawdź warunek czy cokolwiek zostało wpisane do komponentów Od i Do tzn jeżeli wpisana jest data do obydwu to liczy a jeżeli nie to nic nie robi i np.
var wCzasOd, wCzasDo, wGodzOd, wGodzDo, wMin, wSec, wMSec : Cardinal;
i, roznicza : Integer;
if ((Length(eCzasDo.Text) > 0) and (Length(eCzasOd.Text)) then
begin
//teraz tutaj podajesz co ma zrobić jeżeli oba pola są wypełnione
//jeżeli podajesz czas w formacie czasu to możesz tutaj sprawdzić np
//czy podany format jest prawidłowy itd.
//jeżeli wszystko jest OK przechodzimy do obliczania i
//możesz rozdzielić wprowadzony czas na składniki podstawowe
//używając funkcji
DecodeTime(wCzasOd, wGodzOd, wMin, wSec, wMSec);
//gdzie wCzasOd - to wprowadzony czas
//a wGodzOd to liczba godzyn wyciągnięta przez funkcję z wprowadzonego czasu
DecodeTime(wCzasDo, wGodzDo, wMin, wSec, wMSec);
//dekodowanie powtarzasz 2 razy raz dla jednego potem dla drugiego edita
//teraz odejmujesz czasy, może się zdarzyć że różnica wyjdzie ujemna więc
//wyciągasz wartość bezwzględną z odjętych czasów
roznica := abs(wGodzDo - wGodzOd);
//i tworzysz tyle elementow ile Ci potrzeba przy pomocy pętli for
for i:=1 to roznica do
begin
//tutaj tworzysz obiekty które mają się pojawiać na formie i reprezentować jak
//przypuszczam zdarzenia o określonej godzinie a dokładniej między godzinami
//Caption takiego komponentu będzie
Caption = '"' + IntToStr(wGodzOd+i-1) + ' - ' + IntToStr(wGodzOd+i) + '"';
end;
end
else
begin
//a jeżeli pola są puste lub jedno z nich przynajmniej jest puste to
//możesz np. wyświetlić jakiś komunikat
//lub deaktywować jakieś inne komponenty
end;
Potem sprubój jak to nie pomoże konwertować czas na Integer albo normalnie odejmować czasy i tworzyć względem tego odpowiednią liczbę komponentów
Text jest pisany bez testu na Delphi więc może zawierać błędy za co przepraszam