Ĺadny brzuch
ma ktoś pomysł jak utworzyć formularz który bedzie kolejno wyświetlał kolejne cyfry po 1s np 5,4,3,2,1.
Timerki razem nie dzialaja jak trzeba zresztą funkja sleep() też. Jak więc to wykonać ?
Użytkownik migajek edytował ten post 06 listopad 2005, 17:03
ma ktoś pomysł jak utworzyć formularz który bedzie kolejno wyświetlał kolejne cyfry po 1s np 5,4,3,2,1.
Timerki razem nie dzialaja jak trzeba zresztą funkja sleep() też. Jak więc to wykonać ?
Jakos nie bardzo kapuje :huh:
wyswietla sie formularz i widzisz odliczanie 5,4,3,2,1
a potem sie wylancza
nie, nie, nie
Jeszcze raz
Chce stworzyć formularz na którym widnieje liczba 5
następnie za 1s 4 za is 3 itd..
I nie mogę tego zrobić (stąd mój post)
próbowałem utworzyć kilka timerów
np
void __fastcall TForm2::Timer1Timer(TObject *Sender) { Label2->Caption="4"; } //----------------------------------------- void __fastcall TForm2::Timer1Timer(TObject *Sender) { Label2->Caption="3"; } //----------------------------------------- void __fastcall TForm2::Timer1Timer(TObject *Sender) { Label2->Caption="2"; } itd..
Ale to nie działa
Sleep(1000);
Label2->Caption="3";
Sleep(1000);
Label2->Caption="2";
Sleep(1000);
Label2->Caption="1";
też nie ponieważ dopuki kod nie zostanie wykonany do końca nie zobaczę żadnego z Labeła
Sorry za nie zrozumiałe sformułowanie postu
Ustaw Interval Timera na 1000 i w onTimer wpisz:
i+=1; if(i<5){ Label1->Caption=IntToStr(5-i); }
i dodaj do zmiennych globalnych zmienna:
int i;
(...)
Jeśli dobrze rozumiem, chodzi Ci o to, że na ekranie nie widzisz "efektów" pośrednich, tzn. widzisz stan początkowy i końcowy ?
Jeśli tak, to często pomaga wstawienie w odpowiednie miejsca kodu:
Application->ProcessMessage();
Jeśli dobrze rozumiem, chodzi Ci o to, że na ekranie nie widzisz "efektów" pośrednich, tzn. widzisz stan początkowy i końcowy ?
Jeśli tak, to często pomaga wstawienie w odpowiednie miejsca kodu:
Application->ProcessMessage();
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Timerki razem nie dzialaja jak trzeba zresztą funkja sleep() też. Jak więc to wykonać ?
Użytkownik migajek edytował ten post 06 listopad 2005, 17:03
ma ktoś pomysł jak utworzyć formularz który bedzie kolejno wyświetlał kolejne cyfry po 1s np 5,4,3,2,1.
Timerki razem nie dzialaja jak trzeba zresztą funkja sleep() też. Jak więc to wykonać ?

Jakos nie bardzo kapuje :huh:

wyswietla sie formularz i widzisz odliczanie 5,4,3,2,1
a potem sie wylancza

nie, nie, nie
Jeszcze raz
Chce stworzyć formularz na którym widnieje liczba 5
następnie za 1s 4 za is 3 itd..
I nie mogę tego zrobić (stąd mój post)
próbowałem utworzyć kilka timerów
np
void __fastcall TForm2::Timer1Timer(TObject *Sender) { Label2->Caption="4"; } //----------------------------------------- void __fastcall TForm2::Timer1Timer(TObject *Sender) { Label2->Caption="3"; } //----------------------------------------- void __fastcall TForm2::Timer1Timer(TObject *Sender) { Label2->Caption="2"; } itd..
Ale to nie działa
Sleep(1000);
Label2->Caption="3";
Sleep(1000);
Label2->Caption="2";
Sleep(1000);
Label2->Caption="1";
też nie ponieważ dopuki kod nie zostanie wykonany do końca nie zobaczę żadnego z Labeła
Sorry za nie zrozumiałe sformułowanie postu
Ustaw Interval Timera na 1000 i w onTimer wpisz:
i+=1; if(i<5){ Label1->Caption=IntToStr(5-i); }
i dodaj do zmiennych globalnych zmienna:
int i;
(...)
Jeśli dobrze rozumiem, chodzi Ci o to, że na ekranie nie widzisz "efektów" pośrednich, tzn. widzisz stan początkowy i końcowy ?
Jeśli tak, to często pomaga wstawienie w odpowiednie miejsca kodu:
Application->ProcessMessage();
Jeśli dobrze rozumiem, chodzi Ci o to, że na ekranie nie widzisz "efektów" pośrednich, tzn. widzisz stan początkowy i końcowy ?
Jeśli tak, to często pomaga wstawienie w odpowiednie miejsca kodu:
Application->ProcessMessage();
