Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-05-2011, 23:51   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2007
Beiträge: 3
Flashstar Kalender umbauen / eine horizontale Reihe + KW

Hallo,

würde gerne den Flashstar-Kalender (swf im Anhang) etwas umbauen, so wie in der Kalender-Grafik (ebenfalls im Anhang).

Die Tage des Monats sollen also nicht mehr untereinander in mehreren Zeilen stehen, sondern in einer langen Zeile.

Ausserdem soll der jeweilige Tag über der Zahl stehen und über jeder einzelnen Woche die Kalenderwochenzahl (KW) angezeigt werden.

Wenn ich die Spaltenzahl verändere stehen die Zahlen zwar in einer Reihe, aber die Zuordnung zu den Tagen (MO-SO) passt nicht mehr.
Bisher habe ich es außerdem nur geschafft, die aktuelle Kalenderwoche anzeigen zu lassen, nicht aber für jede Woche die dazugehörige Kalenderwoche. –> siehe swf im Anhang

Weiss da jemand weiter? Ich dachte eigentlich ich beherrsche Flash schon ganz gut, merke aber jetzt, dass ich noch ziemlich am Anfang bin!

Würde mich sehr über Hilfe freuen, auch wenn es nur einen Teil meiner fragen betrifft :-)

Hier das Script:

Code:
// Prototypes
Date.prototype.getMonthDays = function(pJahr,pMonat) {
	return (new Date(pJahr,pMonat+1,0).getDate());
};

Date.prototype.getDayName = function(pTag) { 
    return ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"][pTag] 
} 

Date.prototype.getMonthName = function(pMonat) { 
    return  ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"][pMonat] 
} 

 	function fKalenderWoche(_d0)
{ var tag = 86400000;
  var _d1 = new Date(_d0.getTime()+(3-(_d0.getDay()+6)%7)*tag);
  var _d2 = new Date(_d1.getFullYear(), 0, 4);
  var _d3 = new Date(_d2.getTime()+(3-(_d2.getDay()+6)%7)*tag);
  return Math.floor(1.5+(_d1.getTime()-_d3.getTime())/tag/7);
}
//
// Anwendungsbeispiel
for (var _jahr = 2001; _jahr<=2010; _jahr++)
{ var _txt = "Im Jahr "+_jahr+" beginnt die 1. Woche am: ";
  var _tag = 0;
  while (++_tag)
  { if (fKalenderWoche(new Date(_jahr, 0, _tag)) == 1)
    { trace(_txt+_tag+(_tag == 1 ? ".sten" : ".ten")+" Tag");
      break;
} } }

// Verwenden
datum = new Date();
jahr = datum.getFullYear();
monat = datum.getMonth();


aktTag = datum.getDate();
aktWochentag = datum.getDay();
aktMonat = datum.getMonth();
aktJahr = datum.getFullYear();
ersterTag = new Date(jahr,monat,0).getDay();
tage =datum.getMonthDays(jahr,monat);

// Heute
aktMonatName = datum.getMonthName(aktMonat);
aktTagName = datum.getDayName(aktWochentag);

datumtxt = aktTagName + ", " + aktTag + ". " + aktMonatName + " " + aktJahr

// Kalenderwoche
function kalenderwoche(datum){ 
    if(datum){ 
        Datum = datum 
        Datum = Datum.split("."); 
        tag1 = Datum[0]; 
        mon1 = Datum[1]; 
        yea1 = Datum[2]; 
        Datum = new Date(yea1,mon1-1,tag1); 
    } else { 
        Datum = new Date(); 
        } 
     

    DoDat=donnerstag(Datum); 
    kwjahr=DoDat.getFullYear(); 
    DoKW1=donnerstag(new Date(kwjahr,0,4)); 
    kwtxt=Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/86400000/7); 
    return kwtxt; 
} 

function donnerstag(datum) { 
  var Do=new Date(); 
  Do.setTime(datum.getTime() + (3-((datum.getDay()+6) % 7)) * 86400000); 
  return Do; 
} 
// FUNKTIONEN ENDE 

trace(kalenderwoche("01.01.2006")); // Ergibt korrekt 52 
trace(kalenderwoche()); //zeigt die aktuelle Kalenderwoche  




// Calzeichnen
function makeDays (pPosX,pPosY) {
	var t = 0;
	var spalten = 0;
	var reihen = 0;
	for (var i = 0; i < 40; i++) {
		this["Tag" + i].removeMovieClip();
	}
	for (var i = 0; i < tage+ersterTag; i++) {		
		if (i >= ersterTag) {
			t++;
			this.attachMovie ("TagClip", "Tag" + i, i);		
			this["Tag" + i].num = t;		
			this["Tag" + i]._x = pPosX + spalten * this["Tag" + i]._width;
			this["Tag" + i]._y = pPosY + reihen * this["Tag" + i]._height;
		} 
		if (t == aktTag && aktMonat == monat && aktJahr == jahr) this["Tag" + i].gotoAndStop(2);
		spalten++;
		if (spalten == 7) {
			spalten = 0;
			reihen++;
		}		
	}	
}

// Calaktualisieren
function setzeCal() {
	ersterTag = new Date(jahr,monat,0).getDay();
	tage =datum.getMonthDays(jahr,monat);
	monattxt = datum.getMonthName(monat);
	jahrtxt = jahr;
	schaltjahr = datum.getMonthDays(jahr,1);
	schaltjahrtxt = (schaltjahr == 29) ? "Schaltjahr" : "";
	makeDays(8,20);	
}

// Ausführen
setzeCal(0,50);

// Schalter (Monate)
weiter_btn.onRelease = function() {
		if (monat < 11) monat++;
		setzeCal()
}

zuruck_btn.onRelease = function() {
		if (monat > 0) monat--;
		setzeCal();
}

// Schalter (Jahre)
weiterj_btn.onRelease = function() {
		jahr++;
		setzeCal()
}

zuruckj_btn.onRelease = function() {
		jahr--;
		setzeCal();
}

// MinMax Schalter
minmax_btn.onRelease = function() {
	minsignal = !minsignal;
	if (minsignal) {
		gotoAndStop(3);		
	} else {
		gotoAndStop(2);
		
	}
	fslogo_mc._visible = 0;
	weiter_btn.enabled = true;
	zuruck_btn.enabled = true;
	weiterj_btn.enabled = true;
	zuruckj_btn.enabled = true;
}

// Credits Schalter
fslogo_mc._visible = 0;

fslogo_btn.onPress = function() {
	fslogo_mc._visible = !fslogo_mc._visible;
	weiter_btn.enabled = !weiter_btn.enabled;
	zuruck_btn.enabled = !zuruck_btn.enabled;
	weiterj_btn.enabled = !weiterj_btn.enabled;
	zuruckj_btn.enabled = !zuruckj_btn.enabled;
}
Danke!
Angehängte Grafiken
Dateityp: png kalender.png (119,3 KB, 15x aufgerufen)
Angehängte Dateien
Dateityp: swf kalextend.swf (13,4 KB, 8x aufgerufen)
namika ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu Flashstar XML Kalender v1.2 sammybee Flash mit XML und Webservices 13 06-04-2007 11:02
flashstar kalender Daniel W. Flash Einsteiger 2 14-03-2007 13:59
probleme bei flashstar kalender la-nightlife.de Flash Einsteiger 2 09-10-2006 22:46
Kalender von Flashstar olai.com Flash 8 3 04-10-2006 07:21
Umlaute und Sonderzeichen/ flashstar Kalender speedhugo Flash Einsteiger 2 29-09-2006 18:59


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele