Delphi FAQ

Animowana ikona

adiblol

Czy widziałeś kiedyś w programie The Bat nietoperzka machającego skrzydłami na belce, i chciałbyś mieć taką animowaną ikonę w swoim programie? Jeśli tak, to ta wskazówka jest DLA CIEBIE!

Na początek tworzymy wszystkie fazy animacji i zapisujemy je jako ico_f.ico w katalogu aplikacji. Następnie uruchamiamy Delphi i ładujemy projekt, który ma mieć animowaną ikonkę. Na formie, na której ma być ta ikonka wstawiamy komponent Timer z zakładki System i ustawiamy wartość Interval na to, co ile ma się zmieniać faza (w tysięcznych częściach sekundy). Teraz klikamy dwukrotnie na Timer i wpisujemy:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 i := i+1;
 if not fileexists('ico_f'+IntToStr(i)+'.ico') then i := 1;
 Form1.Icon.LoadFromFile('ico_f'+IntToStr(i)+'.ico');
end; 

Następnie przechodzimy do części Interface i szukamy VAR, gdzie dopisujemy

i : Integer;

I to koniec! Pamiętajmy, aby w kodzie zamiast Form1 wpisać nazwę formularza, na którym znajduje się ten Timer. Zamiast TForm1 może znajdować się w procedurze coś innego, najczęściej TCośtam. Jeśli zaś już korzystamy ze zmiennej i, to musimy nazwać ją inaczej, i również w procedurze zmienić nazwę zmiennej i na odpowiednią.

Zobacz też:

FAQ

12 komentarzy

Coldpeer: a nie lepiej zamiast specjalnie tworzyć zmienną globalną "i", zrobić:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i : integer;
begin
?

Nie lepiej, bo wtedy za każdym uruchomieniem OnTimer i wynosiłoby zero, czyli by nie działało (zmienne zadeklarowane w funkcji/procedurze są kasowane po wyjściu z niej)

Zademonstruj jakąś własną sex-animację, to dostaniesz awans PODRYWATORA :P

a nie lepiej zamiast specjalnie tworzyć zmienną globalną "i", zrobić:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i : integer;
begin
? :p

To nie lepiej bylo wgrac to chociaz w resourcy :/>>>>>?????
kiepsko....

Heyah Banana!

jakim moderatorem - adminem! adibLOLku posluchaj : odpusc se bo jeszcze troche i uznam ze nie zartujesz publikujac te artykuly i programy... PODLIZYWACZU maly :P

hahaha...nie no nigdy nic nie wiadomo :> Może gdzieś, za górami....za lasami...ale wątpie :D

W ten oto sposób mamy lolka roku!

niezla ta animacja
moze do studia filmow rysonkowych idz pracy poszukac :P

// Pisałem z głowy - mogą być błędy
// Chyba dostanę przywileje od Admina?

no myśle że po takiej wskazówce, to nie ma bata, od jutra jesteś moderatorem