Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Auto kontrola vremena - ne prikazuje rezultat

[es] :: Pascal / Delphi / Kylix :: Auto kontrola vremena - ne prikazuje rezultat

[ Pregleda: 1193 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bobans72

Član broj: 314360
Poruke: 103



Profil

icon Auto kontrola vremena - ne prikazuje rezultat16.02.2016. u 01:30 - pre 53 meseci
Pozdrav.

Imam tri Edit-a u svakom editu je postavljeno vreme koje se medjusobno razlikujua zatim imam dva tajmera jedan prikazuje proteklo vreme a drugi
vrši kalkulaciju izmedju ovih tri edita i treba da mi prikaže rezultat izmedju ovih tri edita u labelu u mom slučaju je to Label1.

Evo koda:

Code:

procedure TForm1.FormShow(Sender: TObject);
begin

 timer1.enabled:=True;
 timer2.enabled:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label14.Caption :=formatdatetime('hh:nn:ss',now);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin

  if (label14.Caption > maskedit1.Text) and (label14.Caption <= maskedit2.Text) then
begin
  Label1.Caption:='1';
  end else
  if (label14.Caption > maskedit2.Text) and (label14.Caption <= maskedit3.Text) then
begin
  Label1.Caption:='2';
  end else
  if (label14.Caption > maskedit3.Text) and (label14.Caption <= maskedit1.Text) then
begin
  Label1.Caption:='3';
end;


E sada mi je tu problem pri pokretanju aplikacije neće da automatski prikaže da li je to 1,2,3 samo kada izvršim promenu vremena u bilo kom editu
onda kada proteklo vreme prodje zadato vreme tada automatski prebaci broj 1 ili 2 ili 3 a na pokretanju forme neće da detektuje.
Ili treba neka izmena u kodu ili da se nešto doda molim za pomoć.
Boban
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2628



+69 Profil

icon Re: Auto kontrola vremena - ne prikazuje rezultat16.02.2016. u 01:54 - pre 53 meseci
Najlakše je da u OnFormShow ili OnFormCreate eventu forme pozoveš Timer2Timer metodu, npr: Timer2Timer(Self);

Alternativa je (malo lepše organizovana ali radi istu stvar) da ceo kod iz Timer2Timer metode prebaciš u posebnu proceduru koju ćeš nazvati recimo Calculate.
Dalje sve što si imao u Timer2Timer metodi obrišeš i samo ostaviš poziv ka Calculate. I na kraju u OnShow ili OnCreate isto pozoveš Calculate.
 
Odgovor na temu

bobans72

Član broj: 314360
Poruke: 103



Profil

icon Re: Auto kontrola vremena - ne prikazuje rezultat16.02.2016. u 03:25 - pre 53 meseci
Neće ponovo raditi probao sam kako si napisao ali i dalje ne prepoznaje samo kada je ručni unos vremena.
Možda su potrebne neke izmene , evo prikačio sam izvorni kod pa pogledajte u čemu je greška.

Auto kontrola vremena
Boban
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 192
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Auto kontrola vremena - ne prikazuje rezultat16.02.2016. u 08:24 - pre 53 meseci
Code:
procedure TForm1.Calculate;
begin
  if (GetTime > StrToTime(maskedit1.Text)) and (GetTime <= StrToTime(maskedit2.Text)) then
begin
  Label1.Caption:='1';
  end else
  if (GetTime > StrToTime(maskedit2.Text)) and (GetTime <= StrToTime(maskedit3.Text)) then
begin
  Label1.Caption:='2';
  end else
  if (GetTime > StrToTime(maskedit3.Text)) and (GetTime <= StrToTime(maskedit1.Text)) then
begin
  Label1.Caption:='3';
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
  Timer1.Enabled:=True;
  Timer2.Enabled:=True;
 // Calculate;   nepotrebno
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label14.Caption :=formatdatetime('hh:nn:ss',now);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Calculate;
end;

Nikad izvini!
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Auto kontrola vremena - ne prikazuje rezultat16.02.2016. u 08:32 - pre 53 meseci
Idi po breakpointovima. Mislim da imaš situaciju kada ti nije zadovoljen niti jedan uvjet. I ja ne bi baš na taj način provjeravao koje vrijeme je veće a koje manje. Nisam 100% siguran da će ti to uvijek dobro raditi. Narpavi funkciju gdje uspoređuješ vrijeme a ne stringove.
F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Auto kontrola vremena - ne prikazuje rezultat

[ Pregleda: 1193 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.