Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
505 praktycznych
skryptw dla webmastera
Autor: Marcin Lis
ISBN: 83-7361-749-3
Format: B5, stron: 944
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Wstp ............................................................................................. 15
Rozdzia 1. Dynamiczny HTML............................................................................ 21
Skrypty rne .................................................................................................................. 21
Skrypt 1. Blokada prawego przycisku myszy............................................................ 21
Skrypt 2. Okno powitalne.......................................................................................... 23
Skrypt 3. Okno poegnalne ....................................................................................... 24
Skrypt 4. Rozpoznanie typu przegldarki.................................................................. 24
Skrypt 5. adowanie rnych stron w zalenoci od typu przegldarki.................... 26
Skrypt 6. adowanie rnych stron w zalenoci od systemu operacyjnego ............ 27
Skrypt 7. Zmiana wygldu kursora myszy ................................................................ 28
Skrypt 8. Sprawdzenie poprawnoci danych w formularzu....................................... 30
Skrypt 9. Kalkulator.................................................................................................. 33
Skrypt 10. Automatyczne przenoszenie kursora midzy polami formularza............. 38
Skrypt 11. Zablokowanie moliwoci wpisywania okrelonych znakw
w formularzu.......................................................................................................... 39
Skrypt 12. Pole tekstowe dopasowujce swj rozmiar do wprowadzanego tekstu.... 40
Skrypt 13. Zmiana obrazka po najechaniu mysz (dynamiczne przyciski) ............... 42
Skrypt 14. Weryfikacja adresu e-mail ....................................................................... 43
Skrypt 15. Ukrycie adresu e-mail (antyspam) ........................................................... 45
Skrypt 16. Podwietlenie komrki tabeli................................................................... 46
Odnoniki ........................................................................................................................ 48
Skrypt 17. Zmiana kolorw odnonikw .................................................................. 48
Skrypt 18. Akapit tekstowy udajcy odnonik .......................................................... 49
Skrypt 19. Odnoniki w polu Combo ........................................................................ 49
Skrypt 20. Odnoniki w polu Combo z automatyczn zmian strony ....................... 51
Skrypt 21. Odnoniki na licie zwykej ..................................................................... 52
Skrypt 22. Odnoniki w polach wyboru typu radio................................................... 53
Skrypt 23. Odnoniki na przyciskach........................................................................ 54
Skrypt 24. Odnoniki z dodatkowym opisem w polu tekstowym.............................. 55
Skrypt 25. Odnoniki z dodatkowym wyrnieniem................................................. 57
Okna ................................................................................................................................ 59
Skrypt 26. Automatyczne zaadowanie innej strony [JavaScript] ............................. 59
Skrypt 27. Automatyczne zaadowanie innej strony [HTML]................................... 60
Skrypt 28. Automatyczne wczytanie innej strony z regulowanym opnieniem ...... 61
Skrypt 29. Uniemoliwienie wczytania strony do ramki........................................... 62
Skrypt 30. Dodanie strony do listy Ulubione ............................................................ 62
Skrypt 31. Ustawianie strony jako startowej ............................................................. 64
Spis treci
5
Skrypt 82. Pulsujca warstwa (ciemnianie i rozjanianie) ..................................... 135
Skrypt 83. Pywajca warstwa................................................................................. 136
Skrypt 84. Zegar pywajcy na warstwie HTML .................................................... 137
Skrypt 85. Tekst pynnie zmieniajcy kolor............................................................ 139
Skrypt 86. Skalowanie obrazu................................................................................. 142
Skrypt 87. Padajcy nieg (prosty efekt) ................................................................. 144
Skrypt 88. Padajcy nieg (efekt zaawansowany) ................................................... 145
Skrypt 89. Spadajca pika ...................................................................................... 148
Spis treci
7
Skrypt 179. Gwiazdy pynce po ekranie................................................................ 394
Skrypt 180. Gwiazdy warstwowe............................................................................ 396
Skrypt 181. Gwiazdy parametryczne ...................................................................... 399
Spis treci
9
Skrypt 275. Generowanie listy plikw do pobrania ................................................ 537
Skrypt 276. Wysanie ze strony WWW listu elektronicznego ................................ 537
Skrypt 277. Wysanie listu z walidacj adresw ..................................................... 540
Skrypt 278. Wysanie listu z ograniczeniem rozmiaru ............................................ 541
Skrypt 279. Odczytanie adresu IP komputera ......................................................... 543
Skrypt 280. Lista plikw z opisami......................................................................... 544
Skrypt 281. Lista plikw z identyfikatorami i opisami ........................................... 546
Skrypt 282. Sortowana lista plikw......................................................................... 548
Rozmaitoci................................................................................................................... 551
Skrypt 283. Strona zalena od adresu IP ................................................................. 551
Skrypt 284. Rozpoznanie typu przegldarki............................................................ 552
Skrypt 285. Strona zalena od typu przegldarki .................................................... 553
Skrypt 286. Strona zalena od systemu operacyjnego............................................. 555
Skrypt 287. Ochrona adresu e-mail przed spamem ................................................. 556
Skrypt 288. Ochrona adresu e-mail z wykorzystaniem pliku graficznego .............. 557
Skrypt 289. Lista odwiedzin strony......................................................................... 559
Skrypt 290. Ocenzurowanie tekstu.......................................................................... 561
Skrypt 291. Ocenzurowanie tekstu z wykorzystaniem zewntrznego sownika...... 562
Skrypt 292. Lista odnonikw................................................................................. 562
Skrypt 293. Lista odnonikw z opisami................................................................. 564
Skrypt 294. Sortowana lista odnonikw ................................................................ 565
Uytkownicy i hasa ...................................................................................................... 566
Skrypt 295. Haso dostpu do strony....................................................................... 566
Skrypt 296. Wiele hase dostpu ............................................................................. 568
Skrypt 297. Wiele hase dostpu II ......................................................................... 569
Skrypt 298. Strona zalena od kodu dostpu........................................................... 569
Skrypt 299. Logowanie uytkownikw................................................................... 571
Skrypt 300. Logowanie uytkownikw z kodowaniem danych .............................. 574
Skrypt 301. Zarzdzanie hasami ............................................................................ 575
Skrypt 302. Logowanie uytkownikw z danymi w kodzie skryptu ....................... 579
Skrypt 303. Generowanie losowego hasa............................................................... 580
Skrypt 304. Zablokowanie wybranych adresw IP ................................................. 580
Skrypt 305. Zablokowanie wybranych adresw IP z danymi w pliku..................... 581
Skrypt 306. Dopuszczenie jedynie wybranych adresw IP ..................................... 582
Skrypt 307. Dopuszczenie jedynie wybranych adresw IP II ................................. 583
Skrypt 308. Automatyczne logowanie..................................................................... 584
Skrypt 309. Strona zalena od nazwy uytkownika ................................................ 587
Skrypt 310. Powizanie nazwy uytkownika z adresem IP..................................... 589
Skrypt 311. Zliczanie liczby odwiedzin kadego uytkownika............................... 590
Skrypt 312. Ograniczenie liczby odwiedzin ze wzgldu na adres IP ...................... 592
Data i czas ..................................................................................................................... 594
Skrypt 313. Wywietlenie biecej daty i czasu...................................................... 594
Skrypt 314. Wywietlenie daty ostatniej modyfikacji strony .................................. 596
Skrypt 315. Wywietlenie dnia tygodnia................................................................. 597
Skrypt 316. Strona zalena od pory dnia................................................................. 598
Skrypt 317. Strona zalena od dnia tygodnia .......................................................... 599
Skrypt 318. Odliczanie dni...................................................................................... 600
Skrypt 319. Rnica midzy datami........................................................................ 601
Skrypt 320. Czas generowania strony ..................................................................... 603
Skrypt 321. Kalendarz............................................................................................. 604
Banery ........................................................................................................................... 607
Skrypt 322. Losowy baner ...................................................................................... 607
Skrypt 323. Losowy baner II (dane w tablicy) ........................................................ 608
Skrypt 324. Baner losowany z plikw z wybranego katalogu................................. 608
10
Spis treci
11
Skrypt 373. Zablokowanie wybranych adresw IP z symulacj braku dokumentu........706
Skrypt 374. Dopuszczenie jedynie wybranych adresw IP ..................................... 708
Skrypt 375. Dopuszczenie jedynie wybranych adresw IP II
(dane w pliku tekstowym) .................................................................................... 709
Skrypt 376. Przekierowanie na inn witryn........................................................... 710
Skrypt 377. Przekierowanie z opnieniem ............................................................ 711
Skrypt 378. Rozpoznanie typu przegldarki............................................................ 712
Skrypt 379. Rne wersje strony zalene od typu przegldarki .............................. 713
Skrypt 380. Rozpoznanie systemu operacyjnego klienta ........................................ 714
Skrypt 381. Rne wersje strony zalene od typu systemu operacyjnego............... 715
Skrypt 382. Inna wersja strony dla wybranych adresw IP..................................... 715
Skrypt 383. Rne wersje strony w zalenoci od adresu IP uytkownika ............. 716
Skrypt 384. Wysanie danych z formularza na adres e-mail.................................... 717
Skrypt 385. Wysanie listu elektronicznego ............................................................ 720
Skrypt 386. Wysanie wiadomoci e-mail z ograniczeniem rozmiaru listu............. 723
Skrypt 387. Wysanie listu elektronicznego z wykorzystaniem obiektu CDONTS........724
Skrypt 388. Sprawdzenie poprawnoci adresu e-mail ............................................. 726
Skrypt 389. Proste wysanie pliku do przegldarki ................................................. 727
Skrypt 390. Wysanie pliku do przegldarki z wykorzystaniem ADODB .............. 729
Skrypt 391. System pobierania plikw.................................................................... 730
Skrypt 392. System pobierania plikw z filtrowaniem danych ............................... 733
Skrypt 393. Pobieranie plikw z danymi w pliku tekstowym ................................. 735
Skrypt 394. Pobieranie plikw z opisami................................................................ 738
Skrypt 395. Pobieranie plikw z identyfikatorami .................................................. 741
Skrypt 396. Pobieranie plikw z identyfikatorami i opisami................................... 745
Skrypt 397. Pobieranie plikw z tabelarycznym wywietlaniem danych................ 747
Skrypt 398. Sortowana lista plikw do pobrania..................................................... 751
Systemy logowania (z danymi w systemie plikw)....................................................... 755
Skrypt 399. Strona zabezpieczona kodem dostpu (z przekierowaniem) ................ 755
Skrypt 400. Strona zabezpieczona kodem dostpu (bez przekierowania) ............... 756
Skrypt 401. Strona akceptujca wiele kodw dostpu ............................................ 757
Skrypt 402. Rne wersje strony w zalenoci od kodu dostpowego.................... 758
Skrypt 403. System logowania uytkownikw ....................................................... 759
Skrypt 404. System logowania uytkownikw
z danymi zapisanymi w pliku tekstowym ............................................................ 761
Skrypt 405. System logowania zapamitujcy stron startow ............................... 762
Skrypt 406. Tworzenie losowego hasa................................................................... 764
Skrypt 407. System logowania uwzgldniajcy adres IP uytkownika ................... 765
Skrypt 408. System logowania blokujcy wybrane adresy IP ................................. 767
Skrypt 409. System logowania dopuszczajcy jedynie wybrane adresy IP............. 769
Skrypt 410. Zliczanie liczby odwiedzin pojedynczego uytkownika...................... 771
Skrypt 411. Ograniczenie liczby logowa............................................................... 774
Data i czas ..................................................................................................................... 776
Skrypt 412. Wywietlanie aktualnej daty ................................................................ 776
Skrypt 413. Wywietlenie daty uwzgldniajce ustawienia systemowe serwera .... 778
Skrypt 414. Wywietlenie nazwy aktualnego dnia tygodnia ................................... 778
Skrypt 415. Pene okrelenie daty ........................................................................... 779
Skrypt 416. Rne wersje strony I (w zalenoci od pory dnia).............................. 780
Skrypt 417. Rne wersje strony II (w zalenoci od dnia tygodnia)...................... 782
Skrypt 418. Dynamicznie generowany kalendarz ................................................... 782
Skrypt 419. Obliczenie czasu generowania strony .................................................. 786
Skrypt 420. Odliczanie............................................................................................ 787
Skrypt 421. Okrelenie daty aktualizacji strony ...................................................... 789
12
Spis treci
13
Skrypt 468. Ograniczenie dostpu dopuszczajce jedynie wybrane adresy IP........ 874
Skrypt 469. Wysyanie poczty................................................................................. 875
Skrypt 470. Walidacja adresu e-mail....................................................................... 878
Skrypt 471. Wysyanie poczty z walidacj adresw................................................ 879
Skrypt 472. Wysyanie poczty z ograniczeniem dugoci listu ............................... 880
Skrypt 473. Wysyanie pliku................................................................................... 882
Skrypt 474. Pobieranie plikw I.............................................................................. 883
Skrypt 475. Pobieranie plikw II ............................................................................ 885
Skrypt 476. Pobranie pliku z serwera ftp ................................................................ 887
Skrypt 477. Wysanie pliku do serwera................................................................... 889
Data i czas ..................................................................................................................... 891
Skrypt 478. Wywietlenie aktualnej daty ................................................................ 891
Skrypt 479. Wywietlenie aktualnego dnia tygodnia .............................................. 892
Skrypt 480. Czas generowania strony ..................................................................... 893
Skrypt 481. Obliczenie liczby dni pozostaych do wybranej daty ........................... 894
Skrypt 482. Obliczanie rnicy dni pomidzy dwoma datami ................................ 896
Skrypt 483. Strona zalena od pory dnia................................................................. 898
Skrypt 484. Strona zalena od dnia tygodnia .......................................................... 899
Liczniki ......................................................................................................................... 899
Skrypt 485. Licznik tekstowy.................................................................................. 899
Skrypt 486. Licznik graficzny ................................................................................. 900
Skrypt 487. Licznik odrzucajcy niektre odwoania I ........................................... 901
Skrypt 488. Licznik odrzucajcy niektre odwoania II.......................................... 903
Skrypt 489. Licznik zliczajcy tylko jedno odwoanie z jednego adresu IP............ 904
Skrypt 490. Licznik przechowujcy dat pocztkow............................................. 906
Banery ........................................................................................................................... 907
Skrypt 491. Losowy baner ...................................................................................... 907
Skrypt 492. Losowy baner II................................................................................... 907
Skrypt 493. Baner losowany z wybranego katalogu................................................ 908
Skrypt 494. Baner zaleny od pory dnia ................................................................. 909
Skrypt 495. Baner zaleny od dnia tygodnia........................................................... 910
Skrypt 496. Wywietlanie banera w zalenoci od adresu IP.................................. 911
Autoryzacje ................................................................................................................... 912
Skrypt 497. Pojedyncze haso dostpu do strony .................................................... 912
Skrypt 498. Wiele hase dostpu do strony I ........................................................... 913
Skrypt 499. Wiele hase dostpu do strony II.......................................................... 914
Skrypt 500. Rne witryny w zalenoci od hasa dostpu ..................................... 915
Skrypt 501. Logowanie uytkownikw I ................................................................ 916
Skrypt 502. Logowanie uytkownikw II ............................................................... 917
Skrypt 503. Logowanie uwzgldniajce adres IP uytkownika .............................. 919
Skrypt 504. Rne witryny w zalenoci od nazwy uytkownika........................... 920
Skrypt 505. Logowanie blokujce niektre adresy IP ............................................. 921
Skorowidz...................................................................................... 923
Rozdzia 2.
Aplety
Graficzne napisy
Skrypt 90. Napis pywajcy w lewo
Wykorzystujc jzyk programowania Java, moemy napisa aplet, ktry bdzie realizowa efekt pynnego przewijania tekstu w poziomie. Tekst ten bdzie mg mie dowoln wielko, kolor czy krj czcionki. Takie zadanie realizuje klasa
przedstawiona na listingu 90B. Aplet powinien zosta osadzony w kodzie HTML za pomoc
znacznika
przedstawionego na listingu 90A. W tym znaczniku powinny zosta
uwzgldnione nastpujce parametry:
napis, ktry bdzie przewijany, warto domylna: Brak parametru text!
wielko czcionki, warto domylna: 36.
liczba pikseli, o ktr ma zosta przesunity tekst w kadym
152
/ 67 !,*7
5 !5/
5*8 9 /:
5*8 9 **/:
*64
!!"!**5*5!;6 4
<
"=$=!**:
**>,= **,:
!>,=!,:
*!:
'5!;5 :
?5 5:
@ *,! A=5 A:
4 !**' !:
*649BC
<
'BB *! 5B"CC6C
*! %* 56"D:
!#:
'#:
'BB!# 5B'!#CC6C
!#(-:
$<
'#?* !?B!#C:
E
,B"*C<
'#(-:
E
!**:
'BB!** 5B!*!*CC6C
!**+:
$<
!** , 4!B?* !?B!**CC:
E
,B"*C<
!**+:
E
**>,>,BC:
**,,BC:
'5!;5 B5!;5 = ='#C:
5 ?5 B **>,= **,C:
5 A5@ *,!BC:
A@ *,!BC:
A!B'5!;5 C:
!'5 A!BC:
!,'5,BC:
Rozdzia 2. Aplety
153
!>,'5!>,B *!C:
" **>,:
$BCBB **,F!,C
GC:
E
*649! BC
<
, , , B,!C:
, ! BC:
E
*649!*BC
<
!**6:
E
*6496BC
<
,BD!**C<
'B"H!>,C<
" **>,:
E
$<
, !*B+C:
E
,B?6*"*C<
E
"H!**:
5 A!ABA>?C:
5 A';B)=)= **>,= **,C:
5 A!ABA46C:
5 A!B'5!;5 C:
5 A B *!="=$C:
A ?5 B5=)=)=,!C:
E
E
E
Wykonywanie kodu rozpoczyna si od metody , ktra odczytuje wszystkie argumenty i przypisuje je odpowiadajcym im zmiennym. W razie koniecznoci s wykorzystywane wymienione wyej wartoci domylne. Oprcz tego w metodzie s wykonywane wstpne obliczenia oraz tworzone niezbdne obiekty. Za pomoc metod obiektu
klasy jest pobierana wysoko (metoda
) i szeroko (metoda
) napisu, jest take obliczane jego pooenie w pionie, tak aby znalaz si on
po rodku apletu w tym celu jest wykorzystywany wzr:
*#$8 *B$!%IJ *6F$!%IJ *!6C
G
154
Jest take tworzony nowy font, ktry bdzie wykorzystywany do rysowania napisu.
Korzystamy z czcionki z rodziny TimesRoman, ktra powinna by dostpna w wikszoci systemw. Mona si rwnie pokusi o przekazywanie nazwy czcionki w postaci
parametru apletu (tak jak np. jej rozmiar). W kodzie z listingu 90B pozostawiamy jednak t warto zapisan na stae w kodzie. W metodzie jest rwnie tworzony, za
pomoc metody
, obraz buforowy, ktry jest przypisywany zmiennej o nazwie
. Wszystkie operacje rysowania bd wykonywane na tym obrazie, a dopiero
po ich cakowitym zakoczeniu obraz ten bdzie wywietlany na powierzchni apletu.
Kod wtku realizujcego procedur animacji napisu jest zawarty w metodzie ! . Znajduje si tam ptla , ktra dziaa non stop, a do zakoczenia pracy apletu, co jest sygnalizowane zmian stanu zmiennej z na !. W kadym przebiegu ptli
wsprzdna napisu jest zmniejszana o warto zapisan w zmiennej , kontrolujcej szybko i pynno ruchu. Nastpnie jest wykonywane wyczyszczenie obszaru
rysowania ( "#$%&'()'()()
*+), ustawienie koloru i czcionki,
narysowanie napisu ( "#$
) & () () ,*+) oraz przeniesienie obrazu na
obszar apletu (
"#$
) &
() '() '() *+). W kadym przebiegu jest rwnie sprawdzane, czy wsprzdna napisu nie jest mniejsza od wartoci -,
co by oznaczao, e napis w caoci znalaz si za lewym brzegiem obszaru apletu.
W takiej sytuacji zmieniamy wsprzdn , tak aby napis zosta przesunity cakowicie
za prawy brzeg apletu, co jest rwnoznaczne z ponownym rozpoczciem przesuwania
napisu od prawej strony do lewej.
/ 67 !,*7
5 !5/
5*8 9 /:
5*8 9 **/:
*64
!!"!**5*5!;6 4
Rozdzia 2. Aplety
<
"=$=!**:
**>,= **,:
!>,=!,:
*!:
'5!;5 :
?5 5:
@ *,! A=5 A:
4 !**' !:
*649BC
<
'BB *! 5B"CC6C
*! %* 56"D:
!#:
'#:
'BB!# 5B'!#CC6C
!#(-:
$<
'#?* !?B!#C:
E
,B"*C<
'#(-:
E
!**:
'BB!** 5B!*!*CC6C
!**+:
$<
!** , 4!B?* !?B!**CC:
E
,B"*C<
!**+:
E
**>,>,BC:
**,,BC:
'5!;5 B5!;5 = ='#C:
5 ?5 B **>,= **,C:
5 A5@ *,!BC:
A@ *,!BC:
A!B'5!;5 C:
!'5 A!BC:
!,'5,BC:
!>,'5!>,B *!C:
"H!>,:
$BCBB **,F!,C
GC:
E
*649! BC
<
, , , B,!C:
, ! BC:
155
156
/ 67 !,*7
5 !5/
5*8 9 /:
5*8 9 **/:
*64
!!"!**5*5!;6 4
<
"=$=!**:
**>,= **,:
!>,=!,:
*!:
'5!;5 :
?5 5:
Rozdzia 2. Aplety
@ *,! A=5 A:
4 !**' !:
*649BC
<
'BB *! 5B"CC6C
*! %* 56"D:
!#:
'#:
'BB!# 5B'!#CC6C
!#(-:
$<
'#?* !?B!#C:
E
,B"*C<
'#(-:
E
!**:
'BB!** 5B!*!*CC6C
!**+:
$<
!**?* !?B!**C:
E
,B"*C<
!**+:
E
**>,>,BC:
**,,BC:
'5!;5 B5!;5 = ='#C:
5 ?5 B **>,= **,C:
5 A5@ *,!BC:
A@ *,!BC:
A!B'5!;5 C:
!'5 A!BC:
!,'5,BC:
!>,'5!>,B *!C:
"):
$BCBB **,F!,C
GC:
E
*649! BC
<
, , , B,!C:
, ! BC:
E
*649!*BC
<
!**6:
E
*6496BC
<
157
158
Rozdzia 2. Aplety
Listing 93A. Kod HTML ze znacznikiem #22.'6 z dodatkowymi parametrami
!!
"+#$%& $%!
"GL!##8%!
"(M8$*#$%& %!6
"!N(
'!#()
!*!*+
,-.)
,,+))
/ 67 !,*7
5 !5/
5*8 9 /:
5*8 9 **/:
5*8 9 6/:
*64
!!"!**5*5!;6 4
<
5O=$=!**=6"):
**>,= **,:
!>,=!,=! " !:
):
PQ"!:
!"=5":
'5!;5 :
?5 5:
@ *,! A=5 A:
4 !**' !:
*649BC
<
!"!N:
"!N:
'BB!"!N 5B"!NCC6C
!"!NG:
$<
"!N?* !?B!"!NC:
E
,B"*C<
"!NG:
E
159
160
Rozdzia 2. Aplety
161
!'5 A!BC:
!,'5,BC:
!>,'5!>,B5"C:
! " !'5 " !BC:
'B)C<
5O **>,:
E
!'B+C<
5OH!>,:
E
$BCBB **,F!,C
GC:
E
*6496BC
<
,BD!**C<
'B)C<
'B5OH!>,C<
'BFF6""!,C
6"):
5""!P6"Q:
+:
!"BC:
E
5OH!**:
E
!'B+C<
'B5O **>,C<
'BFF6""!,C
6"):
5""!P6"Q:
):
!"BC:
E
5OF!**:
E
$<
, !*B+C:
E
,B?6*"*C<
E
5 A!ABA,C:
5 A';B)=)= **>,= **,C:
5 A!ABA46C:
5 A!B'5!;5 C:
5 A B5"=5O=$C:
A ?5 B5=)=)=,!C:
E
E
E
Poniewa kady tekst moe mie inn dugo, przy kadej jego zmianie bd musiay
by modyfikowane rwnie wartoci zmiennych okrelajcych parametry animacji. Dlatego te obliczenia te zostay przeniesione do nowej metody o nazwie . Aktualny kierunek ruchu jest kontrolowany przez zmienn , warto 0 oznacza
162
ruch w lew stron, natomiast warto 1 ruch w praw stron. Aktualnie poruszajcy
si po ekranie tekst jest zawarty w zmiennej , natomiast wsprzdna tego tekstu
w zmiennej o nazwie 1.
Kod wtku wykonujcego animacj jest zawarty, podobnie jak we wczeniejszych
przykadach, w metodzie ! . Cz rysujca tekst na ekranie ma budow bardzo podobn
do wykorzystywanej w poprzednich przykadach, cho s wykorzystywane inne zmienne,
a pozostaa cz kodu jest rwnie zbudowana inaczej. Przede wszystkim s wykonywane rne fragmenty w zalenoci od kierunku ruchu, czyli od stanu zmiennej . Jeeli warto tej zmiennej jest rwna 0, a zatem ruch odbywa si w lewo, w kadym
przebiegu ptli warto zmiennej 1 jest zmniejszana o warto zmiennej .
Kiedy natomiast warto zmiennej jest rwna 1, czyli ruch odbywa si w prawo,
w kadym przebiegu ptli do zmiennej 1 jest dodawana warto zmiennej .
Jeeli ruch odbywa si w lewo i zostanie wykryte, e tekst znalaz si poza lew krawdzi ekranu (czyli prawdziwy jest warunek 1))-), nastpuje wymiana tekstu.
Zmiennej 1 jest przypisywany kolejny tekst z tablicy . Numer aktualnego tekstu
jest kontrolowany przez zmienn !. Jeeli ruch odbywa si w prawo, wymiana
tekstu nastpi dopiero wtedy, kiedy cakowicie zniknie on za praw krawdzi apletu,
czyli kiedy warunek 1))).) bdzie prawdziwy.
/ 67 !,*7
5 !5/
5*8 9 /:
5*8 9 **/:
*64
!!"!**5*5!;6 4
Rozdzia 2. Aplety
<
!O=5O=$=!**=6"):
**>,= **,:
!>,=!,=! " !:
PQ"!:
!"=5":
'5!;5 :
?5 5:
@ *,! A=5 A:
4 !**' !:
*649BC
<
! %6BA,C:
!"!N:
"!N:
'BB!"!N 5B"!NCC6C
!"!NG:
$<
"!N?* !?B!"!NC:
E
,B"*C<
"!NG:
E
"!P"!NQ:
!:
'B+:"!N:FFC<
'BB! 5B"FCC6C
! %* 56"FFD:
"!PH+Q!:
E
!#:
'#:
'BB!# 5B'!#CC6C
!#(-:
$<
'#?* !?B!#C:
E
,B"*C<
'#(-:
E
!**:
'BB!** 5B!*!*CC6C
!**+:
$<
!** , 4!B?* !?B!**CC:
E
,B"*C<
163
164
Rozdzia 2. Aplety
165
/ 67 !,*7
5 !5/
5*8 9 /:
5*8 9 **/:
166
Rozdzia 2. Aplety
$<
!** , 4!B?* !?B!**CC:
E
,B"*C<
!**+:
E
!":
5""!P)Q:
**>,>,BC:
**,,BC:
! %6BA,C:
'5!;5 B5!;5 = ='#C:
5 ?5 B **>,= **,C:
5 A5@ *,!BC:
A@ *,!BC:
A!B'5!;5 C:
!'5 A!BC:
!,'5,BC:
!>,'5!>,B5"C:
! " !'5 " !BC:
!O):
5O **>,:
$BCBB **,F!,C
GC:
; 5BC:
5AAB"?B+-RRRG+2CC:
!AAB"?B+-RRRG+2CC:
E
*649! BC
<
, , , B,!C:
, ! BC:
E
*649!*BC
<
!**6:
E
*6496BC
<
,BD!**C<
'B5O)C<
!"5":
!A5A:
5AAB"?B+-RRRG+2CC:
'BFF6""!,C
6"):
5""!P6"Q:
!'5 A!BC:
!,'5,BC:
!>,'5!>,B5"C:
! " !'5 " !BC:
167
168