[C++ Bulider] Zamiennik dla Sleep()

0

Witam!

Załóżmy taki kod:

void __fastcall TForm1::StartBtnClick(TObject *Sender)
{

    //Kod1

    Sleep();

    //Kod2

    Sleep();

    /Kod3
}

Otóż ort! zamienić jakoś te wywołania Sleep(), tak żeby program mógł funkcjonowac dalej - aby były funkcjonalne inne Button'y, a ten kod ze Sleep'ami wykonywał się jakby w tle. Myślałem o thread, ale muszę jeszcze <ort>o tym</ort> poczytać i nie jestem pewnien czy to by było dobre rozwiązanie. Proszę o pomoc. byłbym wdzięczny za jakiś przykładowy kod.

0

Miałbym to uzyć z thread? Mógłbyś napisać w jaki sposób?

0

o ile jest to staly odstep czasowy pomiedzy poszczegolnymi akcjami wklej sobie TTimer na forme ustaw w object inspector odpowiedni czas(Interval podaje sie w milisekundach) i Enabled na false a w zdarzeniu OnTimer:

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
switch(Timer1->Tag)
{
case 0:
/* Kod1 */
Timer1->Enabled = true;
break;
case 1: 
/* Kod2 */
break;
case 2: 
/* Kod3 */
Timer1->Enabled = false;
Timer1->Tag = 0;
break;
};

Timer1->Tag++; 
}

Twoj button:

void __fastcall TForm1::StartBtnClick(TObject *Sender)
{
if (!Timer1->Enabled)
Timer1Timer(Sender);
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1