SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Lekcja 17. Ćwiczenie: Prosty kalkulator
Autor Wiadomość
roland 
Site Admin
Roland Zimek



Wersja SWiSH: Max4
Pomógł: 31 razy
Wiek: 58
Dołączył: 21 Sty 2005
Posty: 424
Skąd: Opole
Wysłany: Wto 30 Sie, 2005 09:52   Lekcja 17. Ćwiczenie: Prosty kalkulator

Zanim poznamy kolejne polecenia języka skryptowego, wykonajmy prostą animację działającą jak kalkulator. Poznaliśmy już niemal wszystkie potrzebne nam polecenia.

Utwórz dwa pola tekstowe i nazwij je odpowiednio Liczba i Wynik. Pierwsze z nich pozwoli na wprowadzanie wartości liczbowych, a drugie na wyświetlanie obliczonego wyniku. Pole tekstowe Liczba ustaw jako Input Text, a Wynik jako Dynamic Text i wpisz domyślną wartość 0.

Następnie utwórzmy obiekt, dzięki któremu spowodujemy dodanie wartości wpisanej do pola Liczba i wartości w polu Wynik. Niech obiekt ten nazywa się Dodawanie. Wpisujemy następujący skrypt:
Kod:
on (press) {
    Wynik.text=Number(Wynik.text)+Number(Liczba.text);
    Liczba.text="";
}

Jedynym nowym elementem który się tutaj pojawił to funkcja Number(), powodująca zamianę wartości na liczbę. Gdybyśmy jej nie użyli, to wpisane wartości w polu Liczba byłyby traktowane jako tekst, a nie liczba i wynikiem na przykład następującego dodawania 3+4 byłoby 34.

I to w zasadzie wszystko co musimy zrobić, nasz kalkulator działa. Nie jest on niestety zabezpieczony przed wpisywaniem wartości nie będących liczbami, więc może się zdarzyć sytuacja powodująca niepoprawne działanie.

Ciekawym rozszerzeniem możliwości kalkulatora, jest możliwość zapamiętywania wartości. W tym celu wprowadź dwa nowe obiekty i nazwij je PamiecP oraz PamiecR. Pierwsza z nich będzie służyła do zachowania pod zmienną Pamiec wartości w polu Wynik, a druga do wpisania zapamiętanej wartości do pola tekstowego Liczba.

Wpisujemy następujące skrypty. Dla PamiecP:
Kod:
on (press) {
    Pamiec=Number(Wynik.text);
}


oraz dla PamiecR:
Kod:
on (press) {
    Liczba.text=Pamiec;
}


Należałoby także przed pierwszym użyciem zmiennej Pamiec przypisać jej wartość. Dokonamy tego wpisując dla Scene_1:
Kod:
onLoad () {
    Pamiec=0;
}


Przetestuj działanie kalkulatora. Możesz go także pobrać w postaci pliku, na końcu tej lekcji.

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="120">
<param name="movie" value="http://swish.wodip.opole.pl/forum/_screen/script_MiniKalkulator.swf">
<param name="quality" value="high">
<embed src="http://swish.wodip.opole.pl/forum/_screen/script_MiniKalkulator.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="120"></embed>
</object>

Postaraj się samodzielnie rozbudować jego działanie o kolejne działania: odejmowanie, mnożenie i dzielenie. Możesz także dodać dodatkową pamięć, czy przycisk „zerujący” ustawienia kalkulatora.
 
     
5uck 
Praktyk



Pomógł: 2 razy
Dołączył: 20 Sie 2007
Posty: 32
Skąd: tu się wziełeś?
Wysłany: Sro 16 Sty, 2008 13:13   

Czy można zapisać do pliku tekstowego wynik naszego działania?
 
     
stefcio 
Ekspert



Pomógł: 24 razy
Wiek: 32
Dołączył: 14 Lut 2006
Posty: 530
Skąd: wawa
Wysłany: Sro 16 Sty, 2008 17:29   

Jedyny znany mi sposob to sposob z wykorzystaniem php.
_________________
Stefan
Kliknij na przycisk Pomógł--jak ci pomogłem:))
 
 
     


Wysłany: Pią 13 Lut, 2009 11:02   

Oczekuje na akceptację
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.17 sekundy. Zapytań do SQL: 14