Pagina de start a forumului Nike.MyForum.ro Nike.MyForum.ro
Nike Forum
 
 FAQFAQ   CautareCautare   MembriMembri   GrupuriGrupuri   InregistrareInregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

[Delphi]WaitableTimer

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Nike.MyForum.ro -> Delphi
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
Nike
Administrator
Administrator
Nike

Data inscrierii: 07/Ian/2009
Mesaje: 36

MesajTrimis: 15/01/2009 20:23    Titlul subiectului: [Delphi]WaitableTimer Raspunde cu citat (quote)

O alternativa API la TTimer-ul din Delphi ar fi crearea unui Waitable Timer, care, cel putin aparent, are o rezolutie mai buna.

Un waitable timer blocheaza executia thread-ului in care e folosit pentru o durata specificata de timp.

Mai jos am pus un exemplu de folosire, in Delphi, a unui întocmai timer.

Code:
Cod:
procedure TForm1.WaitableTimer;
const sec = 10000000;
var wTimer, lBusy : Longint;
    interval : LARGE_INTEGER;
begin
  wTimer := CreateWaitableTimer(nil, True, PANSIChar('myWaitableTimer' + IntToStr(GetTickCount)));
  {e o idee buna sa-i dam un nume unic - dar poate avea si nume gol}

  interval.QuadPart :=  - sec * 3; {numarul de secunde}
                                   {valoare negativa = valoare relativa}
                                   {valoare pozitiva = valoare absoluta}

  Repeat
    SetWaitableTimer(wTimer, TLargeInteger(interval), 0, nil, nil, false);
    lBusy := WaitForSingleObject(wTimer, INFINITE);
    If lBusy = WAIT_OBJECT_0 Then
      Begin
        Do_Something; {aici se pune codul care se doreste executat la fiecare X secunde}
        {e o idee buna sa se puna aici si o conditie de terminare a buclei :) }
      End;
  Until False;

  CancelWaitableTimer(wTimer);

  CloseHandle(wTimer);
end;
Sus
Vezi profilul utilizatorului Trimite mesaj privat
tabernaculum
Junior
Junior


Data inscrierii: 30/Iun/2012
Mesaje: 6
Localitate: Uganda

MesajTrimis: 16/07/2012 23:50    Titlul subiectului: Raspunde cu citat (quote)

How cool is that!
Sus
Vezi profilul utilizatorului Trimite mesaj privat
tabernaculum
Junior
Junior


Data inscrierii: 30/Iun/2012
Mesaje: 6
Localitate: Uganda

MesajTrimis: 18/07/2012 12:38    Titlul subiectului: Raspunde cu citat (quote)

How cool is that!
Sus
Vezi profilul utilizatorului Trimite mesaj privat
noganoga
Junior
Junior


Data inscrierii: 09/Iul/2012
Mesaje: 5
Localitate: Israel

MesajTrimis: 07/08/2012 06:07    Titlul subiectului: Raspunde cu citat (quote)

I had no idea how to approach this before-now I'm locked and laoedd.
Sus
Vezi profilul utilizatorului Trimite mesaj privat
noganoga
Junior
Junior


Data inscrierii: 09/Iul/2012
Mesaje: 5
Localitate: Israel

MesajTrimis: 08/08/2012 17:38    Titlul subiectului: Raspunde cu citat (quote)

Every good article that I read completes my inner world. Thank you for your. She also contributed its share.
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Nike.MyForum.ro -> Delphi Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


Powered by phpBB © 2001, 2005 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro