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 1161 korisnika na forumu :: 41 registrovanih, 3 sakrivenih i 1117 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: babaroga, bojankrstc, bolenbgd, Boris90, ccoogg123, DonRumataEstorski, dragoljub11987, dushan, Excalibur13, FileFinder, FOX, Goran 0000, hyla, ivan1973, Joco Skljoco, Karla, kolle.the.kid, laganini123, laurusri, Leonov, Lieutenant, Lošmi, milenko crazy north, nextyamb, ninareflex, NoOneEver Dreams, Ripanjac, Romibrat, S-lash, simazr, Simon simonović, Srle993, stegonosa, StepskiVuk, tomigun, Tores, Trpe Grozni, Valter071, W123, |_MeD_|, šumar bk2