www.iDNES.cz Zprávy | Sport | Kultura | Ekonomika | Finance | Bydlení | Cestování | Auto | Hobby | Mobil | Technet | Ona | Xman | Revue | Blog | Video | Hry | více
reklama

nepřihlášen










reklama

ikonka pro Vás

 
   
     
Od:
Vladimír
Datum:
23.2.2012 11:43
Předmět:
Re: Pozdržení cyklu - Vyřešeno



Lubku, standardní Help k DoEvents praví:

DoEvents Function 
Yields execution so that the operating system can process other events.

Syntax
DoEvents( )

Remarks
The DoEvents function returns an Integer representing the number of open forms
 in stand-alone versions of Visual Basic, such as Visual Basic, Professional
Edition. DoEvents returns zero in all other applications.

DoEvents passes control to the operating system. Control is returned after the
operating system has finished processing the events in its queue and all keys in
the SendKeys queue have been sent.

V mém neumělém překladu to říká:
Funkce DoEvents předává řízení tak, že operační systém může
provádět ostatní procesy.
Funkce DoEvents vrací Integer s počtem otevřených formulářů v samostatně
stojících verzích Visual Basicu, jako je Visual Basic, Professional Edition. 
DoEvents vrací nulu v ostatních aplikacích.
DoEvents předá řízení operačnímu systému. Řízení je navráceno poté,
co operační systém dokončí provedení událostí ve své frontě a všechny
symboly z fronty SendKeys jsou odeslány.

Povídání je delší, ale toto je nejdůležitější. Ve VBA se to chová
víc jako metoda než funkce (zde dává zásadně nulu). Zato účinek na
provádění ostatních procesů je jednoznačný. Moje procedura Pauza je
prakticky převzata (včetně DoEvents) rovněž z nápovědy, tentokrát k
funkci Timer.

> ------------ Původní zpráva ------------
> Od: Lubek (excel@pandora.cz) <Tosek.Lubomir@azd.cz>
> Předmět: Re: Pozdržení cyklu - Vyřešeno
> Datum: 23.2.2012 11:18:23
> ----------------------------------------
> 
> Děkuju. I Vladimírovi.
> Rád bych tomu trochu rozuměl, tak ještě jednou:
> 
> Tedy je to metoda?
> 
> Konkrétně co to vlastně dělá:
> A) Čeká, co se bude dít a pokud se něco děje (např. ťuk do klávesy),
nechá to
> provést a ten cyklus to k tomu vrátí na další čekání? A když se nic
neděje?
> Anebo
> B) cyklus při průchodu příkazu DoEvents se přesvědčí, že se nic
nedělo a
> pokračuje v cyklování. A pokud se něco dělo, tak to nechá provést a pak
znovu
> drandí v cyklu? Čili bez cyklu je na houby?
> 
> Případně, dá se o tom někde něco podrobnějšího přečíst?
> 
> ________________________________
> From: MLejsek@rsts.cz (excel@pandora.cz) [mailto:MLejsek@RSTS.CZ]
> Sent: Thursday, February 23, 2012 10:42 AM
> To: Konference "Konference pro uživatele a vývojáře Microsoft Excel"
> Subject: RE: Re: Re: Re: Pozdržení cyklu - Vyřešeno
> Importance: Low
> 
> Vladimi neodpovida tak se pokusim ja.
> DoEvents preda kontrolu nad zdroji do OS, ktery po vykonani vsech aktualnich
> pozadavku (napriklad obsluha klavesnice a mysi) vrati kontrolu zpet excelu.
> ML
> 
> From: Lubek (excel@pandora.cz) [mailto:Tosek.Lubomir@azd.cz]
> Sent: Thursday, February 23, 2012 10:06 AM
> To: Konference "Konference pro uživatele a vývojáře Microsoft Excel"
> Subject: RE: Re: Re: Re: Pozdržení cyklu - Vyřešeno
> 
> Vladimíre, prosím, co tam dělá to DoEvents? Nápověda o něm mluví jen
jako o
> celočíselné funkci, tady mi to připadá spíš jako metoda.
> Dík.
> 
> ________________________________
> From: Vladimír (excel@pandora.cz) [mailto:vladimir.haj@seznam.cz]
> Sent: Wednesday, February 22, 2012 9:51 PM
> To: Konference "Konference pro uživatele a vývojáře Microsoft Excel"
> Subject: Re: Re: Re: Re: Pozdržení cyklu - Vyřešeno
> Importance: Low
> 
> Pro prodlevu používám nepoměrně raději proceduru, postavenou na funkci
Timer.
> Umožňuje pracovat se zlomky sekundy a pro krátké prodlevy je nepoměrně
> citlivější. Skutečně nastavuje přesnou dobu pauzy (na rozdíl od OnTime 
i Wait).
> Příklad jejího použití ve spojení s userformem je v příloze.
> 
> ---
> 
> ---
> 
> ---
> 
> ---
> 
> 
> 

   
     

 

Contact: ales.vondracek@volny.cz

(c) 2002-2010, MAFRA a.s.
Všechna práva vyhrazena. Společnost MAFRA a.s. nenese jakoukoliv zodpovědnost
za obsah rozesílaných příspěvků, nesou ji výlučně jejich autoři. Autoři jsou povinni respektovat pravidla