Druss21 napisał: Ja zrobilem cos takiego, przykladowo dla 10sekund.
licznik:=licznik+1;
if licznik>50 then
begin
zapalenie swiatla
end;
Problem jest w tym ze wiem jak wyzerowac licznik ale gdziekolwiek go wpisze jest caly czas zero i swiatlo gasnie. Zeruje licznik poleceniem licznik:=0. Drugi problem to ze to zliczanie zaczyna sie z startem programu czyli jak zaktyje po 2 sekundach fototranzystor to zapali sie po 8, a jak powyzej 10s to zapali sie natychmiastowo. Jesli dam if licznik = 50 to swiatlo mignie tylko w czasie 10s.
Nie wiem dokładnie co chcesz osiągnąć, co ma robić program itd.
Apropo tej zmiennnej licznik upewnij się czy to zmienna lokalna czy globalna czyli nie ma jakiegoś przesłaniania się. Ja bym dał zmienną globalną w tym przypadku.
Zaliczanie czyli start timera (Timer1->Enabled =true) nie musi być przecież z momentem startu programu. W komponencie Timer1 ustawiasz mu na false, ale timer możesz sobie potem uruchamiać jakimś przyciskiem czy podwójnym kliknięciem na jakimś panelu, itd (czyli w obsługę przycisku dajesz Timer1->Enabled =true).
I wypadało by w którymś momencie zatrzymać timer, zresetować licznik i np. zacząć cykl od początku. U ciebie timer chyba działa w nieskończoność.