1&1 DSL
Flashhilfe.de - Flash Community

Völlig falsches Datum angezeigt [Flash 9]

Forum > ActionScript 2.0 > Völlig falsches Datum angezeigt

 


AntwortenRegistrieren Seite1  

 10.10.2009, 22:39 
Beiträge: 11
Registriert: Oct 2009

Völlig falsches Datum angezeigt
hallo zusammen,

ich setze mich erst seit kurzer zeit mit flash auseinander, da ich eigentlich grafiker bin und programmieren bisher ein buch mit 700 siegeln für mich war. die einfachen funktionen (wysiwyg) begreife ich duch tutorials und flashhilfe meist, doch jetzt habe ich ein problem das meine stark begrenzten kenntnisse übersteigt:

ich habe anhand eines sehr guten tutorials (http://www.onetwomax.de/magazin/11421/)
eine digitaluhr gebastelt, bei der es wichtig war auf eigene symbole zurückzugreifen.
das hat prima funktioniert, dann habe ich es selbstständig mit dem datum versucht...

anstelle des 10.10.2009 wird der 06.09.1090 angezeigt! da die scriptbefehle für mich böhmische dörfer sind poste ich sie hier, damit mir vielleicht ein profi sagen kann was genau ich ändern muss...

ActionScript:
1
2
3
4
5
6
7
8
9
onClipEvent(enterFrame) {
    date = new Date();
    day = date.getDay();
    day = (day < 10) ? "0" + String(day) : String(day);
    month  = date.getMonth();
    month  = (month < 10) ? "0" + String(month) : String(month);
    year  = date.getYear();
    year  = (year < 10) ? "0" + String(year) : String(year);
}


die ensprechenden movieclips enthalten folgendes script:

ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.day.substr(0,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.day.substr(1,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.month.substr(0,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.month.substr(1,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.year.substr(0,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.year.substr(1,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.year.substr(2,1)) + 1);
}
ActionScript:
1
2
3
onClipEvent (enterFrame) {
    gotoAndStop (Number(_parent.action.year.substr(3,1)) + 1);
}


ich hoffe ich konnte mich verständlich machen... ich hätte es gar nicht weiter versucht wenn nichts passiert wär, aber es ist halt "nur" ein völlig falsches datum. vielen dank im voraus!
 10.10.2009, 23:17Re1
Benutzerbild von Kerstin77
Beiträge: 924
Registriert: Jul 2008

Hallo,

erstell auf der Bühne ein dynamisches Textfeld mit dem Instanznamen "uhr_txt" und teste folgendes Skript, einfach auf der Hauptzeitleiste einfügen:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function digitaluhr():Void {
   
   var s:String = "";
   var jetzt:Date = new Date();
   
   // Tag
   if (jetzt.getDate() < 10) s = "0";
   s += String(jetzt.getDate()) + ".";
   
   // Monat
   if (jetzt.getMonth()+1 < 10) s += "0";
   s += String(jetzt.getMonth()+1) + ".";
   
   // Jahr
   s += String(jetzt.getFullYear()) + " ";
   
   // Stunde
   if (jetzt.getHours() < 10) s += "0";
   s += String(jetzt.getHours()) + ":";
   
   // Minute
   if (jetzt.getMinutes() < 10) s += "0";
   s += String(jetzt.getMinutes()) + ":";
   
   // Sekunde
   if (jetzt.getSeconds() < 10) s += "0";
   s += String(jetzt.getSeconds());
   
   // Funktionswert zurückgeben
   uhr_txt.text = s;
}

// Digitaluhr beim Start ausführen
digitaluhr();

// regelmäßiger Aufruf
setInterval(digitaluhr, 1000);


Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
 10.10.2009, 23:47Re2
Beiträge: 11
Registriert: Oct 2009

Themenautor/in

funtioniert einwandfrei, danke.

leider löst das nicht mein problem mit den eigenen ziffersymbolen, die ich gerne verwenden würde (wenn ich das richtig verstanden habe). sollte sich da keine lösung finden werde ich wohl auf ein dynamisches textfeld zurückgreifen müssen.

ich habe meine übungsdatei mal drangehängt, falls jemand zeit und lust hat sie sich anzusehen.
Geändert von flashnizm am 10.10.09 um 23:53 Uhr

 
nicht sichtbar bei eingeloggten Mitgliedern
 11.10.2009, 09:42Re3
Benutzerbild von Kerstin77
Beiträge: 924
Registriert: Jul 2008

kein Anhang da
Wer Rechtschreibfehler findet, darf sie gerne behalten.
 11.10.2009, 09:50Re4
Beiträge: 11
Registriert: Oct 2009

Themenautor/in

tatsächlich. seltsam, gestern war er noch da. also auf ein neues.

uhr_test.fla (49.50 KB)
 11.10.2009, 11:21Re5
Benutzerbild von Kerstin77
Beiträge: 924
Registriert: Jul 2008

Hi,

setz die 0 in dem MC mit den Ziffern auf Frame 10  ("1" auf Frame 1, "2" auf Frame 2 usw.) und folgendes Skript auf die Hauptzeitleiste:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
function digitaluhr():Void {

   var jetzt:Date = new Date();

   // Tag
   if (jetzt.getDate()<10) {
      day1.gotoAndStop(10);
      day2.gotoAndStop(jetzt.getDate());
   } else {
      Number(String(jetzt.getDate()).substr(1, 1)) == 0 ? day2.gotoAndStop(10) : day2.gotoAndStop(Number(String(jetzt.getDate()).substr(1, 1)));
   }

   // Monat
   if (jetzt.getMonth()+1<10) {
      month1.gotoAndStop(10);
      month2.gotoAndStop(jetzt.getMonth()+1);
   } else {
      Number(String(jetzt.getMonth()+1).substr(1, 1)) == 0 ? month2.gotoAndStop(10) : month2.gotoAndStop(Number(String(jetzt.getMonth()+1).substr(1, 1)));
   }

   // Jahr
   year1.gotoAndStop(Number(String(jetzt.getFullYear()).substr(0, 1)));
   Number(String(jetzt.getFullYear()).substr(1, 1)) == 0 ? year2.gotoAndStop(10) : year2.gotoAndStop(Number(String(jetzt.getFullYear()).substr(1, 1)));
   Number(String(jetzt.getFullYear()).substr(2, 1)) == 0 ? year3.gotoAndStop(10) : year3.gotoAndStop(Number(String(jetzt.getFullYear()).substr(2, 1)));
   Number(String(jetzt.getFullYear()).substr(3, 1)) == 0 ? year4.gotoAndStop(10) : year4.gotoAndStop(Number(String(jetzt.getFullYear()).substr(3, 1)));

   // Stunde
   if (jetzt.getHours() == 0) {
      hour1.gotoAndStop(10);
      hour2.gotoAndStop(10);
   } else if (jetzt.getHours>0 && jetzt.getHours()<10) {
      hour1.gotoAndStop(10);
      hour2.gotoAndStop(jetzt.getHours());
   } else {
      hour1.gotoAndStop(Number(String(jetzt.getHours()).substr(0, 1)));
      Number(String(jetzt.getHours()).substr(1, 1)) == 0 ? hour2.gotoAndStop(10) : hour2.gotoAndStop(Number(String(jetzt.getHours()).substr(1, 1)));
   }

   // Minute
   if (jetzt.getMinutes() == 0) {
      minute1.gotoAndStop(10);
      minute2.gotoAndStop(10);
   } else if (jetzt.getMinutes()>0 && jetzt.getMinutes()<10) {
      minute1.gotoAndStop(10);
      minute2.gotoAndStop(jetzt.getMinutes());
   } else {
      minute1.gotoAndStop(Number(String(jetzt.getMinutes()).substr(0, 1)));
      Number(String(jetzt.getMinutes()).substr(1, 1)) == 0 ? minute2.gotoAndStop(10) : minute2.gotoAndStop(Number(String(jetzt.getMinutes()).substr(1, 1)));
   }

   // Sekunde
   if (jetzt.getSeconds() == 0) {
      second1.gotoAndStop(10);
      second2.gotoAndStop(10);
   } else if (jetzt.getSeconds()<10) {
      second1.gotoAndStop(10);
      second2.gotoAndStop(jetzt.getSeconds());
   } else {
      second1.gotoAndStop(Number(String(jetzt.getSeconds()).substr(0, 1)));
      Number(String(jetzt.getSeconds()).substr(1, 1)) == 0 ? second2.gotoAndStop(10) : second2.gotoAndStop(Number(String(jetzt.getSeconds()).substr(1, 1)));
   }

}

// Digitaluhr beim Start ausführen
digitaluhr();

// regelmäßiger Aufruf
setInterval(digitaluhr,1000);


Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 11.10.2009, 12:13Re6
Beiträge: 11
Registriert: Oct 2009

Themenautor/in

juchuuu, genau so wollte ich es haben! danke vielmals!
 23.10.2009, 17:56Re7
Beiträge: 11
Registriert: Oct 2009

Themenautor/in

hallo mal wieder,

leider ist mir doch noch ein bzw zwei fehler aufgefallen:

1. das heutige datum (23.10.2009) wird nicht korrekt angezeigt, sondern 13.10.2009.
stelle ich die systemuhr auf den 13. oder den 03. ist die anzeige wiederum korrekt.

datum: 23.10.2009
anzeige: 13.10.2009

2. die uhrzeit wird falsch angezeigt wenn die erste stunde 0 beträgt, dann werden die stellen umgedreht und die 0 duch die 1 ersetzt, beispiel:

uhrzeit: 03:57
anzeige: 31:57

da der code für mich etwas zu hoch ist wäre ich für (wiederholte) hilfe äußerst dankbar!

grüße
rouven
 23.10.2009, 18:38Re8
Benutzerbild von Kerstin77
Beiträge: 924
Registriert: Jul 2008

uups, das sollte nicht passieren.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
function digitaluhr():Void {

   var jetzt:Date = new Date();
   var tag:Number = jetzt.getDate();
   var monat:Number = jetzt.getMonth()+1;
   var jahr:Number = jetzt.getFullYear();
   var stunde:Number = jetzt.getHours();
   var minute:Number = jetzt.getMinutes();
   var sekunde:Number = jetzt.getSeconds();

   // Tag
   if (tag<10) {
      day1.gotoAndStop(10);
      day2.gotoAndStop(tag);
   } else {
      day1.gotoAndStop(Number(String(tag).substr(0, 1)));
      Number(String(tag).substr(1, 1)) == 0 ? day2.gotoAndStop(10) : day2.gotoAndStop(Number(String(tag).substr(1, 1)));
   }

   // Monat
   if (monat<10) {
      month1.gotoAndStop(10);
      month2.gotoAndStop(monat);
   } else {
      Number(String(monat).substr(1, 1)) == 0 ? month2.gotoAndStop(10) : month2.gotoAndStop(Number(String(monat).substr(1, 1)));
   }

   // Jahr
   year1.gotoAndStop(Number(String(jetzt.getFullYear()).substr(0, 1)));
   Number(String(jahr).substr(1, 1)) == 0 ? year2.gotoAndStop(10) : year2.gotoAndStop(Number(String(jahr).substr(1, 1)));
   Number(String(jahr).substr(2, 1)) == 0 ? year3.gotoAndStop(10) : year3.gotoAndStop(Number(String(jahr).substr(2, 1)));
   Number(String(jahr).substr(3, 1)) == 0 ? year4.gotoAndStop(10) : year4.gotoAndStop(Number(String(jahr).substr(3, 1)));

   // Stunde
   if (stunde == 0) {
      hour1.gotoAndStop(10);
      hour2.gotoAndStop(10);
   } else if (stunde>0 && stunde<10) {
      hour1.gotoAndStop(10);
      hour2.gotoAndStop(stunde);
   } else {
      hour1.gotoAndStop(Number(String(stunde).substr(0, 1)));
      Number(String(stunde).substr(1, 1)) == 0 ? hour2.gotoAndStop(10) : hour2.gotoAndStop(Number(String(stunde).substr(1, 1)));
   }

   // Minute
   if (minute == 0) {
      minute1.gotoAndStop(10);
      minute2.gotoAndStop(10);
   } else if (minute>0 && minute<10) {
      minute1.gotoAndStop(10);
      minute2.gotoAndStop(minute);
   } else {
      minute1.gotoAndStop(Number(String(minute).substr(0, 1)));
      Number(String(minute).substr(1, 1)) == 0 ? minute2.gotoAndStop(10) : minute2.gotoAndStop(Number(String(minute).substr(1, 1)));
   }

   // Sekunde
   if (sekunde == 0) {
      second1.gotoAndStop(10);
      second2.gotoAndStop(10);
   } else if (jetzt.getSeconds()<10) {
      second1.gotoAndStop(10);
      second2.gotoAndStop(sekunde);
   } else {
      second1.gotoAndStop(Number(String(sekunde).substr(0, 1)));
      Number(String(sekunde).substr(1, 1)) == 0 ? second2.gotoAndStop(10) : second2.gotoAndStop(Number(String(sekunde).substr(1, 1)));
   }

}

// Digitaluhr beim Start ausführen
digitaluhr();

// regelmäßiger Aufruf
setInterval(digitaluhr,1000);


So ist es vielleicht auch etwas übersichtlicher ;-)

Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
Geändert von Kerstin77 am 23.10.09 um 18:40 Uhr

 24.10.2009, 02:53Re9
Beiträge: 11
Registriert: Oct 2009

Themenautor/in

einwandfrei! alles so wie´s sein soll!

wieder mal ein dickes dankeschön Kerstin!

:D
 
Themen
Ähnliche Beiträge zum Thema
 

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de