X
ďťż

Ładny brzuch

czesc mam tablice wspolrzednych i program ktory laczy te punkty rysujac kreseczki ale chce zeby bylo widac jak on je laczy i wstawilem Timer ... ale cos mi nie wychodzi

przy starcie programu OnCreate
Timer1.Enable:=false;

po kliknieciu w button wlacza sie zegar
procedure TForm1.Button3Click(Sender: TObject); begin  Timer1.Enable:=true; end;

... i dalej mam podwojna petle ktora rysuje linie
procedure TForm1.Timer1Timer(Sender: TObject); var i,j: Integer; begin for j:=... to ... do  begin   Timer1.Enabled:=true;   Image1.Canvas.MoveTo(x,y);   for i:=... to ... do    begin     Timer1.Enabled:=false;     Image1.Canvas.LineTo(x,y);    end;  end; end;

Timer1.Interval:=2000;

... i program rysuje mi ale wszystkie linie po uplywie 2 sec , a ja chce zeby narysowal pierwsza linie odczekal 2 sec i narysowal nastepna

jak to zrobic ?? jestem pewien ze to banal ale jakos nie potrafie... licze na wasza pomoc



Rysuj w wątku używając sleep(2000) lub pod przyciskiem i użyj takiego sleep-a:procedure _Sleep(s:integer); var i:integer; begin i:=gettickcount; if s>20 then repeat Application.ProcessMessages; until gettickcount-i>=s; end;

procedure TForm1.Button1Click(Sender: TObject); var i,j: Integer; begin for j:=... to ... do begin  Image1.Canvas.MoveTo(x,y);  for i:=... to ... do   begin    Sleep(2000);    Image1.Canvas.LineTo(x,y);   end; end; end;

jak zrobilem cos takiego to mi caly program staje i wraz rysuje wszystkie linie naraz

Zamiast Sleep(2000) daj _sleep(2000); i skopiuj sobie tę procedurkę, co ją Ci podałem (przed button1click) :rolleyes:
Użytkownik Cyrkiel edytował ten post 12 styczeń 2006, 16:05


ok dziala , wielkie dzieki, ale wyskakuje ostrzerzenie
[Warning] Unit1.pas(62): Combining signed and unsigned types - widened both operands

i jeszcze pytamko co robi to cos ;]
gettickcount

1. To nic :)
2. Oblicza czas od uruchomienia systemu podany z ms ;)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •  

    Drogi uzytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczac Ci coraz lepsze uslugi. By moc to robic prosimy, abys wyrazil zgode na dopasowanie tresci marketingowych do Twoich zachowan w serwisie. Zgoda ta pozwoli nam czesciowo finansowac rozwoj swiadczonych uslug.

    Pamietaj, ze dbamy o Twoja prywatnosc. Nie zwiekszamy zakresu naszych uprawnien bez Twojej zgody. Zadbamy rowniez o bezpieczenstwo Twoich danych. Wyrazona zgode mozesz cofnac w kazdej chwili.

     Tak, zgadzam sie na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerow w celu dopasowania tresci do moich potrzeb. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

     Tak, zgadzam sie na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerow w celu personalizowania wyswietlanych mi reklam i dostosowania do mnie prezentowanych tresci marketingowych. Przeczytalem(am) Polityke prywatnosci. Rozumiem ja i akceptuje.

    Wyrazenie powyzszych zgod jest dobrowolne i mozesz je w dowolnym momencie wycofac poprzez opcje: "Twoje zgody", dostepnej w prawym, dolnym rogu strony lub poprzez usuniecie "cookies" w swojej przegladarce dla powyzej strony, z tym, ze wycofanie zgody nie bedzie mialo wplywu na zgodnosc z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.