provera akcije u toku izvršenja petlje

provera akcije u toku izvršenja petlje

offline
  • Pridružio: 12 Nov 2006
  • Poruke: 52

Zanima me kako mogu da u toku izvršenja neke duge petlje (for, while) privremeno obustavim izvršenje programa i proverim da li je bilo akcije od strane korisnika?

Primer: igra moj broj u "slagalici". Hoću da se u petlji menjaju brojevi sve dok korisnik ne pritisne dugme "stop".

Nešto oblika

randomize:
while true do
begin
lbl1.Caption:=Format('%.1d',[RandomRange(1,9)]);
lbl1.Update;

// sada da proverimo da li je korisnik kliknuo na dugme 'Stop' i izadjemo iz petlje.

Break;

end;



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Daj konkretan primer, posto mi padaju na pamet vise solucija, a sve zavisi od toga sta zelis da postignes.
Mozes da koristis threadove, za neke stvari mozes i application.processmessages itd.



offline
  • srdjos  Male
  • Zaslužni građanin
  • Pridružio: 27 Sep 2005
  • Poruke: 678

za početak, možeš to da uradiš preko obične promenjive
recimo boolean tipa, deklarišeš je i postaviš njenu
vrednost na false

pa onda:

procedure TNekaForma.Button1Click(Sender: TObject); begin   pressed := True; end;

i kasnije u petlji
  randomize:      while true do  begin     lbl1.Caption:=Format('%.1d',[RandomRange(1,9)]);     lbl1.Update; // sada da proverimo da li je korisnik kliknuo na dugme 'Stop' i izadjemo     if pressed then       Break;   end;

u kombinaciji sa Application.ProcessMessages

offline
  • Pridružio: 12 Nov 2006
  • Poruke: 52

Hvala , nedostajao mi je samo Application.ProcessMessages

Ko je trenutno na forumu
 

Ukupno su 762 korisnika na forumu :: 27 registrovanih, 3 sakrivenih i 732 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: alberto, Betty25, bobomicek, Bojan198527, bpvl, BUDDAR70, cojapop, Dusko_Dugousko, Electron, gorankuba, Lance Guest, Milos82, Muki 123, nnovakis, Orc, Paklenica, Pantaaa, sasakrajina, strn, troki1971, UAV operator, vidra1, yrraf, YugoSlav, Zorge, Đurđevdan, 223223