Pozdrav, kako da napravim aplikaciju u flash-u(as3), da mi racuna dane, naprimer, stavim danasnji datum i stavim datum za godinu dana, i kako vreme prolazi da oduzima jedan dan, npr, danas 365, sutra 364, prekosutra 364 itd...Ako bi mogao neko da mi da primer u .fla formatu bio bih mu neizmerno zahvalan.
Brojac dana actionscript 3.0
Zaključano
Zakačeno
Kada radiš sa datumima u Flash-u koristiš Date klasu. Kada vršiš poređenje datuma, odnosno kada treba da izračunaš razliku između 2 datuma moraš da pretvoriš datum u milisekunde a zatim možeš da ih konvertuješ u dane kako bi mogao da prikažeš razliku u danima. Za početak je potrebno da napraviš instancu klase Date:
Kada bi prikazao vrednost promenljive tekuciDatum dobio bi prikaz današnjeg datuma u obliku "DAN U NEDELJI - MESEC - SAT:MINUTE:SEKUNDE - GMT - GODINA" (na primer "Sat Jun 15 10:25:00 GMT+0200 2013"). Da bi konvertovao tekući datum u milisekunde koristićeš time svojstvo:
Sada treba da oduzmeš ovaj datum sa datumom koji je korisnik uneo u tekst polje (koje treba biti u formatu "MESEC/DAN/GODINA", na primer "6/15/2013"). Pošto je tekst koji se unese u tekstualno polje tipa String, pre nego što budeš mogao da manipulišeš sa njim moraš prethodno da ga pretvoriš u datum korišćenjem parse():
Ukoliko je datum u ispravnom formatu Flash će ga konvertovati u milisekunde, u suprotnom će se prikazati greška NaN (što znači Not A Number (nije broj)).
Ostalo je još da izračunaš razliku između unetog i tekućeg datuma u milisekundama:
Na kraju treba da tu vrednost pretvoriš u dane, a to ćeš postići jednostavnim proračunom:
1 sekunda = 1000 milisekundi
1 minut = 60 sekundi
1 sat = 60 minuta
1 dan = 24 sata
Kompletan kod izgleda ovako:
Na stage-u se nalaze dva tekstualna polja, jedno je input sa nazivom instance "inputTxt" u koje će korisnik da unese datum, a drugo je dinamičko koje ima naziv instance "razlikaDatumaTxt" i u kojem će se prikazivati razlika između unetog i sadašnjeg datuma u danima. Pritiskom na taster "izracunajBtn" prikazaće se razlika u danima. Ubacio sam i proveru da li je nešto uneto u "inputTxt" i da li je u ispravnom formatu, a ako nije prikazaće se greška. Pre nego što budeš mogao datum mogao da prikažeš u tekstualnom polju moraš prvo da ga konvertuješ u string korišćenjem toString() metode. Ovo je samo jedan mali primer na koji način možeš koristiti Date klasu u ActionScript-u. FLA možeš preuzeti iz priloga.
Code:
var tekuciDatum:Date = new Date();
var tekuciDatum:Date = new Date();
Kada bi prikazao vrednost promenljive tekuciDatum dobio bi prikaz današnjeg datuma u obliku "DAN U NEDELJI - MESEC - SAT:MINUTE:SEKUNDE - GMT - GODINA" (na primer "Sat Jun 15 10:25:00 GMT+0200 2013"). Da bi konvertovao tekući datum u milisekunde koristićeš time svojstvo:
Code:
var tekuciDatumMilisekunde:Number = tekuciDatum.time;
var tekuciDatumMilisekunde:Number = tekuciDatum.time;
Sada treba da oduzmeš ovaj datum sa datumom koji je korisnik uneo u tekst polje (koje treba biti u formatu "MESEC/DAN/GODINA", na primer "6/15/2013"). Pošto je tekst koji se unese u tekstualno polje tipa String, pre nego što budeš mogao da manipulišeš sa njim moraš prethodno da ga pretvoriš u datum korišćenjem parse():
Code:
var unetiDatum:Number = Date.parse(inputTxt.text);
var unetiDatum:Number = Date.parse(inputTxt.text);
Ukoliko je datum u ispravnom formatu Flash će ga konvertovati u milisekunde, u suprotnom će se prikazati greška NaN (što znači Not A Number (nije broj)).
Ostalo je još da izračunaš razliku između unetog i tekućeg datuma u milisekundama:
Code:
var razlikaDatumaMilisekunde:Number = unetiDatum - tekuciDatumMilisekunde;
var razlikaDatumaMilisekunde:Number = unetiDatum - tekuciDatumMilisekunde;
Na kraju treba da tu vrednost pretvoriš u dane, a to ćeš postići jednostavnim proračunom:
1 sekunda = 1000 milisekundi
1 minut = 60 sekundi
1 sat = 60 minuta
1 dan = 24 sata
Code:
var brojDana:int = razlikaDatumaMilisekunde/1000/60/60/24;
var brojDana:int = razlikaDatumaMilisekunde/1000/60/60/24;
Kompletan kod izgleda ovako:
Code:
izracunajBtn.addEventListener(MouseEvent.CLICK, prikaziDatum);
function prikaziDatum(event:MouseEvent):void{
var unetiDatum:Number = Date.parse(inputTxt.text);
if(isNaN(unetiDatum)){
razlikaDatumaTxt.text = "Morate uneti datum!";
inputTxt.setFocus();
} else {
var tekuciDatum:Date = new Date();
var tekuciDatumMilisekunde:Number = tekuciDatum.time;
var razlikaDatumaMilisekunde:Number = unetiDatum - tekuciDatumMilisekunde;
var brojDana:int = razlikaDatumaMilisekunde/1000/60/60/24;
razlikaDatumaTxt.text = brojDana.toString();
}
}
izracunajBtn.addEventListener(MouseEvent.CLICK, prikaziDatum);
function prikaziDatum(event:MouseEvent):void{
var unetiDatum:Number = Date.parse(inputTxt.text);
if(isNaN(unetiDatum)){
razlikaDatumaTxt.text = "Morate uneti datum!";
inputTxt.setFocus();
} else {
var tekuciDatum:Date = new Date();
var tekuciDatumMilisekunde:Number = tekuciDatum.time;
var razlikaDatumaMilisekunde:Number = unetiDatum - tekuciDatumMilisekunde;
var brojDana:int = razlikaDatumaMilisekunde/1000/60/60/24;
razlikaDatumaTxt.text = brojDana.toString();
}
}
Na stage-u se nalaze dva tekstualna polja, jedno je input sa nazivom instance "inputTxt" u koje će korisnik da unese datum, a drugo je dinamičko koje ima naziv instance "razlikaDatumaTxt" i u kojem će se prikazivati razlika između unetog i sadašnjeg datuma u danima. Pritiskom na taster "izracunajBtn" prikazaće se razlika u danima. Ubacio sam i proveru da li je nešto uneto u "inputTxt" i da li je u ispravnom formatu, a ako nije prikazaće se greška. Pre nego što budeš mogao datum mogao da prikažeš u tekstualnom polju moraš prvo da ga konvertuješ u string korišćenjem toString() metode. Ovo je samo jedan mali primer na koji način možeš koristiti Date klasu u ActionScript-u. FLA možeš preuzeti iz priloga.
Potpis
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
Hvala na ovome, sigurno ce mi biti potrebno, ali nisi me dobro razumeo, hocu naprimer da program ispisuje danas broj 365,a onda posle 24h da ispisuje 364, i tako dalje, i da kad se svaki put udje u program da mi sacuva taj broj, i naprimer ja udjem u program za deset dana a ono da pise 355.