begin process at 2012 05 26 03:40:29
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date & heure

 > CALENDRIER DYNAMIQUE (AU MOINS UN P'TIT PEU)

CALENDRIER DYNAMIQUE (AU MOINS UN P'TIT PEU)


 Information sur la source

Note :
5,63 / 10 - par 8 personnes
5,63 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date & heure Niveau :Débutant Date de création :05/04/2004 Date de mise à jour :06/04/2004 17:48:09 Vu / téléchargé :22 849 / 4 047

Auteur : SuperDevy

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Un calendrier simple et réexploitable facilement.
    Utilise l'objet Date pour repèrer le nombre de jour dans chaque mois et les années bisextiles. (c'est vraiment très complexe le calcul d'une date !)

(Flash MX 6.0)

Source

  • NomMoisTable = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre");
  • Ox = CadreCalendrier._x+10;
  • Oy = CadreCalendrier._y+10;
  • function AffichageCalendrier(f_mois, f_année) {
  • //suppression du mois précédent
  • for (i=1; i<=31; i++) {
  • eval("NumeroJour"+i).removeTextField();
  • }
  • //adaptation (personnel) {1..12} --> {0..11}
  • //en réalité on note de 1 à 12 ; mais ici, on note de 0 à 11 ! (allez savoir pourquoi)
  • f_mois--;
  • //création de l'objet date
  • DateAffichée = new Date();
  • f_semaine = 1;
  • i = 1;
  • NumeroJour = i;
  • while (NumeroJour == i) {
  • //définition de la date
  • DateAffichée.setUTCFullYear(f_année, f_mois, i);
  • NumeroJour = DateAffichée.getUTCDate();
  • NomJour = DateAffichée.getUTCDay();
  • NomJour = (NomJour == 0) ? (7) : NomJour;
  • if (NomJour == 1 and i != 1) {
  • f_semaine++;
  • }
  • X = Ox+20*(NomJour-1);
  • Y = Oy+20*(f_semaine-1);
  • //Objets texte affichant le numéro du jour : NumeroJour
  • _root.createTextField("NumeroJour"+i, i*10, X, Y, 20, 20);
  • with (eval("NumeroJour"+i)) {
  • border = true;
  • borderColor = "0x333333";
  • background = true;
  • backgroundColor = "0xD0D0D0";
  • selectable = false;
  • html = true;
  • if (f_mois == Today.getMonth() and NumeroJour == Today.getDate() and f_année == Today.getFullYear()) {
  • NumeroJour = "<b>"+NumeroJour;
  • backgroundColor = "0xFF9999";
  • }
  • htmltext = "<P ALIGN='center'>"+NumeroJour;
  • }
  • //seulement pour la boucle
  • i++;
  • DateAffichée.setUTCFullYear(f_année, f_mois, i);
  • NumeroJour = DateAffichée.getUTCDate();
  • }
  • NomMois = NomMoisTable[f_mois];
  • }
  • //Date d'aujoud'hui
  • Today = new Date();
  • mois = Today.getMonth()+1;
  • année = Today.getFullYear();
  • AffichageCalendrier(mois, année);
  • //Changement de mois
  • _root.MoisSuivant.onRelease = function() {
  • if (mois == 12) {
  • mois = 1;
  • année++;
  • } else {
  • mois++;
  • }
  • AffichageCalendrier(mois, année);
  • };
  • _root.MoisPrécédant.onRelease = function() {
  • if (mois == 1) {
  • mois = 12;
  • année--;
  • } else {
  • mois--;
  • }
  • AffichageCalendrier(mois, année);
  • };
NomMoisTable = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre");
Ox = CadreCalendrier._x+10;
Oy = CadreCalendrier._y+10;
function AffichageCalendrier(f_mois, f_année) {
	//suppression du mois précédent
	for (i=1; i<=31; i++) {
		eval("NumeroJour"+i).removeTextField();
	}
	//adaptation (personnel) {1..12} --> {0..11}
	//en réalité on note de 1 à 12 ; mais ici, on note de 0 à 11 ! (allez savoir pourquoi)
	f_mois--;
	//création de l'objet date
	DateAffichée = new Date();
	f_semaine = 1;
	i = 1;
	NumeroJour = i;
	while (NumeroJour == i) {
		//définition de la date
		DateAffichée.setUTCFullYear(f_année, f_mois, i);
		NumeroJour = DateAffichée.getUTCDate();
		NomJour = DateAffichée.getUTCDay();
		NomJour = (NomJour == 0) ? (7) : NomJour;
		if (NomJour == 1 and i != 1) {
			f_semaine++;
		}
		X = Ox+20*(NomJour-1);
		Y = Oy+20*(f_semaine-1);
		//Objets texte affichant le numéro du jour : NumeroJour
		_root.createTextField("NumeroJour"+i, i*10, X, Y, 20, 20);
		with (eval("NumeroJour"+i)) {
			border = true;
			borderColor = "0x333333";
			background = true;
			backgroundColor = "0xD0D0D0";
			selectable = false;
			html = true;
			if (f_mois == Today.getMonth() and NumeroJour == Today.getDate() and f_année == Today.getFullYear()) {
				NumeroJour = "<b>"+NumeroJour;
				backgroundColor = "0xFF9999";
			}
			htmltext = "<P ALIGN='center'>"+NumeroJour;
		}
		//seulement pour la boucle
		i++;
		DateAffichée.setUTCFullYear(f_année, f_mois, i);
		NumeroJour = DateAffichée.getUTCDate();
	}
	NomMois = NomMoisTable[f_mois];
}
//Date d'aujoud'hui
Today = new Date();
mois = Today.getMonth()+1;
année = Today.getFullYear();
AffichageCalendrier(mois, année);
//Changement de mois
_root.MoisSuivant.onRelease = function() {
	if (mois == 12) {
		mois = 1;
		année++;
	} else {
		mois++;
	}
	AffichageCalendrier(mois, année);
};
_root.MoisPrécédant.onRelease = function() {
	if (mois == 1) {
		mois = 12;
		année--;
	} else {
		mois--;
	}
	AffichageCalendrier(mois, année);
};

 Conclusion

C'est la première étape de la création d'un agenda dynamique Flash+PHP+MySQL.
A suivre ...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip TREE AVEC RECHERCHE POUR AFFICHER UN XML.
Source avec Zip RETARDER L'EXECUTION D'UNE FONCTION
Source avec Zip COMPOSANTS POUR NON-PROGAMMEUR
Source avec Zip VOITURE INTELLIGENTE :: OPTIMISATION DE TRAJECTOIRE
Source avec Zip Source avec une capture BONNE TENUE DE ROUTE POUR CES VOITURES.

 Sources de la même categorie

Source avec Zip Source avec une capture 2 HORLOGES NUMÉRIQUES FLASH AS3 par captainpat
Source avec Zip INTERFACE D'ADMINISTRATION POUR CALENDRIER ÉVÉNEMENTIEL - FL... par FleuryK
Source avec Zip Source avec une capture HORLOGE NOIR HORROR par free4mix
Source avec Zip Source avec une capture HORLOGE SPATIALE par flyvallej
Source avec Zip Source avec une capture HORLOGE ANALOGIQUE STYLE VISTA par mohshow

Commentaires et avis

Commentaire de top30 le 05/04/2004 21:56:47

C est correcte.. T esur la bonne voie de la progr ! 6/10 !

Commentaire de individis-bis le 06/04/2004 11:21:54

Dynamique oui si l'on veut... pour la création du calendrier c'est sûr... mais ensuite..? on en fait quoi..? afficher la date du jour.. c'est tout ?. Bof pas très utile...
Le composant JMEventsCalendar qu'on trouve sur le web permet d'associer des textes par xml à chaque clic sur une date.

J'ai aussi vu par JeanLouis Legal sur le site FlashFrance un calendrier codé qui associe les Saint du jour, et les événements importants correspondants à chaque jour de l'année. Ca c'est vraiment utile pour un calendrier d'événements par exemple.

Si tu as du temps et l'envie fait quelque chose dans ce genre et ce sera vraiment dynamique et utile (ceci pour le titre de ta source un peu mensonger à mon avis).
Mais sinon c bien. 5/10

Commentaire de SuperDevy le 06/04/2004 17:18:39

  Comme je l'ai noté, ce calendrier n'est que la première étape de la création d'un agenda vraiment dynamique ... Je l'ai postée ici pour faire gagner du temps à ceux qui, éventuellement, aurait besoin d'un tel composant.

  J'ai remarqué un petit hic (bug) : le premier jour de la semaine est le dimanche. il faut que je décalle toutes les cases du calendrier. (tout ça, c'est à cause des GB qui font rien comme nous !)

  Merci à individis-bis pour l'appreciation qu'il a fait de ma source. Pour une fois que je poste quelquechose qui a de la geule et un minimum d'interêt...

Commentaire de kingcobra le 11/04/2004 10:46:31

mouhai pas mal mais va voir le mien je prefere ;)

Commentaire de zefranck le 08/05/2005 16:41:30

Voilà une bonne base pour s'éviter le dev' du placement des numéros, du calcul des dates (même s'il y a une petite rustine pour le calcul du mois...).

Ensuite, pour le rendre "dynamique", ajouter des effets visuels, faire en sorte que les numéros soient cliquables etc... c'est l'affaire de 2 ou 3h de plus.

Merci quoi :)

Commentaire de gyome314 le 02/12/2005 12:00:57

Je suis d'ccord, parfaite base pour faire quelque chose de dynamique avec insertion d'événements, etc...

C'est exactement ce que je cherchais, merci, je vais gagner du temps ;)

Commentaire de pat10be le 21/03/2006 02:39:47

c'est juste ce que je cherchais, merci, je gagnerai du temps.
mais j'ai quant même un ti problème, comment change-t-on la police et sa couleur dans la grille du bas?
désolé çà va peut-être semble stupide comme question, mais je suis vraiment nul en AS.
si quelqu'un pouvais m'aider...
merci d'avance

Commentaire de neo80300 le 29/09/2006 15:37:22

je confirme, c'est une très bonne base pour travailler sur l'insertion d'événement particulier.... ton petit prog tourne parfaitement.... pour une première tentative, je trouve que ça le fait carrément!
Félicitations....

SEB

Commentaire de rporuiruiouze le 13/02/2007 23:40:03

C très cool
J'avais la flemme de ressortir un algo que j'ai fouré je sais plu où
Ton calendar est très très sympa
Parce qu'ill est tellement simple qu'on peux facilement l'adapter à ses besoins

Merci
A++

Commentaire de javaismontic le 15/01/2010 03:41:54

MERCI POUR CETTE APPLICATION

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales